ラズパイでPing監視（2）ダッシュボード構築

## この記事について

[「ラズパイでPing監視（1）Zabbixサーバー構築」](https://qiita.com/Saito5656/items/785d6c55728f7aca3a1f)からの続きです。Zabbixのエージェントレスでネットワーク内の死活監視をするダッシュボードを作ります。  

## 環境  

### RaspberryPi  

**Raspberry Pi：** Raspberry Pi 4 Model B Rev 1.2  
**OS：** Raspberry Pi OS Lite 64-bit (Debian GNU/Linux 12 (bookworm))  

### Zabbixサーバー構成  

[Download and install Zabbix](https://www.zabbix.com/jp/download)で以下の構成を選択しました。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/6e36506b-80e0-a545-ab65-b2451d3ce5ef.png>


## ダッシュボード構築  

サーバーの状態が直感的にわかるように室内マップ上にサーバーアイコンを配置して状態を表示します。  

### マップ用背景作成  

[管理] > [一般設定] > [イメージ] > [タイプ] > [背景]を選びます。    

<img width= 250 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/6b96a4d1-d258-fb82-5f7e-f7d21d04bdb8.png>

あらかじめ作成した室内マップ画像を名前を付けて読み込みます。   

<img width= 350 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/699a23e8-7a5f-709b-138c-4924fb8c7012.png>

### サーバー用アイコンイメージ作成  

[管理] > [一般設定] > [イメージ] > [タイプ] > [アイコン]を選びます。    
サーバーはほぼラズパイです()のでラズパイのアイコンを読み込みます。  

<img width= 250 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/5f13d721-1475-1995-147e-a1d4cf30491c.png>　　

<img width= 350 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/2ffb3cc6-fee7-afec-5c28-d2c85c3d5183.png>


### ホストグループ作成  

[設定] > [ホストグループ] > [ホストグループの作成]を選びます。  
今回対象とするラズパイネットワークには110セグメントを割り当ててあります。  

<img width= 350 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/300cfa34-4707-39a8-7c8f-10fe4db6b36f.png>


### ホスト登録  

[設定] > [ホスト] > [ホストの作成]を選びます。 
インターフェースの追加をクリックしてエージェントを選びます。  
> ホスト名：hostname等  
テンプレート：[Template] -> [ICMP Ping]  
グループ：上記で作ったホストグループ(110segment)  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/65f1d8cf-9d75-332d-a650-6bb6c73af8c5.png>

固定した(wlan0の)ipアドレスを登録します。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/c55ef024-e232-0f18-b2fd-03850cf11a63.png>

### グラフ作成  

ホスト作成時に登録したテンプレート(ICMP Ping)にグラフを作成します。  
[設定] > [テンプレート] > [ICMP Ping] > [グラフ] > [グラフの作成]を選びます。 
[アイテム] -> [追加]を開くとdefaultの3つのアイテムがあります。

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/b47aca5b-303d-00c4-b693-50d9ef5ec3b8.png>

それぞれ一つずつ合計３つのグラフを設定します。  
グラフ名はPing Status、Ping パケットloss率、Ping 応答時間としました。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/7465e861-2391-ffb9-f489-ebb52c2b4ba8.png>


### 室内マップ作成  

[監視データ] > [マップ] > [マップの作成] > [ダッシュボードのプロパティ]であらかじめ作成した室内マップ画像を読み込みます。 

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/3c62bc41-83a4-e59a-9cf9-cc4d453183c9.png>

マップが追加されたら変更をクリックしてサーバーを登録します。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/c67fb43f-7aa2-d319-2a17-7420d6699bf8.png>

[アイコン] -> [追加]をクリックすると新規要素が追加されます。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/545f6a49-57b2-dc7c-90b8-4f968ee97ab5.png>

新規要素のアイコンをクリックするとアイコンの詳細登録画面が表示されるので入力します。  

> タイプ：ホスト  
ホスト：各ホスト  
アイコン　標準：登録したラズパイアイコン  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/8821bbff-fb2c-480c-c593-92684daf54d6.png>

サーバーのアイコンをドラックアンドドロップで配置位置に移動させます。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/55709535-79d3-5b91-e9f1-3b599e045dd8.png>

全てのホストを登録してこんな室内マップが完成しました。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/a3613037-56ea-b316-cca5-f0d9471df757.png>


### ダッシュボード作成  

[監視データ] > [ダッシュボード] > [ダッシュボードの作成] > [ダッシュボードのプロパティ]でダッシュボード名を入力します。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/c5cc52e4-6170-c710-9789-2f096d41cdf7.png>

マウスに追従する「新しいウィジェット」をクリックして、先ほど登録した室内マップを取り込みます。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/0cbde16c-0346-31bb-2e07-7f2f711e5b5a.png>

更に新しいウィジェットを追加してICMP Pingテンプレートに設定した3つのグラフも取り込みます。  

データセットには全てのホストを、アイテムパターンにはグラフごとにPing Status、Ping パケットloss率、Ping 応答時間を選択します。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/6be9a4ba-8afb-4109-54cf-3c0b3cb2ce4f.png>

スペースが余ったのでホスト稼働状況と時計も取り込みました。今後Zabbix Agentを各端末に導入した場合に使います。  

<img width= 750 src = https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/565396/bdc2019e-efb9-9b0c-f8a6-7c008deccfc5.png>

## 今後やること/やってみたいこと  

会社でも主にラズパイネットワークなのでやりすぎると本末転倒ですが使い方を確認しておきたいと思います。  

・トリガーでメール送信(must)  
・主要な使い方調べて動作確認
・ホストの負荷/通信速度の測定


## 参考文献  

* [マップを作成する](https://networkengineer.it-study.info/zabbix/zabbix-configuration-map.html)  
* [zabbix map用に自分でアイコンを追加する](https://qiita.com/rotekxyz/items/862d73779899db6b6ad0)  
* [【Zabbix6.4】ZabbixでエージェントレスでPing監視(ICMP)する方法](https://www.kayura-se.com/entry/2023/03/12/170244)  
* [Zabbix を Raspberry Pi にインストール](https://qiita.com/nanbuwks/items/42a3c7e740e721bffbf7)  
* [SpeedTest CLI結果をZabbixで定期観測する（Raspberry Pi3B+）](https://qiita.com/TAKANEKOMACHI/items/d82b94c7d59cac7f86fd)  
* [【ちょっとお遊び】旅客機のフライト情報をZabbixで監視(ハイジャック検知も!?) その② -世界地図に飛行状況をマッピング-](https://qiita.com/ike_dai/items/78db29fa712dad4f9b87)  
* [とほほのZabbix入門](https://www.tohoho-web.com/ex/zabbix.html#icmp-ping)