【Zabbix】Zabbix5.0からSNMP監視(MIB監視)をしてみる

Zabbix でSNMP監視を行うまでの備忘録をつらつら書いていきます。

目標

ZabbixからヤマハのRTX810のWANポートのリンクアップ/ダウンの状態を監視できるようになる

net-snmp-utilsのインストール

Zabbixサーバからネットワーク機器にnet-snmp-utilesのインストール

# yum install -y net-snmp-utils

動作確認

↓こんな感じで結果が表示されればインストールOK

[root@localhost ~]# snmpwalk 
No hostname specified.
USAGE: snmpwalk [OPTIONS] AGENT [OID]
・・・

ネットワーク機器へSNMPの設定

今回はYAMAHA RTX810にSNMPの設定を行います。

下はYAMAHAのRTX810に接続して操作しています。

# snmpv2c host 192.168.1.101 satimo

ざっくりとしたコマンドの説明

snmpv2c host 192.168.1.101 satimo

192.168.1.101:SNMP接続している監視サーバのアドレスを指定

satoimo:コミュニティ名の設定(監視サーバが接続する際のパスワード)

標準MIBの状態を見てみる

ここからZabbixサーバ上で操作しています。

[root@localhost ~]# snmpwalk -v 2c -c satimo 192.168.1.254

SNMPv2-MIB::sysDescr.0 = STRING: RTX810 Rev.11.01.16 (build 11) (Fri Jun 21 14:02:16 2013)
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.1182.1.41
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (5430911) 15:05:09.11
SNMPv2-MIB::sysContact.0 = STRING: 
SNMPv2-MIB::sysName.0 = STRING: 
SNMPv2-MIB::sysLocation.0 = STRING: 
SNMPv2-MIB::sysServices.0 = INTEGER: 12
IF-MIB::ifNumber.0 = INTEGER: 1139
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifIndex.58 = INTEGER: 58
IF-MIB::ifIndex.59 = INTEGER: 59
・・・

SNMP監視を行うネットワーク機器(今回はRTX810)のIPアドレスを192.168.1.254に設定しています。

Zabbixサーバから『snmpwalk -v 2c -c satimo 192.168.1.254』を実行すると何かしら結果が返ってくることを確認します。

上のような結果が返ってくればZabbixからSNMP接続できている状態です。

次に目標のWANポートがリンクアップしているかどうかを確認していきます。

結論としてRTX810の場合は『ifOperStatus.2』の結果を確認すればOKです。

ifOperStatus.2の結果を見てみると、downと表示されることがわかります。(LANケーブルが接続されていない状態)

[root@localhost ~]# snmpget -v 2c -c satimo 192.168.1.254 ifOperStatus.2
IF-MIB::ifOperStatus.3 = INTEGER: down(2)

これだけだと面白くないので、他の機種でも応用できるようにここから説明していきます。

まず、監視できるインターフェースについてみてみます。

snmpwalk -v 2c -c satimo 192.168.1.254 | grep ifDescr

[root@localhost ~]# snmpwalk -v 2c -c satimo 192.168.1.254 | grep ifDescr
IF-MIB::ifDescr.1 = STRING: LAN1
IF-MIB::ifDescr.2 = STRING: LAN2
IF-MIB::ifDescr.3 = STRING: WAN1
IF-MIB::ifDescr.58 = STRING: NULL
IF-MIB::ifDescr.59 = STRING: LOOPBACK1
IF-MIB::ifDescr.60 = STRING: LOOPBACK2
IF-MIB::ifDescr.61 = STRING: LOOPBACK3
IF-MIB::ifDescr.62 = STRING: LOOPBACK4
IF-MIB::ifDescr.63 = STRING: LOOPBACK5
IF-MIB::ifDescr.64 = STRING: LOOPBACK6
IF-MIB::ifDescr.65 = STRING: LOOPBACK7
IF-MIB::ifDescr.66 = STRING: LOOPBACK8
IF-MIB::ifDescr.67 = STRING: LOOPBACK9

ここで重要なことは、どのインデックス番号がどのインターフェースに紐づいているか?になります

例えば

『IF-MIB::ifDescr.1 = STRING: LAN1』であれば、インデックス番号が “1” はLAN1をさしてますよ~

『IF-MIB::ifDescr.2 = STRING: LAN2』であれば、インデックス番号が “2” はLAN2をさしてますよ~

ということを言っています。

ここで注意事項
RTX810を触ったことがある人は気づいていると思いますが、RTX810や830にはLAN2ポートは存在していません。(あるのはLAN1とWAN)
結構適当です。。。ほかにもVLANが設定されているときなんかも結構注意が必要です。。。

