| Linux Tips | |
|
MRTGでCPUの温度変化をグラフ化するには 北浦訓行 |
|
MRTGでハードディスクの温度変化をグラフ化するにはで説明したとおり、MRTGを使えば外部プログラムによって得た数値をグラフ化することができる。ここでは、CPUの温度変化をグラフ化する方法を紹介する。
CPUの温度は、「lm_sensors」というプログラムで測定できる。lm_sensorsのインストールおよび実行方法については、CPUの温度やファンの回転数などをモニタするにはで紹介している。
lm_sensorsを実行すると、以下のような測定結果が得られる。テストに使用したPCの場合、ファンの回転数を得ることができなかったが、マザーボードの温度を測定することができるようなので、CPUと合わせてマザーボードの温度もグラフ化することにする(MRTGは1つのグラフで値を2つ使用するため)。
# sensors |
MRTGの設定は、/etc/mrtg/mrtg.cfgに行う。ここでは、MRTGでハードディスクの温度変化をグラフ化するにはで行った設定を丸ごとコピーして、それを変更することにする。
ハードディスクの温度測定では、「Target[hddtemp]」としたが、このhddtempをすべてcputempに変更する。これによって、Webブラウザでcputemp.htmlというファイルを開けば、CPUとマザーボードの温度変化がグラフで現れることになる。hddtempの設定をすべて残しておけば、hddtemp.htmlを開くことによって、ハードディスクの温度変化も知ることができる。
もう1つ重要なのは、「Target[cputemp]」で入力するCPUとマザーボードの測定結果だ。測定プログラムは、上記のとおりsensorsコマンドを使用するが、結果の表示が多岐にわたるため、そこからCPUとマザーボードの温度だけを取り出す必要がある。
幸いなことに、sensorsの出力は測定結果の数値が変化するだけで、行数などは固定されている。上記の測定結果では、マザーボードの温度が13行目に、CPUの温度が14行目に表示されるため、13行目と14行目の最初に出てくる数字を抜き出せばいいことになる。
ここでは、sensorsの出力結果からgrepでTempという文字列がある行を抜き出し、awkで測定結果を得て、sedで数値だけを取り出している(頭の「+」と単位の「℃」を削除)。sensorsの出力結果はマザーボードによって異なるので、環境に応じて「Target[cputemp]」を変更する必要がある。複雑な処理が必要な場合は、独立したシェルスクリプトを書いて、「Target[cputemp]」でそのシェルスクリプトを実行するようにした方がいいだろう。
Target[cputemp]: `/usr/bin/sensors | grep Temp | awk '{print $3}' | sed -e 's/+//' -e 's/[^0-9+\.].*//'` |
/etc/mrtg/mrtg.cfgを編集して保存すれば、自動的に温度測定とグラフ化が行われるようになる。初期設定では、結果のファイル群が/var/www/mrtgに作成されるので、
http://PCのIPアドレス/mrtg/cputemp.html |
にWebブラウザでアクセスするとグラフが表示される。当然ながら、ApacheなどのWebサーバが稼働している必要がある。
![]() |
上記の設定で作成されたCPUとマザーボードの温度変化グラフ |
| Linux Tips Index |
| Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
|
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

