目的
Zabbixを使用して死活監視します。
ネットワーク構成
環境
Zabbixサーバの環境です。
OS | Webサーバ | データベース | PHP | Zabbix Server | Zabbix Agent |
---|---|---|---|---|---|
CnetOS 7.8 | Apache 2.4.6 | MySQL 8.0.21 | 7.2.32 | 4.0.23 | 4.0.23 |
クライアントの環境です。
OS | Zabbix Agent |
---|---|
CnetOS 7.4 | ー |
Windows Server 2019 | 4.0.23 |
監視設定
アイテムの設定
項目 | CentOS側の設定値 | Windows側の設定値 |
---|---|---|
名前 | Pingチェック(ICMP) | Pingチェック (Agent) |
タイプ | シンプルチェック | Zabbixエージェント |
キー | icmpping | agent.ping |
データ型 | 数値 (整数) | 数値 (整数) |
監視間隔 | 1m | 1m |
値のマッピング | Zabbix agent ping status | Zabbix agent ping status |
アプリケーションの作成 | Ping | Ping |
トリガーの設定
項目 | 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-1 | Pingチェック(ICMP) | 2023/02/12 20:56:04 | Up (1) |
Windows2019-1 | Pingチェック (Agent) | 2023/02/12 20:55:56 | Up (1) |
対象機器をシャットダウンします。数分後、通信断を検知しました。
ホスト | 名前 | 最新のチェック時刻 | 最新の値 | 備考 |
CentOS7-ZA4-1 | ポート監視 (22) | 2023/02/12 18:04:48 | 0 | |
Windows2019-1 | ポート監視 (3389) | 2023/02/12 18:04:50 | Up (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の応答時間 |
タイプ | シンプルチェック | シンプルチェック |
キー | icmppingloss | icmppingsec |
データ型 | 数値 (浮動小数) | 数値 (浮動小数) |
単位 | % | s |
監視間隔 | 1m | 1m |
アプリケーションの作成 | Ping | Ping |
トリガーの設定です。
項目 | パケットロス率の設定値 | 応答時間の設定値 |
---|---|---|
名前 | {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秒以上という意味です。 |
手動クローズを許可 | チェックをつける | チェックをつける |