ログの収集とインテグレーション

概要

ログの取り込みを開始するには、下記の構成オプションを選択してください。すでに log-shipper デーモンを使用している場合は、RsyslogSyslog-ngNXlogFluentD、または Logstash の専用ドキュメントを参照してください。

ログを Datadog に直接送信する場合は、使用可能な Datadog ログ収集エンドポイントのリストを参照してください。

: Datadog に JSON 形式でログを送信する場合、Datadog 内で特定の意味を持つ予約済み属性のセットがあります。詳しくは、予約済み属性セクションをご覧ください。

セットアップ

  1. Datadog Agent をインストールする
  2. ログ収集を有効にするには、Agent のメイン構成ファイル (datadog.yaml) で logs_enabled: falselogs_enabled: true に変更します。詳細情報と例については、ホスト Agent ログ収集のドキュメントを参照してください。
  3. Datadog Agent を有効にすると、ログファイルの尾行または UDP/TCP 経由で送信されるログのリスニングログのフィルタリングまたは機密データのスクラビング複数行ログの集約を構成することができるようになります。
  1. Datadog Agent をインストールする
  2. ログ収集を有効にするには、Agent のメイン構成ファイル (datadog.yaml) で logs_enabled: falselogs_enabled: true に変更します。詳細情報と例については、ホスト Agent ログ収集のドキュメントを参照してください。
  3. アプリケーション言語のインストール手順に従い、ロガーを構成し、ログの生成を開始します。
Java
Python
go
Ruby
.Net
PHP
Node.js
Javascript
React Native
Android
ios
Flutter
Roku
Kotlin Multiplatform

コンテナまたはオーケストレーターのプロバイダーを選択し、そのプロバイダー専用のログ収集手順に従います。

Docker
Kubernetes
Red Hat OpenShift
Amazon ECS
ECS Fargate

:

Datadog にログを送信する AWS Lambda 関数である Datadog Forwarder を使用してください。AWS サーバーレス環境でのログ収集を有効にするには、Datadog Forwarder ドキュメントを参照してください。

以下からクラウドプロバイダーを選択して、ログを自動的に収集して Datadog に転送する方法を確認します:

Docker
Kubernetes
Amazon ECS
Oracle Cloud Infrastructure
Amazon ECS

Datadog のインテグレーションとログ収集は密接に関連しています。インテグレーションのデフォルト構成ファイルを使用して、Datadog で専用のプロセッサパース、およびファセットを有効にできます。インテグレーションでのログ収集を開始するには、次のようにします。

  1. インテグレーションページ]6からインテグレーションを選択し、セットアップの指示に従います。
  2. インテグレーションが提供するログ収集の手順に従います。このセクションでは、そのインテグレーションの conf.yaml ファイルにあるログセクションのコメントを外し、環境に合わせて構成する方法について説明します。

データ転送料金の削減

Datadog の Cloud Network Monitoring を使用して、組織の最高スループットアプリケーションを特定します。公共のインターネットを回避し、データ転送料金を削減するために、サポートされている非公開接続を介して Datadog に接続し、データを非公開ネットワーク経由で送信します。非公開リンクに切り替えた後、Datadog の Cloud Cost Management ツールを使用して影響を確認し、クラウドコストの削減をモニターします。

詳細については、データ転送料金を削減しながら Datadog にログを送信する方法をご覧ください。

カスタム Agent インテグレーションを開発している場合は、send_log メソッドを使用してAgent チェック内からプログラム的にログを送信できます。こうすることで、カスタムインテグレーションが、メトリクス、イベント、およびサービスチェックとともにログを出力できるようになります。

カスタム Agent チェックからログを送信する方法については、Agent インテグレーションのログ収集を参照してください。

追加のコンフィギュレーションオプション

ログエンドポイント

Datadog は、SSL 暗号化接続と非暗号化接続の両方のためのログエンドポイントを提供します。可能な限り暗号化されたエンドポイントを使用してください。Datadog Agent は、Datadog にログを送信するために暗号化されたエンドポイントを使用します。詳細については、Datadog セキュリティのドキュメントを参照してください。

サポートされるエンドポイント

ページの右側にあるサイトセレクターのドロップダウンを使用して、Datadog サイトごとにサポートされているエンドポイントを確認できます。

サイトタイプエンドポイントポート説明
HTTPS443HTTPS 経由で JSON またはプレーンテキスト形式のログを送信するためにカスタムフォワーダーが使用。ログ HTTP API ドキュメントを参照してください。
HTTPS443Agent が HTTPS 経由で JSON 形式のログを送信するために使用します。ホスト Agent ログ収集のドキュメントを参照してください。
HTTPS443Lambda 関数が HTTPS 経由で未加工、Syslog、または JSON 形式のログを送信するために使用します。
HTTPSlogs.443Browser SDK が HTTPS 経由で JSON 形式のログを送信するために使用します。

カスタムのログ転送

HTTP でログを転送できるカスタムプロセスまたはロギングライブラリを、Datadog ログと併用できます。

HTTP 経由で Datadog プラットフォームにログを送信できます。まず、Datadog ログ HTTP API ドキュメントを参照してください。

