はてなが提供している Mackerel で CPU 温度を記録できるプラグインを作成しました. ユーザー定義のメトリックを投稿する方法がヘルプに掲載されており, これを基に作成しました.
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 を上で収集した情報に合わせて編集し, ヘルプに従ってプラグインを設定すれば完了です.