- 2005-04-30 (Sat) 20:59
- 備忘録
RRDToolという、折れ線グラフを描くためのソフトや、smartmontoolsという、HDDの温度を測れるソフトがインストールされていたので、試しにHDDの温度を監視して、グラフにしてみました。
10分間の温度と、24時間の温度の2種類のグラフを作って、右側のサイドバーに表示してみています。
温度を測定するテストを行う
「su -」コマンドでrootになって、
service smartd start chkconfig smartd on
を実行しました。
例えば、
smartctl -A /dev/hda
を実行すると、以下のように表示されました。
smartctl version 5.33 [i386-redhat-linux-gnu] Copyright (C) 2002-4 Bruce Allen Home page is http://smartmontools.sourceforge.net/ === START OF READ SMART DATA SECTION === SMART Attributes Data Structure revision number: 10 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000f 058 055 006 Pre-fail Always - 8227784 3 Spin_Up_Time 0x0003 097 096 000 Pre-fail Always - 0 4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 0 5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0 7 Seek_Error_Rate 0x000f 085 060 030 Pre-fail Always - 349773179 9 Power_On_Hours 0x0032 087 087 000 Old_age Always - 12125 10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0 12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 223 194 Temperature_Celsius 0x0022 056 063 000 Old_age Always - 56 195 Hardware_ECC_Recovered 0x001a 058 055 000 Old_age Always - 8227784 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 1 198 Offline_Uncorrectable 0x0010 100 100 000 Old_age Offline - 1 199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0 200 Multi_Zone_Error_Rate 0x0000 100 253 000 Old_age Offline - 0 202 TA_Increase_Count 0x0032 100 253 000 Old_age Always - 0
温度を記録するためのデータベースを作成
rootになって、
mkdir rrdtool cd rrdtool rrdtool create hdd.rrd --step 60 DS:HDD:GAUGE:60:U:U RRA:MAX:0.5:1:600 RRA:MAX:0.5:6:700 RRA:MAX:0.5:24:775 RRA:MAX:0.5:288:797
を実行しました。
これで、hdd.rrd というファイルが作られました。
データベースを更新する
以下の内容のファイルを /root/rrdtool/hdd.sh という名前で保存しました。(拡張子が変ですが。)
#!/bin/tcsh -f
set RRD_FILE = '/root/radtool/hdd.rrd'
set temp = `/usr/sbin/smartctl -A /dev/hda |
grep Temperature_Celsius | awk '{print $10}'`
echo /usr/bin/rrdtool update $RRD_FILE N:$temp
/usr/bin/rrdtool update $RRD_FILE N:$temp
これを1分ごとに実行しています。
グラフを描く
以下の内容のファイルを /root/rrdtool/graph.rrd という名前で保存しました。
#!/bin/bash LANG=C /usr/bin/rrdtool graph /var/www/html/hdd.png -g --color BACK#FFFFFF --color CANVAS#FFFFFF --color SHADEA#FFFFFF --color SHADEB#FFFFFF --color ARROW#888888 --color MGRID#888888 --color GRID#AAAAAA --color FONT#666666 --imgformat=PNG --width=100 --height=100 --start=-600 DEF:HDD=/root/radtool/hdd.rrd:HDD:MAX LINE2:HDD#8888AA LANG=C /usr/bin/rrdtool graph /var/www/html/hdd2.png -g --color BACK#FFFFFF --color CANVAS#FFFFFF --color SHADEA#FFFFFF --color SHADEB#FFFFFF --color ARROW#888888 --color MGRID#888888 --color GRID#AAAAAA --color FONT#666666 --imgformat=PNG --width=100 --height=100 --start=-86400 DEF:HDD=/root/radtool/hdd.rrd:HDD:MAX LINE2:HDD#8888AA
これも1分ごとに実行しています。