3ware製RAIDコントローラの監視
http://extstrg.asabiya.net/pukiwiki/index.php?3ware%C0%BDRAID%A5%B3%A5%F3%A5%C8%A5%ED%A1%BC%A5%E9%A4%CE%B4%C6%BB%EB目次
概要 †
目的 †
3ware製のRAIDコントローラのステータス監視方法。
管理ツール(3dm、3dm2)が使用出来る場合にはメールによる障害通知が可能だが、CLIツールのみが使用出来る環境下(ESXi等)のRAIDコントローラとアイレイの状態をZABBIXにて取得・監視する。
実装方法 †
ZABBIXサーバから対象サーバに対してリモートログインを行い、tw_cliコマンドを実行してコントローラの状態を標準出力で表示させ、結果をZABBIXに取り込む方式となる。
このため、実装内容は以下となる。
- 1. 対象機器へtw_cliのインストール
- 2. ZABBIXサーバから対象サーバへSSHログイン(SSH鍵パスフレーズなし)を設定
- 3. リモート接続とtw_cli実行を制御するスクリプトを作成
- 4. ZABBIXにアイテムを登録
環境 †
- ZABBIXサーバ
OS CentOS 5.5 ZABBIX ZABBIX 1.8.15 ZABBIX Agent ZABBIX Agent 1.8.15
- 監視対象システム1
OS VMware ESXi 5.0 RAID HBA 3ware 9690SA-8I 3ware 9650SE-4LPML
- 監視対象システム2
OS CentOS 5.3 RAID HBA 3ware 9650SE-12ML 3ware 8006-2LP
実装手順 †
1. tw_cliのインストール †
- ESXiへのインストール
詳細は以下のリンクを参照
VMware 3ware CLI for ESXi
- CentOSへのインストール
詳細は以下のリンクを参照
3Ware Disk Management (3dm2)
2. リモートログイン設定 †
SSHによるリモートログインを設定する。
3. ZABBIXサーバに監視用スクリプトを配置 †
4. SSH接続設定ファイル(twcli.conf)の作成 †
5. アイテム設定 †
6. トリガー設定 †
スクリプトソース †
twcli.sh †
#!/bin/sh # -------------------------- # 3ware RAID MgtCLI Script # -------------------------- # Version : 1.0 # date : 2012/11/20 export LANG=C export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH # Set SCRIPTDIR="/home/system/script/apl/zabbix/3ware" # Include if [ -z $1 ]; then echo "ERR : conf file not found" echo "USE : twcli.sh [CONF File] [COMMAND]" exit 1 fi if [ -z $2 ]; then echo "ERR : command not found" echo "USE : twcli.sh [CONF File] [COMMAND]" exit 1 fi if [ -f $1 ]; then source $1 else echo "ERR : conf file not found" exit 1 fi # Execute ssh -t -o StrictHostKeyChecking=no -l $SSHUSER -i $SSHKEY $IPADDR << EOF $TWCLI $2 EOF # EOF
twcli.conf †
IPADDR="【接続先サーバIP】" SSHUSER="【SSHログインユーザ】" SSHKEY="【SSH秘密鍵(絶対パス)】" TWCLI="【SSH接続先でのtw_cliコマンド】"
zabbix_twcli.sh †
#!/bin/sh # --------------------------------- # ZABBIX 3ware RAID MgtCLI Script # --------------------------------- # Version : 1.0 # date : 2012/11/20 export LANG=C export PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH ## ## Set ## SCRIPTDIR="/home/system/script/apl/zabbix/3ware" CONFDIR="/home/system/script/apl/zabbix/3ware/conf" TWCLISH=$SCRIPTDIR"/twcli.sh" ## ## Check ## if [ -z $1 ]; then echo "ERR : conf file not found" echo "USE : zabbix-twcli.sh [CONF File] [COMMAND]" exit 1 fi if [ -f $CONFDIR/$1 ]; then source $CONFDIR/$1 else echo "ERR : conf file not found" exit 1 fi ## ## Execute ## $TWCLISH $CONFDIR"/"$1 "$2" 2>/dev/null | grep -v '^$' # EOF
Last-modified: 2013-02-13 (水) 17:26:13 (4089d)