Zabbixで死活監視する

スポンサーリンク

目的

Zabbixを使用して死活監視します。

ネットワーク構成

環境

Zabbixサーバの環境です。

OSWebサーバデータベースPHPZabbix ServerZabbix Agent
CnetOS 7.8Apache 2.4.6MySQL 8.0.217.2.324.0.234.0.23

クライアントの環境です。

OSZabbix Agent
CnetOS 7.4
Windows Server 20194.0.23

監視設定

アイテムの設定

項目CentOS側の設定値Windows側の設定値
名前Pingチェック(ICMP)Pingチェック (Agent)
タイプシンプルチェックZabbixエージェント
キーicmppingagent.ping
データ型数値 (整数)数値 (整数)
監視間隔1m1m
値のマッピングZabbix agent ping statusZabbix agent ping status
アプリケーションの作成PingPing

トリガーの設定

項目CentOS側の設定値Windows側の設定値
名前{HOST.NAME} 通信断の検知{HOST.NAME} 通信断の検知
深刻度重度の障害重度の障害
条件式{CentOS7-ZA4-1:icmpping.min(#5)}=0

※Pingの応答が5回連続でなかったという意味です。
{Windows2019-1:agent.ping.nodata(5m)}=1

※agent.pingは通信不可の場合、データが欠落します。そのため5分間データの取得がなかった場合を条件とします。
手動クローズを許可チェックをつけるチェックをつける

アクションの設定

項目設定値
デフォルトのアクション実行ステップの間隔1h
デフォルトの件名【ZBX】{TRIGGER.NAME}
デフォルトのメッセージOriginal event ID: {EVENT.ID}
障害発生時刻:{DATE} {TIME}
ホスト名:{HOST.HOST}
IPアドレス:{HOST.IP}
設置場所:{INVENTORY.LOCATION}
深刻度:{TRIGGER.SEVERITY}
障害内容:{TRIGGER.NAME}
最新値:{ITEM.LASTVALUE}
メンテナンス中の場合に実行を保留チェックをつける
実行内容アラートメールの宛先を設定

動作確認

最新データの状態です。正常時は以下の通りです。

ホスト名前最新のチェック時刻最新の値
CentOS7-ZA4-1Pingチェック(ICMP)2023/02/12 20:56:04Up (1)
Windows2019-1Pingチェック (Agent)2023/02/12 20:55:56Up (1)

対象機器をシャットダウンします。数分後、通信断を検知しました。

ホスト名前最新のチェック時刻最新の値備考
CentOS7-ZA4-1ポート監視 (22)2023/02/12 18:04:480
Windows2019-1ポート監視 (3389)2023/02/12 18:04:50Up (1)通信断の場合、データが欠落するため、最新の値は更新されない。

アラートメールが届いていることを確認します。

件名本文備考
【ZBX】CentOS7-ZA4-1 通信断の検知Original event ID: 422
障害発生時刻:2023.02.12 21:02:08
ホスト名:CentOS7-ZA4-1
IPアドレス:192.168.xxx.xxx
設置場所:UNKNOWN
深刻度:High
障害内容:CentOS7-ZA4-1 通信断の検知
最新値:0
通信断を検知したのが20:58でした。障害発生時刻が21:02なのでトリガーの5回連続ダウンが正常に機能しています。
【ZBX】Windows2019-1 通信断の検知Original event ID: 426
障害発生時刻:2023.02.12 21:32:09
ホスト名:Windows2019-1
IPアドレス:192.168.xxx.xxx
設置場所:UNKNOWN
深刻度:High
障害内容:Windows2019-1 通信断の検知
最新値:Up (1)
通信断を検知したのが21:28でした。障害発生時刻が21:32なのでトリガーの5分間データ取得ができなかった時が正常に機能しています。

まとめ

通信断の場合、「シンプルチェック」と「Agent」では挙動が変わります。シンプルチェックはUP/Downの判定ができますが、Agentは監視データが欠落するため値の判定ができません。

そのため、死活監視は「シンプルチェック」を使用することをお勧めします。またシンプルチェックではパケットロスや応答時間の監視も可能です。死活監視では、Pingチェック、応答時間、パケットロス率の3つをセットにテンプレート化すると良いです。

アイテムの設定です。

項目パケットロス率の設定値応答時間の設定値
名前Pingのパケットロス率Pingの応答時間
タイプシンプルチェックシンプルチェック
キーicmppinglossicmppingsec
データ型数値 (浮動小数)数値 (浮動小数)
単位%s
監視間隔1m1m
アプリケーションの作成PingPing

トリガーの設定です。

項目パケットロス率の設定値応答時間の設定値
名前{HOST.NAME} パケットロスの閾値超え{HOST.NAME} Ping応答時間の閾値超え
深刻度警告警告
条件式{CentOS7-ZA4-1:icmppingloss.avg(#3)}>50

※過去3回のパケットロス率が50パーセント以上という意味です。
{CentOS7-ZA4-1:icmppingsec.avg(#3)}>0.5

※過去3回の応答時間が0.5秒以上という意味です。
手動クローズを許可チェックをつけるチェックをつける