参考:https://docs.datadoghq.com/ja/logs/log_configuration/pipelines/
パイプラインは、Datadogに送信されたログを順次処理し、分析しやすい形式に変換する一連のプロセスです。
フィルターで、条件に一致するかの判断を行い、条件に一致した場合、プロセッサーでログに処理が行われます。
パイプラインを経由するログは、すべてのパイプラインフィルターに対してテストされます。
いずれかのフィルターに一致したログは、すべてのプロセッサーが順次適用されてから、次のパイプラインに移動します。
パイプラインを作成し、その中で条件に一致するフィルターを作成します。
次に、作成したパイプラインにプロセッサーを追加します。
Datadogで用意されているパイプライン
Datadog アプリで Pipelines に移動します。
New Pipeline を選択します。
作成するPipelineで、FilterとPipelineの名前を決めます。
設定項目 | 設定例 |
---|---|
Filter | source:cli |
Name | cli_pipeline |
Grokパーサー | 非構造化ログを構造化ログへ変換する 例えば、Apacheアクセスログを構造化するには、DatadogのGrokパーサー設定で正規表現を定義して、必要な属性を抽出します。 |
ユーザーエージェントパーサー | 構造化されたログ内のユーザーエージェント情報からOS、ブラウザ、デバイスなどの詳細を自動で抽出します。 |
カテゴリープロセッサー | 特定の条件に応じてログに新しい属性(カテゴリ)を設定するプロセッサーです。 主に、ステータスコードや特定のメタデータに基づいてログレベル(INFO、WARNINGなど)を割り当て、分類やフィルタリングをしやすくします。 これにより、ログの分析やアラート設定が容易になります。 |
ログステータスリマッパー | ログに公式のステータス属性を設定し、色分け表示や視覚的な区別ができるようにするプロセッサーです。 たとえば、ERRORやWARNINGのログを強調表示することで、異常検知や迅速な対応が可能になります。 |
ルール名 定義 %{データ型:パース後のキー名}
## Define parsing rules err_log %{_date} \[%{_severity}\] %{_message} ## _date %{date("yyyy-MM-dd HH:mm:ss.SSS"):timestamp} _severity %{notSpace:severity} _message %{data:message}
How to Monitor Apache Web Server With Datadog | Datadog
■生ログ 127.0.0.1 - - [07/Nov/2024:14:00:01 +0900] "GET /index.html HTTP/1.1" 200 1024 "https://example.com/home" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36" ■パーサー access.common %{_client_ip} %{_ident} %{_auth} \[%{_date_access}\] "(?>%{_method} |)%{_url}(?> %{_version}|)" %{_status_code} (?>%{_bytes_written}|-) access.combined %{access.common} "%{_referer}" "%{_user_agent}"