- はじめに
- エージェント
- インテグレーション
- Watchdog
- イベント
- ダッシュボード
- モバイルアプリケーション
- インフラストラクチャー
- サーバーレス
- メトリクス
- ノートブック
- アラート設定
- APM & Continuous Profiler
- CI Visibility
- RUM & セッションリプレイ
- データベース モニタリング
- ログ管理
- セキュリティプラットフォーム
- Synthetic モニタリング
- ネットワークモニタリング
- 開発者
- API
- アカウントの管理
- データセキュリティ
- ヘルプ
Datadog Agent は Vector と組み合わせて使用することができます。このシナリオでは、Agent が Vector に データを送信し、そこで複数のアップストリーム Agent からのデータ集計を行います。
Agents -> Vector -> Datadog
Vector はデータを Datadog および他の宛先に送信する前に処理することができるため、このシナリオは プロキシを使用する場合とは異なります。Vector の機能は次の通りです。
注:
この構成には、Datadog Agent のバージョン 6.35 または 7.35 が必要です。
Vector にログを送信するには、Agent のコンフィギュレーションファイルである datadog.yaml
を更新してください。
vector:
logs.enabled: true
# Vector 側で TLS/SSL が有効になっている場合、プロトコルを https に調整します
logs.url: "http://<VECTOR_HOST>:<VECTOR_PORT>"
# Vector の v0.17.0 以前のバージョンを使用している場合は、以下の行をコメント解除します
# logs_config.use_v2_api: false
メトリクスについては、datadog.yaml
ファイル内の以下の値を更新します。
vector:
metrics.enabled: true
# Vector 側で TLS/SSL が有効になっている場合、プロトコルを https に調整します
metrics.url: "http://<VECTOR_HOST>:<VECTOR_PORT>"
VECTOR_HOST
は Vector を実行しているシステムのホスト名で、VECTOR_PORT
は Vector datadog_agent
ソースをリッスンしている TCP ポートです。
Docker を使用している場合は、Agent のコンフィギュレーションファイルに以下を追加します。
-e DD_VECTOR_METRICS_URL=http://<VECTOR_HOST>:<VECTOR_PORT>
-e DD_VECTOR_METRICS_ENABLED=true
-e DD_VECTOR_LOGS_URL=http://<VECTOR_HOST>:<VECTOR_PORT>
-e DD_VECTOR_LOGS_ENABLED=true
Datadog Agent からログやメトリクスを受信するには、Vector に datadog_agent source を構成します。Datadog にログを送信するには、Vector に少なくとも 1 つの datadog_logs sink を構成する必要があります。同様に、Datadog にメトリクスを送信するには、Vector に少なくとも 1 つの datadog_metrics シンクが構成されている必要があります。
Vector での処理中にログに適用できるコンフィギュレーションパラメーターや変換の一覧については、公式の Vector ドキュメントを参照してください。
ここでは、Vector Remap Language を使ってすべてのログとメトリクスにタグを追加するコンフィギュレーションの例をご紹介します。
sources:
datadog_agents:
type: datadog_agent
# ここで使用するポート値には、上記の <VECTOR_PORT> を設定する必要があります
address: "[::]:8080"
multiple_outputs: true # メトリクスとログを自動的に分離するために
transforms:
tag_logs:
type: remap
inputs:
- datadog_agents.logs
source: |
# ここで `!` の省略形は `string` 関数で使用され、
# .ddtags が "string" でない場合はエラーになります。
# .ddtags フィールドは、常に文字列であることが期待されます。
.ddtags = string!(.ddtags) + ",sender:vector"
tag_metrics:
type: remap
inputs:
- datadog_agents.metrics
source: |
.tags.sender = "vector"
sinks:
log_to_datadog:
type: datadog_logs
inputs:
- tag_logs
default_api_key: "${DATADOG_API_KEY_ENV_VAR}"
encoding:
codec: json
metrics_to_datadog:
type: datadog_metrics
inputs:
- tag_metrics
default_api_key: "${DATADOG_API_KEY_ENV_VAR}"
公式の Datadog チャートを使用して、上記の Agent コンフィギュレーションを agents.customAgentConfig
値に追加します。注: agents.customAgentConfig
を考慮するために、agent.useConfigMap
を true
に設定する必要があります。
Datadog Helm チャートの詳細については、Kubernetes ドキュメントを参照してください。
Vector では、Datadog のログソースがあらかじめ設定されたデータ集計用公式チャートを提供しています。Helm を使用した Vector のインストールについては公式の Vector ドキュメントを参照してください。
Datadog にログを送信するには、Vector の構成に datadog_logs
シンクを追加する必要があります。同様に、Datadog にメトリクスを送信するには、datadog_metrics
シンクを Vector の構成に追加する必要があります。Vector のチャートには、values.yaml
ファイルの customConfig
フィールドを使用して、任意の有効な Vector の構成を保持することができます。datadog_logs
を有効にするには、Vector の構成で説明したのと同じ種類の構成を、そのまま Vector のチャートの構成に含めることができます。
Vector に送信されたログやメトリクスは、変換のための Vector Remap Language を含むベクターの全機能の恩恵を受けることができます。
Datadog Agent から送信されたログは、Vector が受信すると、期待されるスキーマを使用して構造化されます。Datadog API を使用してログを送信する場合、完全なスキーマの説明については、API ドキュメントを参照してください。
Vector が他のソースから収集したログとメトリクスは高度な機能を使用して強化することができます。VRL でログとメトリクスを調整し、期待されるスキーマに従って関連するフィールドにデータを入力します。
お役に立つドキュメント、リンクや記事: