木曜日, 6月 14, 2012

CactiでRHEL/CentOSのiostatを監視する


RHEL/CentOS(5.5と6.2でテスト)で、iostatをCactiで監視します。
最新版は1.7だけど、1.6との違いはgithubにアップしただけなので、
githubを使わないなら1.6でいいと思います。


【概要】
対象サーバー内でiostatを1分ごとにcronで回し、/tmp/io.tmpに結果を
保存します。あとsnmpd.confを編集し、Cactiから特定のmibで
取得できるようにします。
Cactiサーバーではテンプレートの読み込みなどを行い、ホストを設定します。


【download】
http://www.markround.com/uploads/cacti-iostat-1.6.tar.gz


【インストール】


☆監視対象のサーバー内部で作業する

su -
mkdir -p /infra/bin/
crontab -e
---

※RHEL5系の場合
* * * * * cd /tmp && iostat -xkd 30 2 | sed 's/,/\./g' > io.tmp && mv io.tmp iostat.cache
※RHEL6系の場合
* * * * * cd /tmp && iostat -xkd -p ALL 30 2 | sed 's/,/\./g' > io.tmp && mv io.tmp iostat.cache

---

vi /etc/snmp/snmpd.conf
---
pass_persist .1.3.6.1.3.1 /usr/bin/perl /infra/bin/iostat-persist.pl
---

/etc/init.d/snmpd reload

tar zxvf cacti-iostat-1.6.tar.gz
cd 解凍フォルダ/scripts
cp iostat-persist.pl /infra/bin/

# ウチはいちいち解凍めんどうなんで管理サーバーにファイルだけ置いてwget。
# cd /infra/bin/
# wget http://server/draemon/iostat-persist.pl
# chmod 755 iostat-persist.pl


☆Cacti serverでの作業

tar zxvf cacti-iostat-1.6.tar.gz
su -
cd 解凍フォルダ/snmp_queries/linux/
cp iostat.xml /usr/share/cacti/resource/snmp_queries


☆Cacti GUIでの作業

cacti-iostat-1.6.tar.gzを解凍し、templates/linux内の13fileをimportする。

ホストに設定する。



【トラブルシュート】
Cactiでエラーが出る(GUIから値を取得できない)ときは、
cactiのバージョンと合っていない場合があります。
iostat.xmlから以下の行を削除してみてください。
---
        <index_order>ioDescr:ioName:ioIndex</index_order>
---


【参考】
[Linux, Solaris and FreeBSD iostat monitoring with Cacti]
http://www.markround.com/archives/48-Linux-iostat-monitoring-with-Cacti.html

[github]
https://github.com/markround/Cacti-iostat-templates


【スクショ】