目次

アイテム/トリガー設定

ping監視

fping設定

ZABBIXのping監視はfpingを使用する。
RPMパッケージでfpingを導入後、root以外のユーザからfpingを実行できるようにパーミッションを変更する。

chmod 755 /usr/sbin/fping

ping監視の実行間隔

WebUIからの実行間隔設定は無視されるため、ZABBIXサーバの設定ファイル(/etc/zabbix/zabbix_server.conf)の以下の設定で実行秒数を指定する。

PingerFrequency = 60

ping監視用トリガー設定

  • 5分間(300秒)で4回エラーが発生した場合にエラーとして検知する。
    書式{%HOST%:icmpping.count(300,1)}=4

ポート監視

アイテム設定

アイテム設定にて以下の要領で設定を行う。

  • ポート監視
    タイプZABBIXエージェント
    キーnet.tcp.service[<Protocol>,<IP Address>,<Port>]
    データ型数値(整数)

キーの必須項目は<Protocol>のみで、他は必要に応じて設定を行う。

  • 例(NTP)
    net.tcp.service[udp,,123]
  • 例(SWAT)
    net.tcp.service[tcp,,901]
  • 例(VMware-MUI)
    net.tcp.service[tcp,,8333]

Windowsサービス監視

サービス登録済みプログラム (アイテム設定)

サービスとして登録されているプログラムの死活監視は以下の項にて設定ができる。

  • サービス監視
    タイプZABBIXエージェント
    キーservice_state[<SERVICE_NAME>]
    データ型数値(浮動少数)
  • 例(DHCP Client)
    service_state[Dhcp]
  • 例(EventLog)
    service_state[Eventlog]
  • SERVICE_NAMEの参照箇所 service_name.png

サービス登録済みプログラム (トリガー設定)

実行中以外にアラートを上げるトリガー設定は以下となる。

  • 戻り値が0以外の場合アラート
    {{HOSTNAME}:service_state[SERVICE_NAME].last(0)}#0

アイテムにより取得される値は以下となる。

  • service_state戻り値
    0実行中
    1一時停止中
    2開始待ち
    3一時停止待ち
    4続行待ち
    5停止待ち
    6停止
    7不明
    255該当サービスなし

サービス登録できないプログラム (アイテム設定)

サービス登録できないプログラムの死活監視はEXEファイルの起動数をカウントする方式で行う。

  • プロセス数監視
    タイプZABBIXエージェント
    キーproc.num[<ProcessName>]
    データ型数値(浮動少数)
  • 例(Explorer)
    proc.num[explorer.exe]

サービス登録できないプログラム (トリガー設定)

起動しているプロセスが無い場合にアラートを上げるトリガー設定は以下となる。

  • 戻り値が0以外の場合アラート
    {{HOSTNAME}:proc.num[<ProcessName>].last(0)}=0

Windowsのイベントログ監視

イベントログはエージェントのアクティブチェック機能を使用する。
日本語対応はいまいちな模様(1.4系)

アイテム設定

  • システム
    タイプZABBIXエージェント(アクティブ)
    キーeventlog[system]
    データ型ログ
  • アプリケーション
    タイプZABBIXエージェント(アクティブ)
    キーeventlog[application]
    データ型ログ
  • セキュリティ
    タイプZABBIXエージェント(アクティブ)
    キーeventlog[security]
    データ型ログ

トリガー設定

トリガーには以下の項目が設定可能

  • ログの出力元アプリケーションを指定
    書式{%HOST%:eventlog[system].logsource(文字列)}=判定
    判定1=文字列にマッチする
    0=文字列にマッチしない
  • ログ内の文字列を指定
    書式{%HOST%:eventlog[system].iregexp(文字列)}=判定
    判定1=文字列にマッチする
    0=文字列にマッチしない
  • ログ内の深刻度(重要度)を指定
    書式{%HOST%:eventlog[system].logseverity()}=判定
    判定1=情報
    2=警告
    3=
    4=エラー

参考

http://www.zabbix.com/wiki/doku.php?id=howto:monitoringwindows

Windowsのパフォーマンスカウンタを使用した監視

ZABBIXエージェントではサポートしていない数値(ネットワークトラフィックなど)を取得する際にはパフォーマンスカウンタを使用する方法がある。

これは、[コントロールパネル]→[管理ツール]→[パフォーマンス]にて閲覧できる値を取得できる機能で、OSが表示している各種パフォーマンス情報のデータとなる。


  • パフォーマンスモニタ pref_1.png

    [Network Interface]、[Processor]などのオブジェクトの中に値を意味するカウンタ([Bytes Total/sec]など)が格納されている。
    また、複数のNICが存在する場合などにはインスタンスにて取得するデバイスを指定する。
  • カウンタの表示画面 pref_2.png

アイテム設定

アイテムは以下の要領にて設定を行う。

タイプZABBIXエージェント
キーperf_counter[<オブジェクト>(<インスタンス>)\<カウンタ>]
データ型数値(浮動少数)
  • 例(ネットワーク負荷(送信のみ) / NIC1(VMwaer NIC))
    perf_counter[\Network Interface(VMware Accelerated AMD PCNet Adapter)\Bytes Sent/sec]

