Zabbixで障害発生および復旧をメール通知

# Zabbix
訳あって、[Zabbix](https://www.zabbix.com)に触れることになった。障害発生および復旧をメール通知する、という簡単と思われたことに少々苦闘したので、記録する。

## インストール
記事「[ubuntu22.04にZabbix server6.4を構築する](https://qiita.com/ohtsuka-shota/items/d321bc31db04432fcaad)」を参考に、”Ubuntu 24.04.1 LTS”にインストール。

## お題
あるPC（192.168.10.202）を、pingにより監視し、疎通がなくなったら障害発生メールを送り、疎通が回復したら復旧メールを送る、、、という単純なもの。

## 設定
一部、順不同であるが、小生が設定した順番で記載。

### 通知用メール設定（メディアタイプ）
送信用メールアカウント設定。メディアタイプをクリック。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/fc65100f-515a-bcff-edfd-2d331e13fded.png", width=70%>

ここでは、既存の”Email(HTML)”を利用。

![メディアタイプ１のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/3cf11d1c-cea7-afab-31f2-dccbc465de5d.png)

メールサーバー、メールアドレス、アカウント、パスワードなどメール送信に必要な情報を入力する。作成されたものが下記。

![メディアタイプリスト0のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/0997ad4b-9b87-0327-d641-9f52e92fb622.png)

なお、メディアタイプのデフォルトテンプレートは下記となっている。

![メディアタイプメッセージテンプレート.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/d7d3589e-3fe4-875b-5a6e-ffbacc5a0b54.png)

新規にメディアタイプを作成した時には、何かしらのテンプレートを追加する必要がある。

また、オプションではあるが、右端の”テスト”により、メール送信のテストができる。

![メディアタイプテスト１のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/1c510998-7472-464a-9268-37de0caedaa8.png)

テストメールの受信。

![テスト受信のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/f7890962-2a27-7037-0b2b-9ec2940decfe.png)

### 通知用のユーザー登録
通知先の登録。ユーザークリック。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/2f456f75-bebc-caae-4f6c-d229fadb0161.png", width=30%>

ここでは、新たなユーザーを作成した。

![ユーザー作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/c8b281e3-2875-fb5b-5ad9-163b77624201.png)

ユーザー名（ここでは”Notify1”）を入力。グループは”Internal”および”Zabbix_administrators”とした。

![ユーザー名＆グループ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/efe9b924-59f5-0de1-82ea-b591abaf2b44.png)

通知先は、メディアで設定する。

![ユーザーメディア設定のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/4a3de57f-e872-2896-fb60-f4274d614c62.png)

適宜、深刻度を設定。ここでは、警告以上に利用。

![ユーザーメディアのコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/79a8540f-1a5a-2fe0-51e9-c9de7d44fed1.png)

メール通知するためには、ユーザーの役割を”Super admin role”とする必要があるようだ（他の役割では通知できなかった、、真偽不明）。

![ユーザー役割.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/27517589-455c-a51d-d9f0-305273ace415.png)

ユーザーリストは下記となる。

![ユーザーリスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/15f93226-9e27-e8de-71d6-8376048d0d2a.png)

### 監視ホスト登録
監視ホストとしてのPC（192.168.10.202）を登録する。ホストクリック。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/038f0976-2b5b-07f7-6c0e-bf5bb33fdfa1.png", width=30%>

ホストの作成。

![ホストの作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/3bc4d42d-7fdf-4e80-b003-7d5fbb2f4235.png)

![新しいホストの作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/89a2da6f-e9dd-0d99-bc5c-7aece48d0bcf.png)

ホスト名を入力し、エージェントとして、PCのIPアドレスを入力。

![新しいホストの作成０エージェント.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/4a221d1d-3457-2dd7-d7bf-f3ba1cf91019.png)

![新しいホストの作成２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/3349597a-b07c-e456-8923-f6118fc0e9a1.png)

ホストグループは”Applications”とした。

![新しいホストの作成１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/b3abb9c6-e233-4dbd-c56d-73aad36d41fb.png)

作成したホストは下記となる。

![ホストリスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/7d609ad6-fcae-c3f9-a78e-81917dee8b6b.png)

### 監視ホストの監視内容設定（アイテム）
監視内容（ping）を設定。ホストが一覧表示されている状態で、該当ホストをクリックすると下記表示となる。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/e6a4f415-6a15-cfd4-37de-34001907a23f.png", width=40%>

アイテムをクリックし、アイテム作成。

![アイテム作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/11652703-b405-1fb6-661e-b27081342a2f.png)

名前を入力し、タイプ”シンプルチェック”を選ぶ。

![新規アイテム１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/64e50688-0280-09ce-fc04-835611d5d897.png)

キーの選択をクリック。

![新規アイテム２（ダブルクリック）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/8b3e8ffc-2ecd-f032-c58d-8704060ac32e.png)

”icmping”をクリック。

![新規アイテム３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/84d701c3-2045-c58e-af4b-a538bf17f4e8.png)

IPアドレスなどのパラメーターを入力。

![新規アイテム４.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/2e96b5ea-a5e6-2ec9-510e-f6e3f76733d5.png)

”icmpping”のパラメータについては、本家サイトを参照。
- [icmpping[<target>,<packets>,<interval>,<size>,<timeout>,<options>]](https://www.zabbix.com/documentation/current/en/manual/config/items/itemtypes/simple_checks#icmpping)

他の必須項目も入力（デフォルトのまま）。

![新規アイテム５.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/9667a29c-bc23-fffe-2ef9-fbd78148414e.png)

作成後のリストは下記となる。

![アイテムリスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/d4f56945-2b4d-07f9-b00e-c0f0ea9b3a87.png)

### 通知設定（トリガー）
監視内容にそったトリガーの設定。

![トリガー作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/91de5c6a-582a-3481-121c-5ba196e97557.png)

名称入力。

![トリガー１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/b48b4b88-1d85-8a43-22c8-dd22a402c6dc.png)

トリガー条件（条件式）追加。

![トリガー２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/db4b7959-a90a-988c-efff-e417b14e06bf.png)

アイテムをクリックし、先ほど設定したアイテム名称”PingToPC1”を選択。

![トリガー３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/c9641829-8cbf-636f-f061-69d950505881.png)

一つ前の値（last()）と最新との値を比較し、結果が０だったら、トリガー発動となる。

![トリガー４.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/9b3460af-314f-9f53-2b81-2fc4377529d8.png)

深刻度は、”致命的な障害”とする。

![トリガー５.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/2443b6b2-c353-dd50-82f1-21e59851888e.png)

作成後のリストは下記となる。

![トリガーリスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/5f9a998d-a7cc-5b76-54db-3f831f7340a6.png)

### グラフ（オプション）
グラフも作成しておく。

![グラフ作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/0085dec3-561c-eb07-2445-055b759380b9.png)

名称入力。

![グラフ１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/77527095-cde4-3049-4d39-1b7f12581b55.png)

監視アイテム追加。

![グラフ２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/43923b4c-aff6-d989-4223-dbee5026214d.png)

![グラフ３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/935bcbbf-66e0-3265-eddf-c7ade51403c2.png)

![グラフ４.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/7eb7c701-dfa6-6ed5-46ca-d6dc26281e18.png)

作成したグラフのリストは下記となる。

![グラフリスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/5c3b570d-5923-30c4-b511-b0d30b69e031.png)

### トリガーアクション登録
トリガーアクションクリック。

<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/8416a391-c733-e7ac-7740-852e6e053df3.png", width=50%>

作成。

![トリガーアクション作成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/69f38caa-38ed-9a5e-3d8e-52576f108146.png)

名称入力。

![アクション１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/94413b44-06db-0c98-0955-57264848670e.png)

実行条件を追加し、作成したトリガー”TriggerPC1”を選択する。

![アクション１−３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/48cab5ee-8dfd-923c-499f-8eae91714795.png)

![アクション１−４.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/cd18e074-de13-30bd-7e96-2307564bf7d3.png)

実行内容を設定（追加）。

![アクション２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/318e2ba0-f766-8ee8-3245-ea64d58d8694.png)

ステップを”1 - 0”とすると、障害が解消されるまで、ステップの間隔（ここでは5分ごと）でアクション（ここでは”Notifiy1”に送信）する。送信時に用いるメディアタイプは作成した”Email(HTML)”。

![トリガーアクション１１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/1a38976c-e628-2c50-ea61-0a10380c5729.png)

実行条件は、下記のように、”イベント未確認”としておけば動作するようだ。

![アクション５−３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/a75902ab-3c2f-0df0-94ea-a5fb3a50848d.png)

![トリガーアクション１２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/c0602a79-2bf2-f095-49ec-23ee7b20e1b7.png)

同じように、復旧時の実行内容も登録。

![トリガーアクション１３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/8c4c4710-4ab9-31a7-1df9-38fb2b4f9104.png)

作成したトリガーアクションは下記となる。

![アクションリスト.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/c52962fc-ef46-95eb-8104-d15fe561ef9d.png)

## 検証
指定ホストに障害を発生させ、ping失敗（及び復旧）の状況を作り出す。その時の状況を記載。

### 通知（障害発生および復旧）
通知メールを下記。

![メールサンプル２のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/49bffbfd-6ce8-479c-74d9-0e8c966519e7.png)

17:21に発生通知、5分後の17:26に再通知、17:28に復旧通知。

### アクションログ
上記の障害状況と異なるが、アクションログのサンプルは下記となる。

![アクションログのコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/d7181959-f1ef-dead-672d-4bb49ffff931.png)

### グラフ
障害発生および復旧の状況のサンプルグラフである。

![障害＆復旧グラフ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/634816/d6fed32b-f551-9b56-6a52-58a6ce800bb8.png)

EOF