4.17. OpenShift Logging Operator を使用したパイプラインログの表示

パイプライン実行、タスク実行、およびイベントリスナーによって生成されるログは、それぞれの Pod に保存されます。トラブルシューティングおよび監査に関するログの確認や分析は有用です。

ただし、Pod を無期限に保持すると、リソースを無駄に消費したり、namespace が不必要に分散されたりする可能性があります。

Pod の依存関係を削除して、パイプラインログを表示するには、OpenShift Elasticsearch Operator および OpenShift Logging Operator を使用できます。これらの Operator を使用すると、ログを含む Pod を削除した場合でも、Elasticsearch Kibana スタックを使用してパイプラインログを表示できます。

4.17.1. 前提条件

Kibana ダッシュボードでパイプラインログを表示しようとする前に、以下を確認してください。

  • クラスター管理者がこの手順を実行する。
  • パイプライン実行およびタスク実行のログが利用可能である。
  • OpenShift Elasticsearch Operator および OpenShift Logging Operator がインストールされている。

4.17.2. Kibana でのパイプラインログの表示

Kibana Web コンソールでパイプラインログを表示するには、以下を実行します。

手順

  1. クラスター管理者として OpenShift Container Platform Web コンソールにログインします。
  2. メニューバーの右上にある グリッド アイコン → ObservabilityLogging をクリックします。Kibana Web コンソールが表示されます。
  3. インデックスパターンを作成します。

    1. Kibana Web コンソールの左側のナビゲーションパネルで Management をクリックします。
    2. Create index pattern をクリックします。
    3. ステップ 1/2: Define index patternIndex pattern で、* のパターンを入力して Next Step をクリックします。
    4. ステップ 2/2: Configure settingsTime filter field name で、ドロップダウンメニューから @timestamp を選択し、Create index pattern をクリックします。
  4. フィルターを追加します。

    1. Kibana Web コンソールの左側のナビゲーションパネルで Discover をクリックします。
    2. Add a filter +Edit Query DSL をクリックします。

      注記
      • 以下のフィルター例の例ごとに、クエリーを編集して Save をクリックします。
      • フィルターは順次、適用されます。
      1. パイプラインに関連するコンテナーをフィルタリングします。

        パイプラインコンテナーをフィルタリングするクエリーの例

        {
          "query": {
        	"match": {
          	"kubernetes.flat_labels": {
            	"query": "app_kubernetes_io/managed-by=tekton-pipelines",
            	"type": "phrase"
          	}
        	}
          }
        }

      2. place-tools コンテナーではないすべてのコンテナーをフィルタリングします。クエリー DSL を編集する代わりに、グラフィカルドロップダウンメニューを使用する例として、以下の方法を考慮してください。

        図4.6 ドロップダウンフィールドを使用したフィルタリングの例

        Not place-tools
      3. 強調表示できるように pipelinerun をラベルでフィルタリングします。

        強調表示できるように pipelinerun をラベルでフィルタリングするクエリーの例

        {
          "query": {
        	"match": {
          	"kubernetes.flat_labels": {
            	"query": "tekton_dev/pipelineRun=",
            	"type": "phrase"
          	}
        	}
          }
        }

      4. 強調表示できるように pipeline をラベルでフィルタリングします。

        強調表示できるように pipeline をラベルでフィルタリングするクエリーの例

        {
          "query": {
        	"match": {
          	"kubernetes.flat_labels": {
            	"query": "tekton_dev/pipeline=",
            	"type": "phrase"
          	}
        	}
          }
        }

    3. Available fields リストから以下のフィールドを選択します。

      • kubernetes.flat_labels
      • message

        選択したフィールドが Selected fields リストに表示されていることを確認します。

    4. ログは message フィールドの下に表示されます。

      図4.7 フィルタリングされたメッセージ

      フィルタリングされたメッセージ

4.17.3. 関連情報