3
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

updated at

Raspberry Piの温度をMackerelで監視し、アラートを飛ばす

やりたいこと

MackerelにRaspberry Piの温度を測定するカスタムメトリクスを導入し、閾値を超えるとアラートを飛ばすようにする。

mackerel.png

経緯

先日、自宅にRaspberry Piを導入し、Mackerelで監視を行っている。
CPUやMemoryなどの基本的なメトリクスは最初から利用できるが、温度に関しては存在しないのでカスタムメトリクスとして作成する。

カスタムメトリクスの作成

公式:ホストのカスタムメトリックを投稿する
上記公式のページを参照すると、カスタムメトリクスをプラグインとして動作させること、{metric name}\t{metric value}\t{epoch seconds}という出力を期待されていることが分かる。

Raspberry Piの温度自体はvcgencmd measure_tempで取得できる。
そこで、シェルスクリプトtemp.shを作成し整形してMackerelプラグインのフォーマットに合わせる。

#!/bin/bash

SECONDS=$(date '+%s')
NAME='temperature.cpu'
VALUE=$(vcgencmd measure_temp | grep -o -e "[0-9]\+\.[0-9]\+")
echo -e "${NAME}\t${VALUE}\t${SECONDS}"

作成したプラグインをmackerel-agent.confに追記することで、メトリクスを送信するようになる。
再起動が必要なので忘れずに

~~
[plugin.metrics.temp]
command = "/path/to/temp.sh"

モニターへの追加

Monitors → metric monitor → 作成したメトリクスを選択
warning、criticalの閾値を設定することで、アラートを飛ばすことができた。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
3
Help us understand the problem. What are the problem?