なので監視の設定するときは必ず検証することが必要です。

次に、各インターフェースの状態を見ていきます。

まず、192.168.1.254(RTX810)のインターフェースにはLAN1-1ポートにLANケーブルが接続されている状態で下のコマンドを実行します。

[root@localhost ~]# snmpwalk -v 2c -c satimo 192.168.1.254 | grep ifOper

[root@localhost ~]# snmpwalk -v 2c -c satimo 192.168.1.254 | grep ifOper
IF-MIB::ifOperStatus.1 = INTEGER: up(1)
IF-MIB::ifOperStatus.2 = INTEGER: down(2)
IF-MIB::ifOperStatus.3 = INTEGER: down(2)
IF-MIB::ifOperStatus.58 = INTEGER: up(1)
IF-MIB::ifOperStatus.59 = INTEGER: up(1)
IF-MIB::ifOperStatus.60 = INTEGER: up(1)
IF-MIB::ifOperStatus.61 = INTEGER: up(1)
IF-MIB::ifOperStatus.62 = INTEGER: up(1)
IF-MIB::ifOperStatus.63 = INTEGER: up(1)
IF-MIB::ifOperStatus.64 = INTEGER: up(1)
IF-MIB::ifOperStatus.65 = INTEGER: up(1)
IF-MIB::ifOperStatus.66 = INTEGER: up(1)
IF-MIB::ifOperStatus.67 = INTEGER: up(1)

次にWANポートにLANケーブルを接続しリンクアップさせた状態でコマンドを実行してみます。

[root@localhost ~]# snmpwalk -v 2c -c satimo 192.168.1.254 | grep ifOper
IF-MIB::ifOperStatus.1 = INTEGER: up(1)
IF-MIB::ifOperStatus.2 = INTEGER: up(1)
IF-MIB::ifOperStatus.3 = INTEGER: down(2)
IF-MIB::ifOperStatus.58 = INTEGER: up(1)
IF-MIB::ifOperStatus.59 = INTEGER: up(1)
IF-MIB::ifOperStatus.60 = INTEGER: up(1)
IF-MIB::ifOperStatus.61 = INTEGER: up(1)
IF-MIB::ifOperStatus.62 = INTEGER: up(1)
IF-MIB::ifOperStatus.63 = INTEGER: up(1)
IF-MIB::ifOperStatus.64 = INTEGER: up(1)
IF-MIB::ifOperStatus.65 = INTEGER: up(1)
IF-MIB::ifOperStatus.66 = INTEGER: up(1)
IF-MIB::ifOperStatus.67 = INTEGER: up(1)

はい。IF-MIB::ifOperStatus.2 の項目がdown(2)からup(1)に変わったことがわかると思います。

つまり、リンクアップしているときは “1”リンクダウンしているときは “2”が返ってくることがわかります。

この結果をZabbixで監視をしてあげればリンクアップ/ダウンの監視ができるようになります。

Zabbixでリンクアップ/ダウンの状態監視

ホストの登録

「設定」-「ホスト」-「ホストの作成」をクリック

ホスト名:RTX810(任意)

グループ:lab(任意)

インターフェース

・エージェント:192.168.1.254

・SNMP:192.168.1.254

・SNMPバージョン:SNMPv2

・SNMPコミュニティ名:{$SNMP_COMMUNITY}

上のほうにある『マクロ』タブをクリック

マクロ:{$SNMP_COMMUNITY}

値:satimo

以上を入力し『追加』をクリック

アイテムの登録

「設定」-「ホスト」-「RTX810の項目にある「アイテム」」-「アイテムの作成」をクリック

・名前:WANポート監視

・タイプ:SNMPエージェント

・キー:ifOperStatus.2

・SNMP OID:ifOperStatus.2

トリガーの設定

「設定」-「ホスト」-「RTX810の項目にある「トリガー」」-「トリガーの作成」をクリック

・名前:WANポートがリンクダウンしています

・深刻度:重度の障害

・条件式:{RT810:ifOperStatus.2.last()}=2

(取得した値が”2”だったら重度の障害)

動作確認

「監視データ」-「最新データ」「ホストの項目”RTX810″」と入力し『適用』をクリック

名前がWANポート監視の項目に1 か 2が表示されていればOK

動作確認2

WANポートに接続されているLANケーブルを抜いてみて障害通知されることを確認してみます。

ダッシュボード上に障害と通知されればOK!

監視についてのおすすめ書籍

これから監視の業務をやる人や、監視業務をなんとなくやっている人におすすめの一冊

監視って本来こういうものだよね?とかこういう監視ってダメだよね?とか
監視の在り方、手法について体系立てて書いてあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA