ログ・ストリーミングでのベクトルの使用

Vectorサービスを使用すると、Private Cloud Applianceのロギング情報をLokiから指定した外部の場所に送信できます。

Private Cloud Applianceソフトウェア・バージョン3.0.2-b1261765以降、Vectorはデフォルトでアプライアンスにインストールされ、構成され、有効化されます。

必要なデータおよびデータの送信先を指定するには、rootユーザーとして現在アクティブな管理ノードにサインインし、Vector構成ファイルをカスタマイズします。このファイルは/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にログを送信するには、splunk-hec-tokenが必要です。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サイトkubectl logsを参照してください。

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