[小ネタ] Datadog で直近4週分のメトリクスを表示する DashBoard を作成する

アノテーション株式会社のあのふじたです。

毎週規則性のあるメトリクスがあるのですが、先週や先月のこの時間のメトリクスはどうだったっけ?と気になる時もありますよね。 Datadog の timeshift 関数を利用すると簡単に現在のメトリクスと任意の過去時刻のメトリクスを重ねて表示することができるので今回は4週分のメトリクスを同じダッシュボードに表示させてみました。

Datadog とは

Datadog とは、様々なサーバーやアプリケーションから取得したメトリクスやログデータをもとにアラート通知を実装したり、 分析を行ったりすることができるクラウド型のモニタリングツールです。

https://www.datadoghq.com/ja/

また、Datadog には AWS、Azure、Google Cloud など主要なクラウドサービスに対するインテグレーションが標準で用意されており、 このインテグレーションを利用することにより監視対象のサービスと Datadog の連携を簡単に実装することができます。

timeshift 関数 について

タイムシフト

DOCS > ダッシュボード > 関数 > タイムシフト ここでは、_before() という形式の関数について説明します。 これらの関数は、対応する期間の値をグラフに表示します。 この値自体に大きな意味はありませんが、現在値と組み合わせることで、アプリケーションのパフォーマンスについて有益なインサイトを得られることがあります。

ダッシュボードの作成

元となるメトリクスの作成

今回は例として Metrics Explorer で system.cpu.system を元となるメトリクスとします。

表示を 1w に変更します。

One graph per query を OFF にしてメトリクスをまとめて表示するようにします。

現在のメトリクスはわかりやすいように Add alias をクリックして this_week とします。

先週のメトリクスの追加

Add Query で Query を追加します。

Add Function をクリックし Timeshift 関数から Week before を選択します

先週のメトリクスは alias で week_before とします。

2週前と3週前のメトリクスの追加

Add Query で Query を追加します。

Add Function には2週前を指定した Timeshift 関数は直接追加できないので、公式の Docs に従い直接 Query を指定します。

Edit raw query をクリックし、 公式Docsの例に従い timeshift(avg:system.cpu.system{*}, -1209600) とします。

alias で 2 weeks_before とします。

3週前のメトリクスも追加するため Add Query で Query を追加します。

Edit raw query をクリックし、 3週前(60*60*24*21 = 1814400) なので timeshift(avg:system.cpu.system{*}, -1814400) とします。

alias で 3 weeks_before とします。

4週前のメトリクスの追加

Add Query で Query を追加します。

Add Function をクリックし Timeshift 関数から 4 weeks before を選択します。

alias で 4 weeks_before とします。

以下のような週ごとのメトリクスを一つのグラフで表示することができました。

ダッシュボードに保存する

Save to Dashboard から既存のダッシュボードか新規ダッシュボードとして保存します。

おわりに

Datadogで用意されている関数だけで週ごとのメトリクスを比較するダッシュボードを作成してみました。 月次や週次の負荷やスパイクが一つのダッシュボードで確認できるので、地味ながら便利ですね。 このエントリが誰かの助けになれば幸いです。

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。

「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。

現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。

少しでもご興味あれば、アノテーション株式会社 WEB サイトをご覧ください。