Observability Pipelines を使用して BYOC Logs にログを送信してください。
This product is not supported for your selected
Datadog site. (
).
概要
Observability Pipelines は、Datadog Agent と BYOC (Bring Your Own Cloud) Logs の間に柔軟な中間層を提供し、ログが BYOC Logs デプロイメントに到達する前に処理、変換、ルーティングできるようにします。Datadog Agent からログを受信し、BYOC Logs に転送するように Observability Pipelines を構成します。
オンプレミスのデータセンターとクラウド間でログが分割されているハイブリッド環境の場合は、オンプレミスのデータセンターに Observability Pipelines Worker をデプロイし、BYOC Logs をホストする AWS データセンターにそれらのログをルーティングするように構成します。その後、BYOC Logs は標準のインジェストパスを通じて転送されたログを収集します。注: このパターンには既存のクラウドフットプリントが必要であり、完全にオンプレミスで実行される環境はサポートされていません。
このセットアップを構成するには、次のようにします。
- パイプラインの作成と構成 - Observability Pipelines UI でパイプライン構成(収集する、プロセッサ、送信先)を定義します。これにより、Worker が使用するパイプライン定義が作成されます。
2. Observability Pipelines Worker のデプロイ - パイプライン構成を使用して Worker をインストールします。Agent が接続する前に、Worker が実行され、ログをリッスンしている必要があります。
- Datadog Agent の構成 - デプロイされた Worker にログを送信するように Agent を設定します。Agent が Worker のアドレスを利用できる必要があるため、このステップを最後に行う必要があります。
- Observability Pipelines に移動します。
- Log Volume Control テンプレート を選択します。
- パイプラインをセットアップします。
- Datadog Agent ソース を選択します。
- パイプラインからデフォルトのプロセッサをすべて削除します。
- Datadog BYOC Logs 送信先を選択して、BYOC Logs インスタンスにログを転送します。設定は空のままにします。
Observability Pipelines をデプロイします
UIでパイプラインを作成した後、Observability Pipelines Workerをデプロイします。Observability Pipelines Workerはパイプライン設定を実行し、Datadog Agentからのログをリッスンします。
以下のHelmコマンドはObservability Pipelines Workerをインストールまたはアップグレードし、ログをリッスンしてBYOC Logsインデクサーに転送するように設定します。
注: 前のステップで作成したパイプラインの pipelineId が必要です。このIDは、Observability Pipelines Workerとパイプライン設定をリンクさせるものです。
helm upgrade --install opw \
-f values.yaml \
--set datadog.apiKey=XXXXXXX \
--set datadog.pipelineId=XXXXXXX \
--set env[0].name=DD_OP_SOURCE_DATADOG_AGENT_ADDRESS,env[0].value='0.0.0.0:8282' \
--set env[1].name=DD_OP_DESTINATION_CLOUDPREM_ENDPOINT_URL,env[1].value='http://<RELEASE_NAME>-indexer.<NAMESPACE_NAME>.svc.cluster.local:7280' \
--set service.ports[0].name=dd-op-source-datadog-agent-address-port,service.ports[0].protocol=TCP,service.ports[0].port=8282,service.ports[0].targetPort=8282 \
datadog/observability-pipelines-worker
1分ほど経過したら、ログがパイプラインを通過し、BYOC Logs の送信先に到達していることを確認します。これは、Observability Pipelines Workerが実行中でログを受信する準備が整っていることを示しており、Agentの設定に進むことができます。
Observability Pipelines Workerのデプロイと実行が完了したら、Datadog Agentがログを送信するように設定します。Agentは、Observability Pipelines Workerのサービスアドレスを使用してObservability Pipelines Workerに接続します。詳細については、Connect the Datadog Agent to the Observability Pipelines Workerを参照してください。
Datadog Agentの設定を更新して、Observability Pipelines Workerにログを送信するようにします。
apiVersion: datadoghq.com/v2alpha1
kind: DatadogAgent
metadata:
name: datadog
spec:
global:
clusterName: your-cluster
site: datadoghq.com
credentials:
apiSecret:
secretName: datadog-secret
keyName: api-key
env:
- name: DD_OBSERVABILITY_PIPELINES_WORKER_LOGS_ENABLED
value: "true"
- name: DD_OBSERVABILITY_PIPELINES_WORKER_LOGS_URL
value: "http://observability-pipelines-worker:8282"
features:
logCollection:
enabled: true
containerCollectAll: true
検証
ログがパイプラインを通過していることをチェックしてください。
# Check Observability Pipelines worker status
kubectl get pods -l app=observability-pipelines-worker
# Check worker logs
kubectl logs -l app=observability-pipelines-worker
# Verify logs are reaching BYOC Logs
kubectl exec -it <RELEASE_NAME>-searcher-0 -n <NAMESPACE_NAME> -- curl 'http://localhost:7280/api/v1/datadog/search?query='
参考資料