minato128 blog

minato128の公開メモ帳です。

Datadog で空気の状態を監視する

これは Datadog Advent Calendar 2019 14日目の記事です。

まとめ

  • Custom Metrics で Awair metrics を送って、空気の状態の監視ができるようになった
  • 過去ログを楽しく分析できるようになった
    • Awair は最新の状態を見るのは簡単ですが、過去のログを見るのが難しい
    • Datadog の View は高機能かつ使い慣れているのでストレスがない
  • Agent を入れなくてもいいので維持コストがゼロ
    • 他の SaaS だと Custom metrics だけでも1ホスト分課金されることがある
      • Datadog は今のところ(2019-12-14)課金が発生しない

Custom Metrics とは

docs.datadoghq.com

多すぎてすべては説明しきれませんが、このような特徴があります。

  • 自由に metric name や type を設計し、tag で簡単に dimension を表現できる
    • 標準 metrics と同様に15ヶ月参照可能
    • Datadog のリッチな View で同一時系列で何が起きているのかすぐにわかる
    • Datadog の Core 機能と言っても過言ではないのでは
  • 送信方法

metrics 送信の仕組み

これらをひとつの Azure Function で数分間隔で定期実行しているだけです。

payload sample

{ 
    "series" : [
        {"metric":"awair.co2", "points":[[1576219800, 100], ...], "tags":["deviceid:test"]}, 
        ...
    ]
}

Note: The timestamp should be in seconds, current. The numeric value format should be a 32bit float gauge-type value. Current is defined as not more than 10 minutes in the future or more than 1 hour in the past.

ちなみに「timestamp として有効なのは、1時間前から10分後まで」と定義されているので、過去ログをまとめて取り込むことはできません。

ダッシュボードの様子

1 Hour

gyazo.com

1 Day

gyazo.com

1 Week

gyazo.com

1 Month

gyazo.com