【Zabbix6.4】ZabbixでエージェントレスでPing監視(ICMP)する方法
こんにちは!インフラ関連のシステムエンジニアをやっているカユラ(@kayura_SE)です。
本記事では、Zabbix6.4を使ってエージェントレスでPing監視(ICMP)を設定する手順を解説します。上から順に実施することでPing監視が完成する構成になっています。事前にZabbixのインストールと初期設定が完了していることが前提です。
動作確認環境
| 名称 | バージョン |
|---|---|
| OS | CentOS8.7 / AlmaLinux8.7 / RHEL8.7 |
| PHP | 7.4.30-1.module_el8.7.0+3286+227f3cf0 |
| PHP-FPM | 7.4.30-1.module_el8.7.0+3286+227f3cf0 |
| Zabbix | 6.4.0-rc4.release1.el8 |
| nginx | 1.14.1-9.module_el8.3.0+2165+af250afe.alma |
| MySQL | 8.0.30-1.module_el8.6.0+3340+d764b636 |
前提
ZabbixでエージェントレスのPing監視を行うには、ZabbixがWebに接続できる状態になっていることが前提です。インストールと初期設定の手順は以下の記事をご覧ください。

テンプレートグループの作成
「データ収集」→「テンプレートグループ」を選択し、「テンプレートグループの作成」をクリックします。

任意の「テンプレートグループ名」を入力し、「追加」をクリックします。(例:Simple-Check)

テンプレートグループが追加されたことを確認します。(例:Simple-Check)

テンプレートの作成
「データ収集」→「テンプレート」を選択し、「テンプレートの作成」をクリックします。

「テンプレート名」と「表示名」を入力し、「テンプレートグループ」で先ほど作成したグループを選択して「追加」をクリックします。(例:Simple-ping)

テンプレートが追加されたことを確認します。(例:Simple-ping)

アイテムの作成
Pingのパケットロス率のアイテム設定
作成したテンプレートの行の「アイテム」をクリックし、右上の「アイテムの作成」をクリックします。


以下の設定を入力し「追加」をクリックします。
名前 : Pingのパケットロス率
タイプ : シンプルチェック
キー : icmppingloss[{HOST.IP}]
データ型 : 数値(浮動小数)
単位 : %
監視間隔 : 1m


Pingの応答時間のアイテム設定
同様に「アイテムの作成」をクリックし、以下の設定を入力して「追加」をクリックします。
名前 : Pingの応答時間
タイプ : シンプルチェック
キー : icmppingsec[{HOST.IP}]
データ型 : 数値(浮動小数)
監視間隔 : 1m



Pingのステータスのアイテム設定
同様に「アイテムの作成」をクリックし、以下の設定を入力して「追加」をクリックします。
名前 : Pingのステータス
タイプ : シンプルチェック
キー : icmpping[{HOST.IP}]
データ型 : 数値(整数)
監視間隔 : 1m



ホストの登録(監視対象の追加)
ホストグループの設定
「データ収集」→「ホストグループ」を選択し、「ホストグループの作成」をクリックします。任意のグループ名を入力して「追加」をクリックします。(例:192.168.1.0/24)



エージェントレスのホストの登録
「データ収集」→「ホスト」を選択し、「ホストの作成」をクリックします。以下の設定を入力して「追加」をクリックします。
ホスト名 : 192.168.1.222
表示名 : 192.168.1.222
テンプレート : Simple-Ping
ホストグループ : 192.168.1.0/24
インターフェース: エージェント IP 192.168.1.222



エージェントレスのPing監視の動作確認
「監視データ」→「ホスト」を選択し、追加したホストの行の「最新データ」をクリックします。以下のデータが取得できていることを確認します。
Pingのステータス : 1 (1:PingOK、0:PingNG)
Pingのパケットロス率: 0%
Pingの応答時間 : 0.0004967


エージェントレスのPing監視のグラフ作成
作成したテンプレートの行の「グラフ」をクリックします。

Pingのステータスグラフ
名前 : Pingのステータスグラフ
高さ : 100
Y軸の最小値 : 固定 0
Y軸の最大値 : 固定 1
アイテム : Simple-ping:Pingのステータス すべて グラデーションライン 左 緑

Pingのパケットロス率グラフ
名前 : Pingのパケットロス率グラフ
Y軸の最小値 : 計算
Y軸の最大値 : 計算
アイテム : Simple-ping:Pingのパケットロス率 すべて 線 左 赤

Pingの応答時間グラフ
名前 : Pingの応答時間グラフ
Y軸の最小値 : 計算
Y軸の最大値 : 計算
アイテム : Simple-ping:Pingの応答時間 すべて 線 左 紫

エージェントレスのPing監視のグラフ動作確認
ホスト正常時の結果イメージ
「監視データ」→「ホスト」から追加ホストの「グラフ」をクリックします。監視対象が正常な時は以下のようなグラフが表示されます。


ホスト障害時の結果イメージ
監視対象が障害時は以下のようなグラフが表示されます。監視間隔が1分の場合、再起動程度の短時間の停止は観測できないケースがあります。シャットダウンで試したところ、障害を正常に検知できました。監視間隔は監視要件に応じて調整することを推奨します。

エージェントレスのPing監視のトリガー登録
「監視データ」→「ホスト」から追加ホストの「トリガー」をクリックし、「トリガーの作成」をクリックします。以下の設定を入力して「追加」をクリックします。
名前 : Pingダウン
イベント名 : {HOST.NAME}がPingダウンしました。
深刻度 : 致命的な障害
障害の条件式 : last(/Simple-ping/icmpping[{HOST.IP}])=0
正常イベントの生成: 復旧条件式 last(/Simple-ping/icmpping[{HOST.IP}])=1



エージェントレスのPing監視のトリガー動作確認
ホスト障害時の結果イメージ
「監視データ」→「障害」を選択すると、以下のように障害が検知されていることを確認できます。

ホスト復旧時の結果イメージ
「監視データ」→「障害」を選択すると、以下のように復旧が検知されていることを確認できます。

まとめ
本記事ではZabbix6.4を使ってエージェントレスでPing監視(ICMP)を設定する手順として、テンプレートグループ・テンプレート・アイテムの作成からホスト登録、グラフ作成、トリガー設定、動作確認までを解説しました。同様の設定で困っている方はTwitterでご連絡ください。
カユラ(@kayura_SE)

コメント