[Zabbix] ゼロから始めるZabbix -snmp-

#はじめに

NW監視の学習として、監視用ツールとして良く使われている「Zabbix」とネットワーク監視方法で良く使われている「SNMP」と「SNMPTrap」の監視環境を構築をしてみる。それらの内容を数回に分けて掲載していく。
今回はsnmpでL2スイッチ（cisco）の監視環境を構築する。

■掲載内容
1 - [ゼロから始めるZabbix -構築-](https://qiita.com/CyberFortress/items/b37924c6086bc779aabb) 
2 - **ゼロから始めるZabbix -SNMP-   （本記事）**
3 - [ゼロから始めるZabbix -SNMPTrap-](https://qiita.com/CyberFortress/items/9a0133c6596bc864d975)

#SNMPとは
SNMP（Simple Network Management Protocol）の略。
ネットワーク内の機器の状態を監視することを目的につくられたプロトコルで、各ベンダ共通の規格。
CPUやメモリーの使用率等を把握することができ、障害の予兆察知や、障害時に原因を特定する際に役立つ。
![snmp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/f163878a-e7a9-4f23-3e7e-2ecfc9b7ef32.png)

#構築環境
・Centos 7
・zabbix 4.0 LTS
・上図のようにZabbixサーバとL2スイッチを接続
・L2スイッチはciscoを使用

#Zabbixの日本語化
Zabbixのインストール直後は言語が英語になるので前準備として日本語に設定

1.右上の人型のアイコンを押下
<img width="960" alt="1.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/d858a744-1f94-7ead-ee18-48cfae9512aa.png">

2.「Language」で「Japanese」を選択
<img width="545" alt="ran_w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/c05f9d80-6c93-e3db-f711-0379202ee27c.png">

3.「Update」を押下
<img width="545" alt="update_w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/2d54ec3c-264a-76b8-b4d9-adaeeec79b08.png">

4.日本語化されたことを確認
<img width="958" alt="3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/23303727-38f5-114e-147b-ff33aab1e7f5.png">


#作業
作業としてはZabbix側での監視対象機器（ホスト）の作成と、
監視対象機器（ホスト）側での設定追加作業が必要になる。

**【Zabbix側作業】**
1.監視対象（ホスト）の作成
　1-1. 「設定」を押下
　1-2. 「ホスト」を押下
　1-3. 「ホスト作成」を押下
<img width="958" alt="1-1w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/1bf3c34a-ac2a-7d2f-6a87-bc6f02fa43a4.png">


　1-4. 下記を入力

| 項目 | 値 |
|:-:|:-:|
| ホスト名 | 機器名を入力 |
| 表示名 | 表示名を入力 ※1 |
| グループ | グループ名を入力 ※2 |
| SNMPインターフェース |  監視対象機器のIPアドレスを入力 |
※1　グループ名をつけ、分類することで監視しやすくなります。
　　　拠点ごとや機器自体で分けることも可能。
※2 　監視するにあたり所属するグループを決める必要がある。
　　　下図では「スイッチ」と入力し、新規にグループを作成している。

　1-5. 「エージェントのインターフェース」の欄は今回使用しないので、「削除」を押下して項目を消す。
　1-6. 「追加」を押下
<img width="937" alt="1-2w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/a65b20dc-f48d-c0ef-365f-0b4bb4b894ff.png">

　1-7. ホストが追加されたことを確認
<img width="338" alt="1-3.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/2b202264-f39d-22a9-dd47-157f9482e837.png">

2.テンプレート設定
テンプレートを設定することで、どんなデータを収集するか、その収集したデータをもとに閾値設定し、アラートを出すことができる。テンプレートはZabbixのGUIやテキストでの編集が可能。

　2-1. 先程追加したホストの「L2SW_CISCO」を押下
<img width="338" alt="1-3w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/8feee401-9e72-13f5-97f9-9c596868ef2a.png">

　2-2. 「テンプレート」を押下
　2-3. 「選択」を押下
<img width="526" alt="2-2w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/fb8097b1-8ecd-6abc-f90f-c18e7ac7c6fe.png">

　2-4. 「Template Net Cisco IOS SNMPv2」の「チェックボックス」を押下
cisco機器は初めからテンプレートが用意されている為、今回は上記のテンプレートを使用。
SNMPはv1/v2/v3と3種類あり、数字が大きくなるほどセキュリティ性を高めることができる。
セキュリティ性が高まると同時にサーバへの負荷も大きくなるので注意が必要。
今回はv2を選択。（バージョンの詳細については割愛する）

　2-5. 「選択」を押下
<img width="334" alt="2-3w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/11659a4f-352f-f7bc-0be7-c00b735863e1.png">
　2-6. 「追加」を押下
<img width="368" alt="2-4w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/ac3a3f47-6a11-4df9-5548-a746c5dacbf0.png">

　2.7. 「更新」を押下
<img width="428" alt="2-5w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/95450389-5c94-8b06-1115-cb08af4ab6ab.png">

　2-8. テンプレート欄に複数のテンプレートが追加されたことを確認
<img width="956" alt="2-6w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/9adfe750-7c95-4316-540a-9591baef49ed.png">

3.マクロの設定
SNMPv2は、セキュリティ性を高めるためにコミュニティ名を使用している
Zabbix側と監視対象機器（ホスト）側に同一のコミュニティ名を設定しないとデータのやり取りができない。

　3-1. 「設定」を押下
　3-2. 「ホスト」を押下
　3-3. 追加したホストである「L2SW_CISCO」を押下
<img width="963" alt="3-1w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/3de9ee68-918b-17a6-0073-586b6c257443.png">

　3-4. 「マクロ」を押下
　3-5. 「継承したマクロとホストマクロ」を押下
<img width="542" alt="3-2w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/a4f47489-a810-ce27-8447-f0b20c2f7994.png">

　3-6. 下記を入力する

| 項目 | 値 |
|:-:|:-:|
| {$ SNMP_COMMUNITY} | コミュニティ名（任意） |
コミュニティ名は「public」が初期設定されているが、セキュリティ上、他のものに変更

　3-7. 「変更」を押下
　3-8. 「更新」を押下
<img width="572" alt="3-3w.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/605b1889-b897-72ea-500e-f80343708a30.png">

**【対象機器（ホスト）側作業】**
4.コンフィグを設定する

```
　4-1. 特権ユーザでコンフィグモードに移行
　# configure terminal

　4-2. 下記をコンフィグに追加 ※3-6で設定したミュニティ名を使用
　(config)# snmp-server community 【コミュニティ名】 RO
　(config)# snmp-server host 【ZabbixサーバIP】 【コミュニティ名】

　4-3. コンフィグモードから抜ける
　(config)# exit

　4-4. 設定を保存する
　# copy running-config startup-config
```

5.snmpデータの受信確認
Zabbix側での監視対象機器（ホスト）の作成と監視対象機器（ホスト）側での設定が完了したので、
Zabbixで正常にSNMPデータが受信できているかを確認する

　5-1. 「監視データ」を押下
　5-2. 「最新データ」を押下
　5-3. 下図のように受信しているSNMPデータが表示されていることを確認
<img width="523" alt="4.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/570011/bcc359b4-932c-5da2-5739-24056f9815de.png">

#おわりに
ZabbixサーバとL2スイッチを接続し、SNMP監視のデータをZabbixに収集することができた。
次回はSNMPTrapについて、学習していく。

#参考文献
[Zabbixモニタシスコスイッチ - SNMP](https://techexpert.tips/ja/zabbix-ja/zabbix%E3%83%A2%E3%83%8B%E3%82%BF%E3%82%B7%E3%82%B9%E3%82%B3%E3%82%B9%E3%82%A4%E3%83%83%E3%83%81-snmp/)