tools team/tools/Nagios

作ったプラグインを公開してみんな幸せになろう。のコーナー。

Wiki に貼付けると改ざんされて local exploit 埋め込まれて悲惨なことになりかねないので、できれば自分しか編集できない場所に貼付けてここにはそこへのリンクと簡単な説明を書いた方が良いかも。貼ってもいいと思うけど。

とりあえず、利用しようというひとはくれぐれも自己責任で。ちゃんとなにやってるのか確認してから利用するようにしましょう。

check_mdstat

Linux の SoftRAID の状態を確認

http://enog.jp/~masakazu/tools/nagios/check_mdstat

# Nagios が動いているサーバー上で使う場合:
define command {
	command_name		check_mdstat
	command_line		$USER1$/check_mdstat -m $ARG1$
	}
define service {
	use			local-service
	host_name		localhost
	service_description	md0
	check_command		check_mdstat!md0
	}
# NRPE から使う場合:
# 監視される側の nrpe.cfg に以下のドマンド定義を追加
command[check_md0]=/path/to/check_mdstat -m md0
# 監視する側で以下のようにサービスを定義
define service {
	use			generic-service
	host_name		target_host
	service_description	md0
	check_command		check_nrpe!check_md0
	}

/etc/mdstat の中身ってこんな感じなんだけど:

Personalities : [raid1] [raid6] [raid5] [raid4] 
md1 : active raid5 dm-6[2] dm-5[1] dm-4[0]
      204672 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]
      
md0 : active raid1 dm-3[1] dm-2[0]
      102336 blocks [2/2] [UU]
      
unused devices: <none>

この中の [2/2] とか [3/3] の部分がどうなっているかに応じて OK から Critical までを返します。

スラッシュの前の数字が RAID に組み込まれているディスクの本数でスラッシュの後の数字が正常稼働中のディスクの本数みたいなので、

  • 組み込まれたディスクの本数 = 正常稼働中のディスク なら OK
  • 組み込まれたディスクの本数 - 正常稼働中のディスク = 1 なら Warning
  • それ以外なら Critical

としています。

check_hpacu

HP SmartArray シリーズのロジカルドライブの状態を確認

http://enog.jp/~masakazu/tools/nagios/check_hpacu

# Nagios が動いているサーバー上で使う場合:
define command {
	command_name		check_hpacu
	command_line		$USER1$/check_hpacu -s $ARG1$ -l $ARG2$
	}
define service {
	use			local-service
	host_name		localhost
	service_description	c0d0p1
	check_command		check_mdstat!2!1
	}
# NRPE から使う場合:
# 監視される側の nrpe.cfg に以下のドマンド定義を追加
command[check_c0d0p1]=/path/to/check_hpacu -s 2 -l 1
# 監視する側で以下のようにサービスを定義
define service {
	use			generic-service
	host_name		target_host
	service_description	c0d0p1
	check_command		check_nrpe!check_c0d0p1
	}

事前に hpacucli がインストールされていること。

あと nagios が sudo を使って hpacucli を実行できるように事前に visudo で以下の行を追加しておくこと。

nagios ALL=NOPASSWD: /usr/sbin/hpacucli controller slot=2 logicaldrive 1 show

slot=2 と logicaldrive 1 の部分は適宜置き換えること。複数の logicaldrive を監視したい場合は複数行にわたって sudoers に記述することになる。めんどくさかったら controller 以降削ってもよろしい。

slot は以下のコマンドで確認できる。

[root@hn1 ~]# hpacucli controller all show

Smart Array P712m in Slot 2               (sn: **********    )

この例だと slot 2 に P712m があることになるので -s には 2 を指定する。

slot が判明したら以下のコマンドで logicaldrive を調べる。

[root@hn1 ~]# hpacucli controller slot=2 logicaldrive all show

Smart Array P712m in Slot 2

   array A

      logicaldrive 1 (279.4 GB, RAID 1, OK)

logicaldrive は 1 のようなので -l には 1 を指定する。

Status: が OK なら OK を、それ以外なら Critical を返します。

check_bgpneigh_snmp

SNMP を使って BGP ルーターのネイバーとの接続状態を確認

http://enog.jp/~masakazu/tools/nagios/check_bgpneigh_snmp

define command {
	command_name		check_bgpneigh_snmp
	command_line		$USER1$/check_bgpneigh_snmp -H $HOSTADDRESS$ -n $ARG1$ -c $ARG2$ -v $ARG3$
	}
define service {
	use			generic-service
	host_name		target_router
	service_description	BGP NEIGH XXX
	check_command		check_bgpneigh_snmp!192.168.1.1!public!2c
	}

ルーター側が SNMP BGP MIB をサポートしていること。

オプションは、 -n でネイバーを、 -c で SNMP コミュニティ文字列を、 -v で SNMP のバージョンをそれぞれ指定。

Established なら OK でそれ以外なら Critical を返す。

check_bgpneigh_openbgpd

OpenBGPD の bgpctl コマンドを使ってネイバーとの接続状態を確認

これいる?

check_bgpneigh_quagga

Quagga の bgpd に Telnet してネイバーとの接続状態を確認

誰か書いて。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-06-26 (土) 20:26:03 (2675d)