:

  • HTTPS API は最大 1MB のサイズのログをサポートしています。ただし、最適なパフォーマンスのために、個々のログは 25K バイトを超えないことを推奨します。Datadog Agent を使用してログを記録する場合、900kB (900000 バイト) でログを分割するように設定されています。
  • 1 つのログイベントに付けられるタグは 100 個以下にしてください。1 日あたり最大 1,000 万個の一意のタグを使えるように、各タグは 256 文字にしてください。
  • JSON 形式に変換されたログイベントに含まれる属性は、256 未満になるようにしてください。これらの各属性のキーは 50 文字未満、ネストは連続 20 レベル未満にしてください。ファセットに昇格した場合、それぞれの値は 1024 文字未満にしてください。
  • ログイベントは、過去 18 時間までのタイムスタンプを付けて送信できます。
プレビューが利用可能: 現在の 18 時間の制限を超えて、過去 7 日間のログを送信できます。プレビューに登録します

これらの制限を守らないログイベントは、システムによって変換または切り捨てられる場合があります。指定されている時間範囲外の場合はインデックス化されない可能性があります。しかし、Datadog は可能な限り多くのユーザーデータを保持しようとします。

インデックス化されたログにのみ適用されるフィールドの切り捨てがさらにあります。メッセージフィールドは 75 KiB に、非メッセージフィールドは 25 KiB に切り捨てられます。Datadog は依然として全文を保存しており、ログエクスプローラーの通常のリストクエリでは表示されます。ただし、切り捨てられたバージョンは、切り捨てられたフィールドでログをグループ化するとき、またはその特定のフィールドを表示する同様の操作を実行するときなど、グループ化されたクエリを実行するときに表示されます。

TCP log collection is not supported. Datadog provides no delivery or reliability guarantees when using TCP, and log data may be lost without notice. For reliable ingestion, use the HTTP intake endpoint, an official Datadog Agent, or forwarder integration instead. For more information, see Log Collection.
サイトタイプエンドポイントポート説明
米国TCPagent-intake.logs.datadoghq.com10514Agent が TLS を使わずにログを送信するために使用します。
米国TCP と TLSagent-intake.logs.datadoghq.com10516Agent が TLS を使ってログを送信するために使用します。
米国TCP と TLSintake.logs.datadoghq.com443SSL で暗号化された TCP 接続を介してカスタムフォワーダーが生ログ、Syslog、または JSON 形式のログを送信する際に使用されます。
米国TCP と TLSfunctions-intake.logs.datadoghq.com443SSL で暗号化された TCP 接続を介して Azure 関数が生ログ、Syslog、または JSON 形式のログを送信する際に使用されます。: このエンドポイントは他のクラウドプロバイダーでも役立つ可能性があります。
米国TCP と TLSlambda-intake.logs.datadoghq.com443SSL で暗号化された TCP 接続を介して Lambda 関数が生ログ、Syslog、または JSON 形式のログを送信する際に使用されます。
EUTCP と TLSagent-intake.logs.datadoghq.eu443SSL で暗号化された TCP 接続を介して Agent が protobuf 形式のログを送信する際に使用されます。
EUTCP と TLSfunctions-intake.logs.datadoghq.eu443SSL で暗号化された TCP 接続を介して Azure 関数が生ログ、Syslog、または JSON 形式のログを送信する際に使用されます。: このエンドポイントは他のクラウドプロバイダーでも役立つ可能性があります。
EUTCP と TLSlambda-intake.logs.datadoghq.eu443SSL で暗号化された TCP 接続を介して Lambda 関数が生ログ、Syslog、または JSON 形式のログを送信する際に使用されます。

属性とタグ

属性は、ログエクスプローラーのフィルタリングと検索に使用されるログファセットを規定します。予約済み属性と標準属性のリストや、ログ属性とエイリアスの命名ルールをサポートする方法については、専用の属性とエイリアスのドキュメントを参照してください。

スタックトレースの属性

スタックトレースをログ記録している場合、Datadog アプリケーション内に専用の UI 表示を持つ特別な属性があります。ロガー名、現在のスレッド、エラーの種類、スタックトレース自体などです。

解析されたスタックトレースの属性

この機能を使用するには、以下の属性名を使用します。

属性説明
logger.nameロガーの名前
logger.thread_name現在のスレッドの名前
error.stack実際のスタックトレース
error.messageスタックトレースに含まれるエラーメッセージ
error.kindエラーのタイプまたは「種類」(“Exception” や “OSError” など)

: デフォルトでは、インテグレーション Pipelines は、デフォルトのログライブラリパラメーターをこれらの特定の属性に再マップし、スタックトレースまたはトレースバックをパースして、自動的に error.messageerror.kind を抽出しようとします。

詳しくは、ソースコード属性のドキュメントをご覧ください。

次のステップ

ログが収集され、取り込まれると、ログエクスプローラーで参照できます。ログエクスプローラーで、ログの検索、情報の追加、ログに関するアラートの確認ができます。ログエクスプローラーのドキュメントを参照して、ログデータの分析を開始するか、下記の追加のログ管理ドキュメントを参照してください。

ログエクスプローラーに表示されるログ

参考資料


*Logging without Limits は Datadog, Inc. の商標です。