トリガー設定

トリガー設定は他の監視と同等

Linuxログ監視

Linuxで生成されるログの監視設定。

読み取り権限の付与

syslog系はroot権限のみ読み取りが可能であるため、そのままではZABBIXで監視を行なうことができない。
このため、zabbixユーザに読み取り権限を付与する。

  • zabbixユーザをrootグループに含める
    usermod -g zabbix -G root zabbix
  • logrotateにパーミッション変更の処理を追記
    /etc/logrotate.d/syslogに以下の変更を加える。
       postrotate
           /bin/chmod 640 /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron
  • 既存ログのパーミッションを変更
    cd /var/log
    /bin/chmod 640 /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron

リソース監視

CPU負荷の監視

CPU負荷監視はOSにより設定と取得可能項目が異なる。

  • Windows
    コア単位でのCPU負荷を取得(初期状態では最大8コアまで監視可能)
    CPU(コア)の番号は0〜nとなる。
    タイプZABBIXエージェント
    キーsystem.cpu.util[<cpu(core No.)>,,<mode>]
    データ数値(浮動少数)
  • CPU1(コア1)の負荷を取得する場合の設定
    system.cpu.util[0,,]
  • Solaris
    システム全体のidle率を取得(コア単位の値取得は不可)
    タイプZABBIXエージェント
    キーsystem.cpu.util[,idle,<mode>]
    データ数値(浮動少数)
  • 5分平均のidle率を取得する場合設定
    system.cpu.util[idle,avg5]
  • Linux
    システム全体のidle率を取得(コア単位の値取得は不可)
    タイプZABBIXエージェント
    キーsystem.cpu.util[,idle,<mode>]
    データ数値(浮動少数)
  • 1分平均のidle率を取得する場合設定
    system.cpu.util[,idle,avg1]

ネットワーク機器の監視

通常はSNMPv1もしくはSNMPv2のテンプレートを使用する。
テンプレートには50ポート分の設定があらかじめ組み込まれているため、通常はこれで間に合うと思われる。
テンプレートを使用する場合の注意点は以下。

トラフィックの監視

なぜか初期設定ではトラフィックの実数を取得する設定となっている。
bps単位での取得が必要となるため、以下の設定を行う。
(一項目ずつ変更するのはしんどいため、「一括更新(mass update)」を使用すると良い)

項目名(英)項目名(日)値(英)値(日)
Type of informationデータ型Numeric(float)数値(浮動少数)
Units単位bpsbps
Use multiplier乗数を使用Custom multiplier乗数
Custom multiplier乗数88
Store value保存時の計算Delta(speed per second)差分/時間

アクション

リモートコマンド設定

障害発生時に自動実行させるコマンドの設定。
設定はzabbix-agend、sudo、zabbixサーバの三箇所に行う。

Agent側の設定

  • リモートコマンドの有効化
    初期設定状態ではリモートコマンド機能は無効に設定されている。
    /etc/zabbix/zabbix-agent.confの下記行のコメントアウトを外すことで、リモートコマンドを有効化できる。
    EnableRemoteCommands=1
    設定を反映させるため、zabbix-agentdを再起動する。
    /etc/init.d/zabbix-agentd restart
  • sudoの設定
    zabbix-agentdの実行ユーザにてコマンドを実行できるようにsudoの設定を行う。
    # visudo
    実行するコマンドに合わせて以下の設定を行う。
    zabbix localhost=(root) NOPASSWD:/etc/init.d/sshd      # sshの起動・停止を行う場合
    zabbix localhost=(root) NOPASSWD:/etc/init.d/vsftpd    # vsftpの起動・停止を行う場合
    zabbix localhost=(root) NOPASSWD:/etc/init.d/apachectl # apacheの起動・停止を行う場合

ZABBIXサーバ側の設定

ZABBIXサーバのWebインターフェイスから以下の設定を行う。
管理アカウントにてログイン後、[設定]→[アクション]を開き、[アクションの作成]を押す。

[名前]:任意の名称を設定
[イベントソース]:トリガーを設定
[計算タイプ]:コンディションの演算子指定(and/or、or、and)
[コンディション]:動作条件の設定(*後述)
[オペレーション]:動作内容の設定(*後述)
[ステータス]:アクションの有効/無効
  • コンディション設定 サービスの再起動を行う場合は以下のコンディションを設定する。(sshd停止時に再起動する場合)
    トリガー = "Sshd is not running on Host"
    トリガーの深刻度 = "軽度の障害"
  • オペレーション設定 サービス起動コマンドの指定は以下の書式にて行う。
    [HOST]:sudo /etc/init.d/sshd start

ZABBIX 1.4では空白を含むホスト名を指定するとエラーとなる。(2008.11.05)

全般

監視データの保存期間

監視データはヒストリとトレンドの2種類が保管される。
各データの保存期間は初期設定では以下となっている。

ヒストリ(生データ):7日
トレンド(統計データ):365日

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS