NagiosでRAIDの監視

サーバの監視には自分はNagiosを利用している。
今回はNagiosによるサーバのRAID状態の監視を行う為のメモを以下に記述する。

Nagiosはインストールされていると仮定しての設定です

【監視対象サーバ設定】

まずはRAID状態を確認するツールのhpacucliのインストールをします。
HPのサポートサイトからrpmをダウンロード、こちらから対象のサーバの環境をクリック
上記リンクが開かない場合は、「ドライバー & ソフトウェア ダウンロード」にチェックを入れ、以下のリンクからサーバモデルを入力し、検索する

http://www8.hp.com/jp/ja/support.html

「HPアレイ コンフィギュレーション ユーティリティCLI for Linux」をダウンロードする
rpmファイルがダウンロードされるので、サーバへアップする
wgetでダウンロード出来ない

HP以外のサーバでもhpacucliが使える可能性はある

# インストール
$ rpm -ivh /usr/local/src/hpacucli-8.70-8.0.noarch.rpm

# RAID状態の確認
$ hpacucli ctrl all show config


RAID状態が正常の場合、以下のような出力になる

Smart Array P400i in Slot 0 (Embedded)    (sn: **********)

   array A (SAS, Unused Space: 0 MB)

      logicaldrive 1 (136.7 GB, RAID 1+0, OK)

      physicaldrive 1I:1:1 (port 1I:box 1:bay 1, SAS, 72 GB, OK)
      physicaldrive 1I:1:2 (port 1I:box 1:bay 2, SAS, 72 GB, OK)
      physicaldrive 1I:1:3 (port 1I:box 1:bay 3, SAS, 72 GB, OK)
      physicaldrive 1I:1:4 (port 1I:box 1:bay 4, SAS, 72 GB, OK)

RAIDに異常がある場合は以下のような出力になる
※下記の例では1本ぶっ壊れてるっぽい

Smart Array P400i in Slot 0 (Embedded)    (sn: **********)

   array A (SAS, Unused Space: 0 MB)

      logicaldrive 1 (136.9 GB, RAID 1+0, Interim Recovery Mode)

      physicaldrive 2I:1:1 (port 2I:box 1:bay 1, SAS, 73.5 GB, Failed)
      physicaldrive 2I:1:2 (port 2I:box 1:bay 2, SAS, 73.5 GB, OK)
      physicaldrive 2I:1:3 (port 2I:box 1:bay 3, SAS, 73.5 GB, OK)
      physicaldrive 2I:1:4 (port 2I:box 1:bay 4, SAS, 73.5 GB, OK)


とりあえず、この状態だとあまり意味がないのでNagiosにて監視できるようにする

この手のNagiosプラグインは結構あるので、ググってみるとやっぱりあった。

http://exchange.nagios.org/directory/Plugins/Hardware/Server-Hardware/HP-(Compaq)/check_hparray/details

とりあえず上記のプラグインを用いて、Nagiosを設定してみる

# プラグインの設置
$ mkdir /usr/local/nagios/plugin
$ mv /usr/local/src/check_hparray /usr/local/nagios/plugin/

# sudoの設定
$ chmod +x /usr/local/nagios/plugin/check_hparray
$ visudo
-------------------------------------------------------------------
# 変更
Defaults    requiretty
↓
#Defaults    requiretty

# 追記
nagios  ALL=NOPASSWD: /usr/sbin/hpacucli
-------------------------------------------------------------------

# NRPEの設定
$ vi /usr/local/nagios/etc/nrpe.cfg
-------------------------------------------------------------------
# 追記
command[check_hparray]=/usr/local/nagios/plugin/check_hparray -s 0
-------------------------------------------------------------------

ここまで出来たら、後は監視サーバ側の設定

【監視サーバ設定】

監視設定ファイルにRAIDも監視するように追加設定
設定後はNagiosの再起動

$ vi /usr/local/nagios/etc/servers/hostname.cfg
-------------------------------------------------------------------
define service{
        use                             generic-service
        host_name                       SERVERNAME
        service_description             RAID
        check_command                   check_nrpe!check_hparray
        max_check_attempts              1
        normal_check_interval           1
        retry_check_interval            1
        notification_interval           10
        notification_options            c,r
        }
-------------------------------------------------------------------
$ /etc/init.d/nagios restart

ここまで出来るとNagiosの画面を見ると以下のように監視対象サービスにRAIDの項目が追加されているはずだ

参考サイト

http://blog.asial.co.jp/526