ZabbixでSNMP監視の基本的なやり方

前回 Zabbixを構築したので実際にSNMPでネットワーク機器から情報を取得してみました。
完全に初歩的なことだと思うのでこんなタイトルになりました。
Zabbixって昔からありますが、意外と情報が出てこない印象ですね。

コマンドで取得

まずはネットワーク機器でSNMPの設定をしてコマンドで取得できるか試します。
手元にYAMAHAのNVR500があるので今回はそれを使いました。
おそらくRTX1210とかでも同じようにできると思います。

SNMP機能の設定はNVR500にSSHやTelnetでログインして行います。
IPはZabbixを構築したサーバーを指定してください。

> administrator 
Password: 
# snmpv2c host 192.168.100.4
# snmpv2c community read-only public
# snmpv2c trap host 192.168.100.4
# snmpv2c trap community public
# snmp sysname NVR500
# exit 
新しい設定を保存しますか? (Y/N)Y
セーブ中... CONFIG0 終了

Zabbixを構築したサーバーからsnmpwalkコマンドで情報が取得できるか確認します。
コマンドがない場合はインストールします。

[root@centos ~]# yum -y install net-snmp net-snmp-utils

以下のOIDを指定するとsysNameを取得することができます。
IPはSNMPを設定したネットワーク機器を指定してください。

[root@centos ~]# snmpwalk -v 2c -c public 192.168.100.254 1.3.6.1.2.1.1.5.0
SNMPv2-MIB::sysName.0 = STRING: NVR500

名前で取得する場合はこんな感じ。

[root@centos ~]# snmpwalk -v 2c -c public 192.168.100.254 SNMPv2-MIB::sysName
SNMPv2-MIB::sysName.0 = STRING: NVR500

Zabbixで取得

コマンドで取得できることが確認できましたら、Zabbixで取得してみます。
ちなみZabbixはalpine-4.4-latestのコンテナイメージで構築しました。
バージョンは以下の通り。

[root@centos ~]# docker exec -it zabbix_server zabbix_server -V
zabbix_server (Zabbix) 4.4.5
Revision b93f5c4 28 January 2020, compilation time: Jan 28 2020 14:24:20

Copyright (C) 2020 Zabbix SIA
License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it according to
the license. There is NO WARRANTY, to the extent permitted by law.

This product includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit (http://www.openssl.org/).

Compiled with OpenSSL 1.1.1d  10 Sep 2019
Running with OpenSSL 1.1.1d  10 Sep 2019

ログインして「設定」⇒「ホスト」⇒「ホストの作成」でホストを作成します。

  • ホスト名:NVR500(なんでもいいです)
  • グループ:Templates/Network Devices(なんでもいいです)
  • SNMPインターフェース:ネットワーク機器のIPを指定してください
zabbix_01.png

ホストが追加されましたら「アイテム」⇒「アイテムの作成」からアイテムを追加します。

zabbix_02.png
  • 名前:sysName(なんでもいいです)
  • タイプ:SNMPv2エージェント
  • キー:sysName(とりあえずなんでもいいです)
  • SNMP OID:1.3.6.1.2.1.1.5.0(SNMPv2-MIB::sysName.0でもOKです)
  • SNMP コミュティ:public
  • データ型:文字列
zabbix_03.png

以上で完了です。
しばらく経つと「監視データ」⇒「概要」で
「グループ」をTemplates/Network Devicesに、
「タイプ」をデータにすると表示されると思います。

zabbix_04.png

テンプレートを使ったアイテムの作成

あとは取得したいOIDごとにアイテムを追加していけばいいわけですが、
ホストごとに設定するのは大変なのでテンプレートを使います。
ホストの「テンプレート」から今回は
「Template Net Network Generic Device SNMPv2」をリンクしてみます。

zabbix_05.png

するとアイテムがたくさん追加されています。
便利ですね!System nameも含まれてますね!

zabbix_06.png

ICMP pingも取れているのでこれでネットワーク機器のping死活監視ができますね!

zabbix_07.png

最初はWeb管理画面の使い方やアイテムの作り方がよくわからなかったですが、
ようやくわかってきた気がします。
でもホストが増えてきたときにどんなアイテムで取得して、どんなメトリクスで監視して、
どういうトリガーで通知させるとか、環境によって違うので
この辺りは経験がモノを言うんだろうなーと思います。
この投稿を入り口にしてもらえば幸いです。

次回 は拡張MIBからアイテムを作成する方法を書こうと思います。