システム・ログ・データの表示

ログはシステム全体から収集され、Lokiに集計されます。

Grafana問合せの参照の使用

システム・ログ・データは、Grafana探索問合せを使用して問合せ、フィルタおよび表示できます。

Lokiログ

Lokiは、ラベルを使用してログ・メッセージを分類します。 問合せはラベルを指定し、Lokiは問合せの選択内容に一致するサービスおよびアプリケーション・ログ・メッセージを表示します。

ラベルは、キーと値のペアです。 次の手順を使用して、問合せのラベルを選択します。

  1. Grafanaホーム・ページを開きます。

  2. 「探索」ペインを開きます。

    ページの左側にある垂直メニュー・バーで、「探索」(コン・パス・アイコン)をクリックします。

  3. Lokiデータを問い合せるには、「探索」タイトルの右側にあるページの上部にある「データ・ソースの探索」メニューからLokiを選択します。

    Loki問合せオプションが表示されます。 たとえば、ログ・ブラウザ・メニューがページの上部に表示されます。

  4. ログを問い合せてフィルタ処理します。

    次のメソッドは似ています。 どちらのメソッドでも、リストからラベルと値を選択できます。 2つ目のメソッドでは、1つの問合せに対して複数のラベルおよび複数の値をより簡単に選択できます。

    問合せを作成したら、履歴リストから同じ問合せを再度選択できます。

その他の問合せオプション:

  • 問合せの追加 「問合せの追加」ボタンをクリックして別の問合せを作成し、すべての個別の問合せの結果を同じタイムラインとメッセージ・リストにまとめて表示します。

  • 問合せ履歴 以前に実行された問合せを実行するか、問合せをコピーまたは削除するか、問合せにコメントを追加するか、または星付きボタンを使用して星付き問合せのみをリストできるように問合せに星を付けます。 問合せ履歴リストの上部に検索文字列を入力してリストをフィルタ処理し、リストの並べ替え方法を選択できます。

  • 繰返し実行。 「問合せの実行」ボタンの矢印をクリックし、メニューから間隔を選択します。 繰返し実行を停止するには、メニューの上部にある「オフ」を選択します。

タイムラインは、「エクスプローラ」ペインの「ログ・ブラウザ」セクションの下に表示されます。 タイムラインの下に、問合せに一致するログ・メッセージが表示されます。

メッセージは、タイムラインとメッセージ・リストの両方で色分けされ、メッセージが情報、警告、エラーなどのいずれであるかを示します。

「問合せタイプ」ボタンを使用して、一定期間または1つの時点での結果の表示を選択します。 ページの上部にある範囲ボタン(時計アイコンを参照)を使用して、範囲を設定します。

タイムラインの一部を選択してズーム・インし、少量のデータにフォーカスします。 ズーム・アウトするには、ページ上部の範囲ボタンの横にある虫めがねボタンを使用します。

メッセージ・リストで、メッセージのタイムスタンプの左側にある矢印をクリックすると、そのメッセージに一致するすべてのラベルが表示されます。 次に、プラス+虫眼鏡アイコンをクリックしてそのラベルを問合せ結果に追加するか、マイナス-虫眼鏡アイコンをクリックしてそのラベルを問合せ結果から削除できます。 入力した問合せが変更されたことを確認します。

