はじめに
Webアプリにて、URLと処理時間のログを出力しています。
これを使ってURLごとの平均処理時間とかをトップリストウィジェットで作ってダッシュボードに表示したい!と思い、ダッシュボードのウィジェット作成画面を操作しても思い通りのものが作れず苦労したので、メモ。
結論を言ってしまうと、
Logs上で作成して、エクスポートでダッシュボードに貼り付けます。
ログ
以下のようなJson形式でAWS CloudWatch Logsに出力していて、それがDatadogへ取り込まれてパースされているものとします。
そうするまでの手順はここでは省略させていただきます。
{
url:"/api/hogehoge",
elapsed_msec:123,
~略~
}
手順
Datadog Logs
を開きます。
Search for
に検索条件を入力し、目的のログに絞り込みます。
Visualize as
で Top List を選択します。
Show
には elapsed_msec、by
には url を指定します。
上図のように、Top Listができますので、
Export > Export to dashboard で目的のダッシュボードを選択します。
ダッシュボードに出力までできてしまえば、あとはelapsed_msecが一定の値以上なら色を変えたり、平均ではなくmaxにしたりなど微調整をおこなって完成です。
おわりに
Logs上のGUIだと、こうだろうなという直感に従っていけば作れるのですが、
ダッシュボード上のGUIだと、表示させるのがCountしか選べなくてハマってしまいます。
将来的には改善されるのかもしれないですが、困っている方のお役に立てれば幸いです。