CCISS (HP/Compaq Smart Array Controller) に接続された HDD の SMART 情報を読み出し、温度を munin の hddtemp_smartctl プラグインでグラフ化する。
cciss に対応する smartmontools は 5.38 以降(stable)。CentOS 5.3 では標準でこのバージョンがインストールされるが、あいにく対象サーバはCentOS 4だったので、ソースからインストールした。
tar xvzf smartmontools-5.38.tar.gz cd smartmontools-5.38 ./configure make sudo make install
/usr/local/sbin に新たにインストールされた smartctl を使用して、温度その他の情報が取得できることを確認。以下表示例。
$ sudo /usr/local/sbin/smartctl -A -d cciss,0 /dev/cciss/c0d0 smartctl version 5.38 [i686-pc-linux-gnu] Copyright (C) 2002-8 Bruce Allen Home page is http://smartmontools.sourceforge.net/ Current Drive Temperature: 26 C Drive Trip Temperature: 65 C Manufactured in week 50 of year 2006 Recommended maximum start stop count: 10000 times Current start stop count: 19 times Elements in grown defect list: 0
続いてmunin のプラグイン設定ファイル(/etc/munin/plugin-conf.d/hddtemp_smartctl )に設定を追加する。デバイス名の後に _[番号] を付けるのがポイント。
[hddtemp_smartctl] user root env.smartctl /usr/local/sbin/smartctl env.drives cciss/c0d0_0 cciss/c0d0_1 env.type_cciss/c0d0_0 cciss,0 env.type_cciss/c0d0_1 cciss,1
これで値が取得できるようになる…のだが、うまくグラフが表示されない。デバイス名に / が含まれているのがまずいらしいので、プラグインファイル /usr/share/munin/plugins/hddtemp_smartctl を少し改造。munin-node-1.2.5用のパッチを置いておく。
こんな感じで表示されるようになる。
