目次

概要

シェル・スクリプトを使用した方式は「3ware製RAIDコントローラの監視」として公開しているが、ZABBIXがSSH経由での監視機能を提供していることに気がついたので、こちらの方式も試してみた。
結論からすると、注意点は幾つかあるもののこちらの方式の方が良さそうである。

前提

ZABBIXサーバ

ZABBIXのSSH監視を行うには、libssh2が必要となる。
また、SSH監視を鍵認証で行うには、ZABBIXサーバ内の所定位置に鍵ファイルの設置が必要となる。

監視対象

tw_cli経由で情報を取得するため、tw_cliは必須となる。
また、tw_cliを実行するにはroot権限が必要となるため、ZABBIXからSSH接続に使用するユーザが実行出来るようにするためのsudoの設定も必要となる。
当然ながら鍵認証をするためには、SSH鍵の交換をしておく必要がある。

監視設定

監視設定をテンプレート化するためには、ホストマクロを多用する必要がある。

設定

ZABBIXサーバ

zabbix_server.confのSSHKeyLocation行を有効化し、SSH鍵を指定したパスに配置する必要がある。

  • zabbix_server.conf
    SSHKeyLocation=/etc/zabbix/sshkeys

監視対象

SSH鍵交換については割愛。

一般ユーザがtw_cliを実行できるようにするため、sudoの設定を行う。

  • zabbixユーザに権限を付与する例
    # visudo
    
    【末尾に追加】zabbix ALL=(root) NOPASSWD: /usr/sbin/tw_cli

監視設定

Linuxサーバ、ESXiを対象とした場合の設定例。

Linux向けホスト設定

以下のホストマクロを定義する。

マクロ説明
{$SSH.USER}zabbixSSH接続に使用するユーザ
{$SSH.PASSWD}zabbixSSH接続に使用するユーザのパスワード
{$SSH.COMMAND}sudotw_cliを実行する前に付けるコマンド
{$RAID.HBA01}c1監視対象のHBA番号
{$RAID.ARRAY01}u0監視対象のアレイ番号

ESXi向けホスト設定

以下のホストマクロを定義する。
ESXiはSSH鍵を使用するため、若干設定が異なる。

{$SSH.USER}rootSSH接続に使用するユーザ。sudoは使えないため、rootとなる
{$SSH.PASSWD}なしSSH鍵認証を使用するため、パスワードは不要
{$SSH.COMMAND}なしtw_cliを実行する前に付けるコマンドはなし
{$RAID.HBA01}c1監視対象のHBA番号
{$RAID.ARRAY01}u0監視対象のアレイ番号

アイテム設定

アレイの状態(tw_cli /c1/u0 show)の結果を取得するアイテムは以下のように作成する。

  • Linux用アイテム
    名前アレイ情報(/{$RAID.HBA01}/{$RAID.ARRAY01})
    タイプSSHエージェント
    キーssh.run[3ware-hba_hba1-array1-show]
    認証方式パスワード
    ユーザ名{$SSH.USER}
    パスワード{$SSH.PASSWD}
    実行するスクリプト{$SSH.COMMAND} /usr/sbin/tw_cli /{$RAID.HBA01} show | grep {$RAID.ARRAY01} | head -1
    データ型ログ
    更新間隔3600

  • ESXi用アイテム
    名前アレイ情報(/{$RAID.HBA01}/{$RAID.ARRAY01})
    タイプSSHエージェント
    キーssh.run[3ware-hba_hba1-array1-show]
    認証方式公開鍵
    ユーザ名{$SSH.USER}
    公開鍵ファイルファイル名
    秘密鍵ファイルファイル名
    キーのパスフレーズなし
    実行するスクリプト{$SSH.COMMAND} /usr/sbin/tw_cli /{$RAID.HBA01} show | grep {$RAID.ARRAY01} | head -1
    データ型ログ
    更新間隔3600

Linux用、ESXi用として分けているが差異はSSH認証部分のみであるため、どちらか片方のみ設定し、テンプレート適用後にホスト単位で認証方式を変更する運用も可能である。

トリガー設定

アイテムの取得結果は文字列として記録されるため、文字列マッチで障害条件を定義することとなる。
以下の例はアレイのデグレードを検知するトリガーとなる。

  • トリガー設定
    名前アレイのデグレードを検知(/{$RAID.HBA01}/{$RAID.ARRAY01})
    条件式{Template_H_3wareRAID-HBA:ssh.run[3ware-hba_hba1-array1-show].iregexp(DEGRADED)}=1
    深刻度重度の障害

監視結果

アイテムにより取得される内容は以下の様な形となる。
実行するコマンドを調整することにより、tw_cliより取得できる情報は全て取り込むことが可能。

  • 正常時
    u0 RAID-10 OK - - 64K 931.303 ON ON
  • ベリファイ中
    u0 RAID-10 VERIFYING - 80% 64K 931.303 ON ON
  • ベリファイ停止中
    u0 RAID-5 VERIFY-PAUSED - 95% 256K 9313.17 ON ON
  • スペアディスク
    u2 SPARE OK - - - 1863.01 - OFF

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-03-30 (日) 23:39:24 (3673d)