概要

このドキュメントで説明しているソリューションは、クラウドベースのログ環境に特化しています。オンプレミスのログからメトリクスを生成するには、Observability Pipelines のドキュメントを参照してください。

Datadog の Logging without Limits* では、ストレージやクエリのためにインデックスに含めるログとインデックスから除外するログを動的に決定できます。一方で、多くの種類のログは、KPI などのトレンドを長期間追跡するためのテレメトリとして利用されます。ログベースのメトリクスは、取り込みストリーム全体のログデータを要約するためのコスト効率の高い方法です。これは、探索のために保存する内容を制限するために 除外フィルター を使用しても、すべてのログデータに対して 10 秒粒度で 15 か月間にわたりトレンドや異常を可視化できることを意味します。

ログベースのメトリクスを使用すると、クエリや、リクエスト期間のようなログに含まれる数値の 分散メトリクス に一致するログの COUNT メトリクスを生成できます。

請求について: 取り込まれたログから生成されたメトリクスは、カスタムメトリクス として請求されます。

ログベースのメトリクスを生成する

ログからメトリクスを生成する

新しいログベースのメトリクスを生成するには、以下の手順を実行します。

  1. メトリクスの生成 ページに移動します。
  2. Generate Metrics タブを選択します。
  3. + New Metric をクリックします。

Analytics の検索からメトリクスを作成するには、Export メニューから Generate new metric オプションを選択することもできます。

ログからメトリクスを生成する

新しいログベースのメトリクスを追加する

ログからメトリクスを作成する
  1. Input a query to filter the log stream: ログエクスプローラーの検索構文 を使用してクエリを記述します。Datadog は、インデックス化されたログに対してではなく、取り込み時にログストリームに対してストリームフィルタークエリを評価します。このフィルターは、全文検索 (*:search_term) を含む、ログエクスプローラーのすべての検索機能をサポートしているわけではありません。ログエクスプローラーで結果を返すクエリであっても、ここではどのログにも一致しない場合があります。集計では、過去 20 分以内のタイムスタンプで取り込まれたログのみが対象になります。クエリからインデックスを除外します。

    メトリクスを保存した後、Metrics Explorer でデータポイントが生成されていることを確認してから使用してください。クエリがログエクスプローラーでログに一致してもメトリクスが空のままの場合は、その用語を引用符で囲んだフレーズとして書き直してください (例: message:"Database operation failed.")。

  2. Select the field you would like to track: * を選択してクエリに一致するすべてのログのカウントを生成するか、ログ属性 (例: @network.bytes_written) を入力して数値を集計し、対応する count、min、max、sum、avg の集計メトリクスを作成します。ログ属性ファセットが メジャー の場合、メトリクスの値はログ属性の値となります。

  3. Add dimensions to group by: デフォルトでは、ログから生成されたメトリクスには明示的に追加しない限りタグはありません。ログに存在する任意の属性またはタグのディメンション (例: @network.bytes_written、env) を使用して、メトリクスの タグ を作成できます。メトリクスタグの名前は、@ を除いた元の属性またはタグの名前と同一です。

  4. Add percentile aggregations: ディストリビューションメトリクスの場合は、オプションで p50、p75、p90、p95、p99 のパーセンタイルを生成できます。パーセンタイルのメトリクスはカスタムメトリクスとしても扱われ、適宜請求に追加 されます。

  5. Name your metric: ログベースのメトリクス名は、カスタムメトリクスの命名規則 に従う必要があります。

注: Datadog は、ログベースのメトリクスのデータポイントを 10 秒間隔で生成します。ログベースのメトリクス用の ダッシュボードグラフ を作成するとき、count unique パラメーターは 10 秒間隔内の値を使用します。

ユニーククエリパラメーターが強調表示された時系列グラフの設定ページ
ログベースのメトリクスはカスタムメトリクスとして請求されます。請求額を抑えるには、タイムスタンプ、ユーザー ID、リクエスト ID、セッション ID など、値の数に制限がない、または値の数が非常に多い属性でグループ化することは避けてください。

ログベースのメトリクスを更新する

メトリクスの作成後、以下のフィールドを更新できます。

  • ストリームフィルタークエリ: メトリクスに集約される一致するログの組み合わせを変更する
  • 集約グループ: タグを更新するか、生成されたメトリクスのカーディナリティを管理する
  • パーセンタイル選択: Calculate percentiles ボックスへのチェックにより、パーセンタイルメトリクスを削除または生成する

メトリクスタイプまたは名前を変更するには、新しいメトリクスを作成する必要があります。

ログ使用メトリクス

推奨される使用状況メトリクス

使用状況メトリクスは、ほぼリアルタイムによる現在の Datadog 使用状況の推定値です。これらにより、以下が可能になります。

  • 推定使用量をグラフ化します。
  • 推定使用量に基づいてモニターを作成します。
  • 使用量の急上昇または低下の即時アラートを取得します。
  • コードの変更が使用量に及ぼす潜在的な影響をほぼリアルタイムで評価します。

Log Management 使用量メトリクスには、より詳細な監視に使用できる 3 つのタグがあります。

タグ説明
datadog_indexログを目的のインデックスに一致させるルーティングクエリを示します。
datadog_is_excludedログが除外クエリと一致するかどうかを示します。
serviceログイベントのサービス属性。

注: datadog_is_excluded および datadog_index フィールドは、N/A の値を持つことができます。これは、ログが取り込まれたものの、インデックスに明示的にルーティングするための包含条件または除外条件のいずれにも一致しなかったことを示します。

ログステータス (info、warning など) を反映するために、datadog.estimated_usage.logs.ingested_events メトリクスでは追加の status タグを利用できます。

参考資料


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