処理
Dash が新機能を発表!インシデントマネジメント、Continuous Profiler など多数の機能が追加されました! Dash イベントで発表された新機能!

処理

概要

構成パネルにアクセスするには、左側の Logs メニューから構成サブメニューを使用します。

ログ構成ページでは、Datadog のパイプラインプロセッサーでログを処理する方法を制御できます。

パイプラインプロセッサーは、以下の種類のログに適用できます。

したがって、ログの記録方法を変更したり、サーバー側の処理ルールに変更をデプロイする必要もありません。すべての処理を Datadog の処理ページ内で構成して実行できます。

ログの処理方法を実装するメリットとして、オーガニゼーションに属性命名規則を適用できることもあげられます。

ログの処理

インテグレーションログ

インテグレーションログに対しては、インテグレーションパイプラインが自動的にインストールされます。ログをパースし、対応するファセットをログエクスプローラーに追加します。以下の ELB ログの例を参照してください。

現在サポートされているインテグレーションのリストは、こちらから確認できます。

カスタムログ

ログの形式は自由にカスタマイズでき、したがってカスタム処理ルールも定義できます。任意のログ構文を使用してすべての属性を抽出し、必要に応じて、それらをよりグローバルな属性や標準的な属性に再マップできます。

例として、以下のようなログにカスタム処理ルールを使用します。

以下のように変換できます。

パイプラインフィルターを使用して、ログの一部にのみアクションを実行する方法については、パイプラインに関するドキュメントを参照してください。

使用可能なプロセッサーのリストについては、プロセッサーに関するドキュメントを参照してください。

Datadog アプリケーションのパース機能自体の詳細については、パーストレーニングガイドを参照してください。パースのベストプラクティスパースのトラブルシューティングに関するガイドもあります。

ログ管理ソリューションを最適にご利用いただくため、Datadog では Grok プロセッサ内でパイプラインごとに最大 20 件のプロセッサーおよび 10 個のパース規則を使用することをおすすめします。Datadog はサービスのパフォーマンスに悪影響を与える可能性のあるパース規則、プロセッサー、パイプラインを無効化する権利を有しています。

JSON ログの前処理

JSON ログの前処理は、実際のログパイプラインプロセスに入る前にすべてのログに適用されます。前処理は、予約済みの属性に基づき一連のオペレーションを実行します。

JSON ログ前処理は、デフォルトで標準ログフォワーダーに機能するよう構成されています。このコンフィギュレーションは、カスタムまたは特定のログ転送方法に合わせていつでも編集することが可能です。デフォルト値を変更するには、コンフィギュレーションページPre processing for JSON logs を編集します。

JSON ログ前処理タイル

source 属性

JSON 形式のログファイルに ddsource 属性が含まれる場合、Datadog はその値をログのソースと解釈します。Datadog が使用しているソース名を使用する場合は、インテグレーションパイプラインライブラリを参照してください。

: コンテナ化環境から取得したログの場合、環境変数を使用してデフォルトのソース値とサービス値をオーバーライドする必要があります。

host 属性

Datadog Agent または RFC5424 形式を使用すると、自動的にログにホスト値が設定されます。ただし、JSON 形式のログファイルに以下の属性が含まれる場合、Datadog はその値をログのホストと解釈します。

  • host
  • hostname
  • syslog.hostname

date 属性

デフォルトでは、Datadog は、ログを受信したときにタイムスタンプを生成し、それを date 属性に付加します。ただし、JSON 形式のログファイルに以下の属性のいずれかが含まれる場合、その値をログの正式な日付と解釈します。

  • @timestamp
  • timestamp
  • _timestamp
  • Timestamp
  • eventTime
  • date
  • published_date
  • syslog.timestamp

ログ日付リマッパープロセッサーを設定することで、別の属性を指定してログの日付のソースとして使用することもできます。

: ログエントリの正式な日付が 18 時間以上前だった場合、Datadog はそのエントリを拒否します。

認識される日付の形式は、ISO8601UNIX (ミリ秒エポック形式)、および RFC3164 です。

message 属性

デフォルトでは、メッセージの値はログエントリの本文として収集されます。ログストリームでは、この値がハイライトされ、全文検索用にインデックス化されます。

status 属性

各ログエントリにはステータスレベルを指定でき、Datadog 内のファセット検索で使用できます。ただし、JSON 形式のログファイルに以下の属性のいずれかが含まれる場合、Datadog はその値をログの正式なステータスと解釈します。

  • status
  • severity
  • level
  • syslog.severity

status 属性の既存のステータスを再マップする場合は、ログステータスリマッパーを使用します。

service 属性

Datadog Agent または RFC5424 形式を使用すると、自動的にログにサービス値が設定されます。ただし、JSON 形式のログファイルに以下の属性が含まれる場合、Datadog はその値をログのサービスと解釈します。

  • service
  • syslog.appname

trace_id 属性

デフォルトでは、Datadog トレーサーは、自動的にトレースとスパンの ID をログに挿入します。ただし、JSON 形式のログに以下の属性が含まれる場合、Datadog はその値をログの trace_id と解釈します。

  • dd.trace_id
  • contextMap.dd.trace_id

その他の参考資料