テキスト・フィールドへの問合せの入力

  1. 「ログ」ブラウザ・ボタンの右側にあるテキスト・フィールドに、開きカッコの{文字を入力します。

    閉じられた中括弧が自動的に追加され、ラベルのリストがポップアップします。

  2. リストからラベルを選択します。

    リストをスクロールしてすべてのラベルを表示するか、ラベル名を入力してリストをフィルタできます。

    選択したラベルがテキスト・フィールドの問合せに挿入され、等号が追加され、そのラベルの値リストがポップアップ表示されます。

  3. リストから値を選択します。

    リストをスクロールしてすべての値を表示するか、値名を入力してリストをフィルタできます。

    選択した値が引用符の中に挿入されます。

  4. 問合せ結果をさらにフィルタする場合は、カンマを入力します。

    ラベルのリストが再度ポップアップし、ラベルを選択したあとに値リストが続きます。

  5. 問合せを実行します。

    Shift+Enterと入力するか、ペインの右上隅にある「問合せの実行」ボタンをクリックします。

    タイムラインおよびログ・メッセージは、問合せ作成オプションの下に表示されます。

複雑な問合せをより簡単に作成

「Log Browser」ボタンをクリックして、ボタンの矢印が下向きになるようにします。

問合せビルダーは次のステップとともに表示されます:

  1. ラベルの選択

    ステップ1では、各ボタンにラベル名が付いたボタンの行が表示されます。 これらのラベル・ボタンのいずれかをクリックすると、ステップ2の下にリストが表示され、そのラベルの値が表示されます。

    複数のラベル・ボタンをクリックできます。 別のラベル・ボタンをクリックすると、新しいラベルの値リストがステップ2の下の最初の値リストとともにポップアップ表示されます。

    すでに選択されているラベル・ボタンをクリックすると、そのラベルが問合せから削除されます。

  2. 選択したラベルの値を選択します。

    ステップ2は、ステップ1で選択した各ラベルの値リストを示しています。 リストをスクロールしてすべての使用可能な値を表示する必要がある場合や、検索フィールドに値名を入力してすべての値リストをフィルタできます。

    あるリストから値を選択すると、一部の値が別のリストから削除される場合があります。

    特定のリストから複数の値を選択できます。 すでに選択されている値を選択すると、その値が問合せから削除されます。

    値を選択または選択解除すると、問合せが作成され、ステップ3に表示されます。

  3. 問合せ結果を表示します。

    ステップ3の「ログの表示」ボタンをクリックします。

    タイムラインおよびログ・メッセージは、問合せ作成オプションの下に表示されます。

    完了した問合せが「ログ」ブラウザ・ボタンの右側のフィールドに表示されます。 ログ・ブラウザ・フィールドで問合せを編集し、問合せを実行ボタンをクリックして新しい結果を表示できます。

監査ログ

監査ログは、個別のカテゴリとして参照できます。 ログ・ブラウザのリストから、次の監査ラベルを選択できます。 「Lokiログ」で説明されているように、テキスト・フィールドに次のリストに示されている問合せを入力するか、「ログ・ラベル」リストからjobまたはlogを選択し、次のリストに示されている値のいずれかを選択します。 このリストの直後のカスタム問合せの例も参照してください。

  • job="vault-audit"

    このログ・ラベルを使用して、ボールト・クラスタの監査ログをフィルタします。 シークレット・サービスのキー・コンポーネントであるボールトは、すべてのリクエストおよびレスポンスの詳細なログを保持します。 認証されたすべてのボールトとの相互作用(エラーを含む)を表示できます。 これらのログには機密情報が含まれているため、秘密情報が監査ログでプレーン・テキストで表示されないように、リクエストおよびレスポンス内の多くの文字列がハッシュされます。

  • job="kubernetes-audit"

    このログ・ラベルを使用して、Kubernetesクラスタの監査ログをフィルタします。 Kubernetes監査ポリシーは、リクエスト・メタデータをログに記録するように構成されます: ユーザー、タイム・スタンプ、リソース、動詞などのリクエスト・リクエスト本文およびレスポンス本文は監査ログには含まれません。

  • job="audit"

    このログ・ラベルを使用して、Oracle Linuxカーネル監査デーモンのログをフィルタします。 カーネル監査デーモン(auditd)は、Linux監査システムのユーザー空間コンポーネントです。 システム・ログイン、アカウントの変更、sudo操作などの特定のイベントを取得します。

  • log="audit"

    このログ・ラベルを使用して、ZFS Storage Applianceの監査ログをフィルタします。

リストのログ・ラベルを使用する以外に、カスタム問合せを作成することもできます。 たとえば、管理サービスおよびAPIサービスの監査ログをフィルタするには、ログ・ブラウザのテキスト・フィールドに次の問合せを入力します:

{job=~"(admin|api-server)"} | json tag="tag" | tag=~"(api-audit.log|audit.log)"

実行するには、Shift+Enterと入力するか、「探索」ペインの右上隅にある「問合せの実行」ボタンをクリックします。

LBaaSログ

Load Balancer as a Service (LBaaS)ログは、個別のカテゴリとして参照できます。 ログ・ブラウザのリストから、次の監査ラベルを選択できます。 「Lokiログ」で説明されているように、テキスト・フィールドに次のリストに示されている問合せを入力するか、「ログ・ラベル」リストからjobまたはlogを選択し、次のリストに示されている値のいずれかを選択します。

  • job="pca-lbctl"

    このログ・ラベルを使用して、ロード・バランサ・コントローラ・ログをフィルタします。 処理中のすべてのクライアント・リクエストを表示できます。 これらのログにはAPIパラメータが含まれ、該当する場合はエラーの詳細が含まれます。

  • job="pcalbmgr"

    このログ・ラベルを使用して、ロード・バランサ・インスタンス(マネージャ)のログをフィルタします。 処理中のすべてのリクエストを表示できます。 これらのログには、主にロード・バランサの構成と管理が含まれます。

リストのログ・ラベルを使用する以外に、カスタム問合せを作成することもできます。 たとえば、コントローラとマネージャのログを一緒に表示できます:

{job=~"pca-lbctl|pca-lbmgr"}

実行するには、Shift+Enterと入力するか、「探索」ペインの右上隅にある「問合せの実行」ボタンをクリックします。

「ベクトル」サービスの使用

「ベクトル」サービスを使用して、必要な情報をLokiから指定した外部のロケーションに送信できます。

Private Cloud Applianceリリース3.0.2-b1261765以降、「ベクトル」は、デフォルトでアプライアンスにインストール、構成および有効化されます。

必要なデータおよびデータの送信先を指定するには、現在アクティブな管理ノードにrootユーザーとしてログインし、「ベクトル」構成ファイルをカスタマイズします。

「ベクトル」構成ファイルは、管理ノードの次のロケーションにあります:

/nfs/shared_storage/log_streaming/pca_vector.yaml

構成ファイルを編集して、sinksセクションをカスタマイズします。 「ベクトル」 「シンク参照」を参照してください。 次に、サンプルのpca_vector.yamlファイルを示します:

# Copyright (c) 2024, Oracle and/or its affiliates.

# DO NOT TURN API OFF
# otherwise livenessProbe will fail
api:
  enabled: true
  # Bind to 0.0.0.0. Otherwise the API will not be exposed outside the container.
  address: "0.0.0.0:8686"

sources:
  fluentd_source:
    type: fluent
    address: "0.0.0.0:8080"
    mode: tcp
    encoding:
      codec: json

transforms:
  log_event:
    type: remap
    inputs:
      - fluentd_source
    source: |
      log(.)

sinks:
  loki_sink:
    type: loki
    inputs:
      - fluentd_source
    endpoint: http://your_external_location:3100
    encoding:
      codec: json
    labels:
      job: "vector"
      namespace: "default"
      system: "pca_name.example.com"
      filename: "{{tag}}"

endpoint値で、your_external_locationにはIPアドレスまたはドメイン名を指定できます。 このロケーションでは、Grafanaをインストールするか、他のツールを使用してデータをフィルタ、操作および表示できます。

例に示されているfilenameラベルの値により、ソース・ログ・ファイルの名前がVector Loki Sinkの出力に表示されます。 その後、そのファイル名をLokiおよびGrafana内で検索するラベルとして使用できます。

次に、Splunkシンクの例を示します:

sinks:
  splunk_sink:
    type: splunk_hec_logs
    inputs:
      - source_id
    endpoint: https://splunk_endpoint
    token: splunk-hec-token
    encoding:
      codec: json
    tls:
      ca_file: "/path/to/ca.pem"

splunk-hec-tokenは、ログをSplunkに送信するために必要です。 HTTPSを使用している場合、ca_fileはオプションです。 HTTPイベント・コレクタの詳細、およびSplunkの構成および使用方法については、「Splunkのドキュメント」を参照してください。

次のコマンドは、ログ・ストリーミング・ポッド(「ベクトル」サービス)のステータスをレポートします:

# kubectl get pods -n log-streaming
NAME                           READY   STATUS    RESTARTS   AGE
log-streamer-bc4d65d78-ndrsk   1/1     Running   0          14d

次のコマンドは、コンテナが1つのみのlog-streamer-bc4d65d78-ndrskポッドからのログを出力します。 kubectl logsコマンドの詳細は、kubernetes.ioサイトの「kubectlログ」を参照してください。

# kubectl logs log-streamer-bc4d65d78-ndrsk -n log-streaming