CPU 温度を記録する Mackerel プラグインを作りました

はてなが提供している Mackerel で CPU 温度を記録できるプラグインを作成しました. ユーザー定義のメトリックを投稿する方法がヘルプに掲載されており, これを基に作成しました.

coretemp

lm-sensors のインストール

CPU 温度を取得するために, lm-sensors をインストールします. Debian ではパッケージが提供されているので,

$ sudo aptitude install lm-sensors

とすればインストールできます. 以下のように正常に温度が出力されていれば OK です.

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +36.0 C  (high = +82.0 C, crit = +102.0 C)
Core 0:         +34.0 C  (high = +82.0 C, crit = +102.0 C)
Core 1:         +36.0 C  (high = +82.0 C, crit = +102.0 C)

センサー情報の収集

sensors コマンドの結果を文字列処理するのは面倒なので, これの元データを取得します. Debian では以下のようなコマンドを実行すれば, どのラベルがどの数値に対応しているのかを見ることができます. 複数のセンサーがある場合は temp2, temp3 のように連番になるようです.

$ cat /sys/devices/platform/coretemp.0/temp1_label
Physical id 0
$ cat /sys/devices/platform/coretemp.0/temp1_input
36000

プラグインの設定

今回作成したプラグインは GitHub 上で公開しています.
このリポジトリの coretemp.sh を上で収集した情報に合わせて編集し, ヘルプに従ってプラグインを設定すれば完了です.