DatadogカスタムCheckの一番小さなコード


ゴール設定

Datadogエージェントが取得した監視データを、datadogダッシュボードで可視化したい。このときの最小コードをメモする。

datadogエージェントの設定

▼ 図解で、Datadogエージェントの設定手順
https://qiita.com/1Kano/items/3533a8ebe5f6777840a6

監視エージェントのプラグインを作る

この検査スクリプトは例として、30秒毎に1から0までのランダムな値データをdatadog監視サーバーに送るだけのモノ。

/etc/datadog-agent/checks.d/kano.py
import random
from datadog_checks.checks import AgentCheck

__version__ = "0.0.2"

class KanoCheck(AgentCheck):
    def check(self, instance):
        intRandom = random.random()
        self.gauge('kano.random', intRandom)

これも例だが、Configファイルは監視間隔のみ記載している。

/etc/datadog-agent/conf.d/kano.yaml
init_config:

instances:
  - min_collection_interval: 30

datadogダッシュボードでのウィジェットでカスタムメトリックを選べるようになる。

まとめ

datadogエージェントが取得できるデータは、datadogダッシュボードでグラフ可視化ができる。例えばラズパイに接続した温度計のデータをWEBでグラフ化できる。そう、インフラ監視だけではもったいない、IoT的な使い方もできると思った。

▼ ラズパイにdatadogエージェントをインストールする
https://docs.datadoghq.com/ja/developers/faq/deploying-the-agent-on-raspberrypi/

Datadog関連記事