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

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください