2011-02-15

Ubuntu 10.04 Server, Nagios, NRPE で 3ware RAIDコントローラ 9650 を監視 する

ウチのサーバでは 3ware の 9650 というボードを用いて SATA2 のHDDをRAID1にして利用している。 こんな感じの機材だ。


$ lspci|grep 3ware
05:00.0 RAID bus controller: 3ware Inc 9650SE SATA-II RAID PCIe (rev 01)

RAIDって放置して運用してしまうと、HDD故障などに気づかず、RAID1でミラーリングしているにもかかわらず両方のHDDが故障したまま放置して、結局データがなくなってしまう、なんて事故もあるといえばある。 私の場合、このRAIDカードとHDDを使って3年ぐらい放置してしまった。(笑) 幸いにもHDDの故障がまだやってきていないので、特に問題になっていなかったが。


最近、監視周りのシステム構築をやったりしたので、ついでに私のサーバも監視するようにしてみた。


ソフトウェアの入手


3ware のハードウェア状態をLinuxから見るには 3DM2-CLI-Linux といったソフトウェアを入手する必要がある。 入手は http://www.3ware.com/ の Support and Download あたりをたどってください。 このページの執筆段階では下記URLから入手できました。


http://www.lsi.com/channel/products/raid_controllers/3ware_9650se-2lp/index.html


今回は上記ページの
「3DM2_CLI-Linux-10.2.zip」
を利用しました。
ダウンロードした tar.gz を展開し、中の install.sh を root 権限で実行すると、 /opt/3ware あたりにインストールされます。


インストール後に実行すると、このように状態を取得できます。


root@vh0000:~# /opt/3ware/CLI/tw_cli show
Ctl Model (V)Ports Drives Units NotOpt RRate VRate BBU
------------------------------------------------------------------------
c8 9650SE-2LP 2 2 1 0 1 1 -
root@vh0000:~# /opt/3ware/CLI/tw_cli /c8 show
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy
------------------------------------------------------------------------------
u0 RAID-1 OK - - - 931.312 ON OFF
Port Status Unit Size Blocks Serial
---------------------------------------------------------------
p0 OK u0 931.51 GB 1953525168 XXXXXXXX
p1 OK u0 931.51 GB 1953525168 XXXXXXXX

今回はRAIDの状態をNagiosから取得する準備をします。 3ware RAID の状態を取得するスクリプトは
http://www.roedie.nl/wiki/index.php/Nagios_3ware にある check_3ware.sh を利用しました。 これを /opt/3ware/check_3ware.sh に展開。


Nagios NRPE の設定


私の環境では Nagios のサーバは別に存在し、このサーバの状態は NRPE を使って監視するようにしています。 NRPE の具体的な設定は他のWebサイトにも書いてあるので、それらを参考にしてください。


$ sudo apt-get install nagios-nrpe-server

3ware RAID の状態を取得する tw_cli は root権限で実行される必要があります。 Nagios NRPE は nagios ユーザで実行されるため、今回は sudo を使って nagios ユーザが check_3ware.sh を実行するときに root 権限が取れるように設定しました。


visudo を行い、ユーザ nagios から check_3ware.sh を実行出来るようにしてください。


nagios  ALL=NOPASSWD:/opt/3ware/check_3ware.sh

設定ができたら、こんなコマンドでも叩いて確認しましょう。


$ sudo -u nagios sudo /opt/3ware/check_3ware.sh
UNITS OK: /c8/u0 OK -

NRPE の設定ファイルは Ubuntu では /etc/nagios/nrpe.d ディレクトリの中に置けば良いようです。 その方法に従って、下記のようにしました。


$ cat /etc/nagios/nrpe.d/check_3ware.cfg
command[check_3ware_raid]=sudo /opt/3ware/check_3ware.sh

あとは NRPE をリスタートします。


Nagios サーバの設定


こんな感じのserviceを登録します。


define service {
use generic-service
hostgroup_name 3ware_raid
service_description 3Ware RAID
contact_groups admins
check_command check_nrpe_1arg!check_3ware_raid
retry_check_interval 1
}

あとは適当にやってみてくださいw

0 件のコメント:

コメントを投稿