【datadog】datadog dashboard ~ 基本編 ~

◾️はじめに

https://dk521123.hatenablog.com/entry/2025/02/09/000106

の続き。

今回は、ダッシュボードに関わる基本的な事項(ウィジェット、テンプレート変数)
について、扱っていく

目次

【1】ウィジェット(Widgets)
 1)クエリ値ウィジェット (Query Value Widget)
 2)時系列ウィジェット (Timeseries Widget)
 3)リストウィジェット (List Widget)
 4)テーブルウィジェット (Table Widget)
 5)トップリストウィジェット(Top List Widget)
 6)モニターサマリーウィジェット(Monitor Summary Widget)
【2】テンプレート変数(Template Variables)
 1)テンプレート変数の追加
 2)テンプレートの適用
【3】API キーとアプリケーションキー
 1)APIキー (API Key)
 2)アプリケーションキー (Application Key)
  3)クライアントトークン (Client Token)

【1】ウィジェット(Widgets)

* 以下の公式ドキュメントにあるウィジェットを使って、
 ダッシュボードを形成する

https://docs.datadoghq.com/ja/dashboards/widgets/

1)クエリ値ウィジェット (Query Value Widget)

* クエリ値は、1 つのメトリクス、APM、またはログクエリの現在の値を表示
 => 最新の報告値を表示することも、集計値を表示することも可能
 => 条件付き書式 (緑/黄/赤色/画像表示 など) もカスタマイズできる
 => オプションで時系列データの背景を追加可能

https://docs.datadoghq.com/ja/dashboards/widgets/query_value/

Tips:(No data) の時に「0」にしたい場合

* 「Show|Count of」の次に「default_zero」を追加する

2)時系列ウィジェット (Timeseries Widget)

* 1 つ以上のメトリクス、ログイベント、Indexed Span などの動きを経時的に表示
 => グラフは、「折れ線」、「面積」、「棒グラフ」で表示

https://docs.datadoghq.com/ja/dashboards/widgets/timeseries/

3)リストウィジェット (List Widget)

* リスト表示

https://docs.datadoghq.com/ja/dashboards/widgets/list/

* 上段:表示したいソース源およびフィルタを指定する
* 中段:表示したい項目を指定する
* 下段:表示数

項目
https://docs.datadoghq.com/ja/dashboards/widgets/list/#api

Items Explanations
width auto(内容に応じて自動で幅を調整)/compact(幅をできるだけ狭く保つ。ヘッダ部分もなくなり行が変わる)/full(列が ウィジェット全体の幅 を取る)のいずれかを選択

使用上の注意

* 後述のテーブルウィジェットと似ているが、できることが異なるので注意
 => 例えば、テーブルウィジェットでは、requests.text_formatsにより
  値によりテキスト色を変更とかできるが、
  リストウィジェットの場合、requests.text_formatsがない(どうにかできないか、、、)

4)テーブルウィジェット (Table Widget)

* Table 表示

https://docs.datadoghq.com/ja/dashboards/widgets/table/

5)トップリストウィジェット(Top List Widget

* メトリクスまたはイベントの値が
 最も多いまたは最も少ないタグ値のリストを表示できる

https://docs.datadoghq.com/ja/dashboards/widgets/top_list/
使用例

* CPU の消費量が最も多い対象
* ディスク容量が最も少ないホスト
* コストが最も高いクラウド製品
など

6)モニターサマリーウィジェット(Monitor Summary Widget

* モニターの状態(OK/Alert/Warn etc)を表示

https://docs.datadoghq.com/ja/dashboards/widgets/monitor_summary/

* デフォルトだと全て表示するので、
 絞りたかったら「Search for monitors to summarize」部分で絞り込む

【2】テンプレート変数(Template Variables)

* Dashboardに対して、検索項目を追加したい場合に使用

https://docs.datadoghq.com/ja/dashboards/template_variables/

より抜粋
~~~~~
テンプレート変数により、
ダッシュボード内の 1 つ以上のウィジェットを動的にフィルタリングできます。
~~~~~

例えば、全環境(Dev/Stage/Prod)のログを表示していた場合に、
envって項目を作って、Prodのみを表示したいなどの用途で使う

1)テンプレート変数の追加

[1] [Add variables]ボタン押下

* 画面左上に位置する[Add variables]ボタン押下 

[2] 項目の追加
https://docs.datadoghq.com/dashboards/template_variables/#overview

* Variable tag:Tag(タグの詳細は以下の公式ドキュメント参照) or Attribute (e.g. env)

https://docs.datadoghq.com/ja/getting_started/tagging/

* Name:テンプレート変数名 (e.g. env)
* Default Value:デフォルト値 (e.g. prod)
* Available Values:有効値 (e.g. dev,stage,prod)

[3] [Done]ボタン押下

* [Done]ボタン押下 (忘れずに、、、)

2)テンプレートの適用

* Filter部分で「@【適用したいパラメータ】:$【テンプレート変数名】.value」を追加する

https://docs.datadoghq.com/dashboards/template_variables/#logs-apm-and-rum-queries

これらの変数は @ で始まり、例えば @http.status_code のようになります

例えば、テンプレート変数 environment を構成した場合、
$environment オプションはウィジェット内の動的変数として利用できます。

例1

Source | Filter
 => e.g. Logs | service:(service_a OR service_b) @env:$env.value

例2: テンプレート変数 env / 属性・タグ environment / その値 dev の場合
https://docs.datadoghq.com/dashboards/template_variables/#text

設定値 結果
$env environment:dev
$env.key environment
$env.value dev
* フィルタリングに関する詳細は、以下の関連記事を参照のこと

datadog dashboard ~ Filtering ~
https://dk521123.hatenablog.com/entry/2025/02/25/151542

【3】API キーとアプリケーションキー

https://docs.datadoghq.com/ja/account_management/api-app-keys/

名前 主な用途 権限 想定利用シーン
APIキー データ送信 書き込みのみ Agentや統合の設定
アプリケーションキー APIによる管理操作 管理操作全般 ダッシュボード・モニタ操作
クライアントトーク フロントエンドからの送信 書き込みのみ ブラウザやモバイルからのデータ送信

1)APIキー (API Key)

* Datadog にメトリクス、ログ、イベントを送信するための認証トークン

https://docs.datadoghq.com/ja/cloudcraft/getting-started/generate-api-key/

権限

* データの送信のみ。
* ダッシュボードや設定の変更などはできません。

特徴

* 組織単位で発行される(ユーザー単位ではない)。
* 例: ログやメトリクスをDatadogに送る時にAgentの設定ファイルで利用。

2)アプリケーションキー (Application Key)

* データを読み取るリクエストにはフルアクセスが必要で、application key も必要

3)クライアントトークン (Client Token)

用途

フロントエンド(JavaScript)からDatadogのRUM(Real User Monitoring)
やログ収集APIにデータを送信する用途で使う。

権限

送信専用。設定変更やデータ取得はできない。

特徴

ブラウザやモバイルアプリから直接Datadogにデータを送る用途。
セキュリティ上、公開してもよい設計になっている(ただし送信専用)。

参考文献

https://qiita.com/meta_plankton/items/984cab5d9c7a2d598071

関連記事

datadog ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2024/03/30/004746
datadog dashboard ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2025/02/09/000106
datadog dashboard ~ あれこれ編 ~
https://dk521123.hatenablog.com/entry/2025/02/19/220516
datadog dashboard ~ Filtering ~
https://dk521123.hatenablog.com/entry/2025/02/25/151542
datadog Logs ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2025/02/14/200308
datadog Logs ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2025/02/15/213417
datadog Alert ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2025/02/16/232413