目次

概要

目的

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サーバ
    OSCentOS 5.5
    ZABBIXZABBIX 1.8.15
    ZABBIX AgentZABBIX Agent 1.8.15
  • 監視対象システム1
    OSVMware ESXi 5.0
    RAID HBA3ware 9690SA-8I
    3ware 9650SE-4LPML
  • 監視対象システム2
    OSCentOS 5.3
    RAID HBA3ware 9650SE-12ML
    3ware 8006-2LP

実装手順

1. tw_cliのインストール

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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-02-13 (水) 17:26:13 (4089d)