ZabbixにIXルータを登録する

# ZabbixからIXを監視できるようにする

我が家にあるIX君をZabbixで監視してみようと思います。

## まずはZabbixを建てる

WSLでUbuntuを動かしているのでその上にDockerでZabbixを建てます。

DockerのInstall
https://docs.docker.com/engine/install/

最近のバージョンのDockerはDocker Compose Pluginも一緒に入れてくれます。

```shell
git clone https://github.com/zabbix/zabbix-docker.git
```

clone出来たら`docker compose`を起動

```shell
# クローンしたリポジトリに移動
cd zabbix-docker

# 色々な構成のcompose fileがあるので好きな構成を選択
cp docker-compose_v3_centos_mysql_latest.yaml docker-compose.yaml

# docker composeを起動
docker compose up -d
```

これでZabbixが起動できました。
`docker compose ps`で確認しましょう。

```shell
docker compose ps
```

コンテナが起動していることを確認したら、どのポートでWEBサーバが動いているのかをチェックしましょう。

```:docker compose ps
NAME                                     COMMAND                  SERVICE                  STATUS              PORTS
zabbix-docker-db_data_mysql-1            "sh"                     db_data_mysql            exited (0)          
zabbix-docker-mysql-server-1             "docker-entrypoint.s…"   mysql-server             running             
zabbix-docker-zabbix-server-1            "/usr/bin/tini -- /u…"   zabbix-server            running             0.0.0.0:10051->10051/tcp
zabbix-docker-zabbix-web-nginx-mysql-1   "docker-entrypoint.sh"   zabbix-web-nginx-mysql   running (healthy)   0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp
```

デフォルトでは`80`, `443`を開けるのでWSLで起動したのはちょっとミスったかもですね。`docker-compose.yaml`で`zabbix-web-nginx-mysql`のポートを上書きしてまた立て直しましょう。

ということで

```
NAME                                     COMMAND                  SERVICE                  STATUS               PORTS
zabbix-docker-db_data_mysql-1            "sh"                     db_data_mysql            exited (0)           
zabbix-docker-mysql-server-1             "docker-entrypoint.s…"   mysql-server             running              
zabbix-docker-zabbix-server-1            "/usr/bin/tini -- /u…"   zabbix-server            running              0.0.0.0:10051->10051/tcp
zabbix-docker-zabbix-web-nginx-mysql-1   "docker-entrypoint.sh"   zabbix-web-nginx-mysql   running (starting)   0.0.0.0:8080->8080/tcp, 0.0.0.0:8443->8443/tcp
```

これで良し

## Zabbixにアクセス

`https://localhost:8443/`にブラウザでアクセスします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402157/c91c0e1a-552c-a430-f45f-22ac529865d4.png)

初期ユーザーは`Admin`
初期パスワードは`zabbix`となります。

これでログインできました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402157/5b92d9a2-d61a-6145-85fb-abd15e1f01b1.png)

### NEC Univerge IXのテンプレートをインポート

https://www.zabbix.com/integrations/nec
こちらから`NEC Univerge IX`のテンプレートファイルをダウンロードします。
そして、`Configuration -> Templates`からテンプレートファイルをインポートすると`UNIVERGE IX`という名前のテンプレートが追加されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402157/e51b93ba-7ef9-a89d-de22-f33b024d2f38.png)


## NEC IXでSNMPを有効化

次にIX側でSNMP Trapを有効化します。

```
snmp-agent ip enable 
snmp-agent ip community myhome ro
snmp-agent ip host A.B.C.D myhome version 2
```

## Zabbixでホスト登録

`Configuration -> Hosts`でホストのページを開き右上の`Create host`を選択してホスト登録を行います。
`Host name`は適当なものを入れて`Template`で先ほど追加した`UNIVERGE IX`のテンプレートを選択します。
`Interface`では機器のIPを入れてSNMP version2の設定をしましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402157/96a3cb48-b1c9-07b1-f7b2-e3c38cbd0b9f.png)


## 適当にグラフを眺める

ホスト登録ができたら情報が取れているかを確認します。

`Monitoring -> Hosts`から登録したIXのグラフを見ます。

今さっきホスト登録とSNMPを有効化をしたので全然情報が集まっていないですが、取り敢えず`ICMP response time`がちょっとグラフになっていたのでこれで良しとしましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402157/0326df17-599d-eb1f-c36e-65c2df2354c0.png)


これでお家でZabbix監視に入門することが出来ました。

この調子でお家ネットワークを加速させていきたいですね。