IR 情報

お問い合わせ

BLOG

統合システム監視

2021 年 03 月 23 日

SNMP を使用して Zabbix でルーターを監視

はじめに

今回の記事では「MIRACLE ZBX」がインストールされている前提でお話を進めていきます。
使用環境の詳しいソフトウェアのバージョンについては表 1 に示します。
もし、インストールされていないという方がいましたら、弊社ブログの「MIRACLE ZBX インストール」を参考にインストールしてから、こちらの記事を読んでいただますと幸いです。
また、今回のブログで使用している弊社製品の「MIRACLE ZBX」を「Zabbix」と表記しています。
オープンソースソフトウェア (OSS) の「Zabbix」と弊社製品の「MIRACLE ZBX」は互換性があるとはいえ、今回のブログで弊社製品の「MIRACLE ZBX」ではなく、「OSS の Zabbix」を使用する場合、こちらのブログ通りに行っても動かない可能性があります。
また、今回は Yamaha 製品ルーターである RTX810 を使用しているため、他社製品、RTX810 以外の Yamaha 製品では当ブログ通りに行っても動かない可能性があります。
その他、OS、サーバ、データベースにつきましても今回のソフトウェア、バージョン以外では動かない可能性がございますので予めご了承ください。

表 1 ソフトウェア、ハードウェアの使用環境

仕様ソフトウェア、ハードウェア バージョン
CentOS 7.8.2003 (Core)
MIRACLE ZBX 4.0.20-11
RTX810(Yamaha 製品のルーター) Rev.11.01.34
httpd Apache/2.4.6 (CentOS)
MariaDB/MySQL 15.1 Distrib 5.5.65-MariaDB

今回のブログで行うこと

今回のブログでは「ルーターの CPU 使用率、メモリ使用率、ネットワークトラフィックを監視して Zabbix でグラフ化表示する」といったことを行います。
このブログを通して、以下の三つを学ぶことができます。

  • 「Zabbix を使用したネットワークの監視方法」
  • 「ルーター自身が持つ豊富な機能」
  • 「SNMP(Simple Network Management Protocol) とは何か、その使用方法とは」

SNMP(Simple Network Management Protocol) とは

SNMP はルーター、スイッチ、サーバなどネットワークに接続された機器に対して監視を行うためのプロトコルです。
この SNMP を使うことで、機器が持っている様々な情報を取得することができます。

MIB(Management Information Base) と OID(Object IDentifier) とは

MIB はルーター、スイッチ、サーバを生産してるベンダーが SNMP を介して機器から持ってこれる管理情報に対して固有の名前を与えている規格です。
MIB の中でも、インターフェース名、稼働時間といった一般的に使用されるものは標準 MIB として定義されています。
また、ベンダー独自で使用されているものは拡張 MIB( 別名 ベンダー MIB、またはプライベート MIB) として定義されています。
OID とは、MIB を利用して管理されているシンボル名から取得できる一意の値です。
例えば、Yamaha ルーター製品である RTX810 の場合は、「メモリ使用率」のシンボル名であれば「YAMAHA-RT-HARDWARE::yrhMemoryUtil」と表現されています。
このシンボル名は Yamaha 社の拡張 MIB として定義されています。
また、この OID は「.1.3.6.1.4.1.1182.2.1.4」となります。
これより詳しい話を知りたい場合は A Simple Network Management Protocol (SNMP) をご覧ください。

Yamaha ルーターに対して SNMP を有効にする

さっそく、Yamaha ルーター RTX810( 以下 RTX810) に対して SNMP の設定をやっていきましょう。 
Zabbix サーバ側の IP アドレスに情報を送るように設定をします。
RTX810 にログイン (telnet や ssh から ) を行い、以下のコマンドを Administrator( 管理者権限 ) で実行します。
今回の Zabbix サーバの IP アドレスは 192.168.100.3 となっていますので、この IP アドレスに設定をします。

# snmp host 192.168.100.3 public
# snmp trap host 192.168.100.3
# snmpv2c host 192.168.100.3 public
# snmpv2c trap host 192.168.100.3

SNMP が有効になっているのか確認を行う

RTX810 に対して SNMP が有効になっているのを実際に確認を行ってみます。
Zabbix サーバのターミナルで以下のコマンドを実行し、正常に通信を行っているのか確認してみます。
使用している RTX810 の IP アドレスは 192.168.100.1 となっていますので、こちらの IP アドレスに対して設定を行っていきます。
確認のために、snmpwalk コマンドを使用するためインストールからやります。

$ sudo yum install net-snmp-utils
$ snmpwalk -v 1 -c public 192.168.100.1

もし正常に返ってきたのであれば、取得できる情報の全てがターミナルに出力されています。
しかし、以下の図 1 のように情報が取れていますが、接頭辞に「enterprises」というのがある、よく分からない文字の羅列になっている部分が多いと思います。

図 1 接頭辞に「enterprises」がついている出力

これは、RTX810 の拡張 MIB が SNMP にないため、値は読み取れていますが、どういった数字の意味なのか解釈することができない状態になっています。
ここで、RTX810 の拡張 MIB を加えてみましょう。
以下のコマンドで、拡張 MIB が格納されているディレクトリに Tar ファイルをダウンロードして解凍します。

$ cd /usr/share/snmp/mibs
$ sudo wget http://www.rtpro.yamaha.co.jp/RT/docs/mib/yamaha-private-mib.tar.gz
$ sudo tar -xvf yamaha-private-mib.tar.gz

次に、以下のコマンドで snmp.conf ファイルを作成し、そのファイルに対して mib all と書き込み、snmpd の再起動を行います。

$ sudo vi /usr/share/snmp/snmp.conf
$ sudo systemctl restart snmpd

これでもう一度、以下のコマンドを実行すると先ほどとは違い、接頭辞に「enterprises」がついているものがなくなっているはずです。

$ snmpwalk -v 1 -c public 192.168.100.1

これで、拡張 MIB にあるシンボル名から OID の数字の羅列を特定することができるようになりました。
実際に以下のコマンドを実行し、メモリ使用率の OID の値を特定してみましょう。

$ snmptranslate -On YAMAHA-RT-HARDWARE::yrhMemoryUtil

RTX810 であった場合は .1.3.6.1.4.1.1182.2.1.4 という OID で返ってきます。
この情報からメモリ使用率を以下のコマンドを実行して実際に見てみましょう。

$ snmpwalk -v 1 -c public 192.168.100.1 .1.3.6.1.4.1.1182.2.1.4

以下のような出力が得られるはずです。

YAMAHA-RT-HARDWARE::yrhMemoryUtil.0 = Gauge32: 8

Zabbix に RTX810 用の OID をテンプレートを追加

これで OID の取得を行うことができるようになりました。
そこで、今回は XML ファイルに取得したい OID を設定し、グラフ化するというところを行っていきます。
以下のように Excel などで XML 形式でテンプレートを作成してください。

Zabbix 管理画面にログインし、「設定」 という項目を選択し、設定の項目の中にある「テンプレート」を選択してください。
図 2 に示しているテンプレート枠内の右上に「インポート」というボタンがあるのでそれを選択してください。

図 2 テンプレートの画面

図 3 に示しているインポートの中にある「Browse...」のボタンを選択してダウンロードした XML ファイルを選択してください。
最後に「インポート」のボタンを選択するとテンプレートがインポートされます。

図 3 インポート画面

RTX810 を監視するためにホストを追加

RTX810 を監視するためのホストの追加をします。
Zabbix 管理画面から、設定の項目の中にあるホストを選択します。
図 4 に示しているホストのなかの右上にある、「ホストの作成」を選択します。

図 4 ホストの画面

図 5 に示している通りに「エージェントのインターフェース」を削除し、「SNMP インターフェース」を追加します。
今回は「グループ」の項目には「Templates/Network devices」を選択します。
「SNMP インターフェース」の項目には RTX810 の IP アドレスを入力してください。
今回の例の場合ですと 192.168.100.1 になっています。
最後に「追加」を選択して、入力した「SNMP インターフェース」を追加してください。

< class="text-center"p> 図 5 ホスト作成の画面

次に、ホストのテンプレートの設定を行います。
現在選択されているタブである「ホスト」の右にある「テンプレート」を選択します。
選択をしたら、「新規テンプレートをリンク」の「選択」ボタンを選択します。
多くのテンプレートが出てきますが、さきほどインポートした「Temp_RTX810」を選択します。
選択が終わったら、すぐ下にある「追加」ボタンで追加を行ってください。
正しく設定できた場合は図 6 のようになっています。

図 6 ホストのテンプレート作成の画面

ここまでできたらホストの画面では設定した RTX810 のホストの「エージェントの状態」にある SNMP が正常に通信ができていたら図 7 のように緑色になります。

図 7 RTX810 ホストが正常に動いているときの画面

グラフを見るためのスクリーンを設定

ここでは、RTX810 を監視するためのスクリーンを設定していきます。
「監視データ」項目の「スクリーン」を選択してください。
図 8 のように「スクリーン」の中の右上にある「スクリーンの作成」を選択してください。

図 8 スクリーンの画面

「スクリーンの作成」を選択すると図 9 のような画面に遷移します。
図 9 のように名前の項目には「RTX810_screen」、列、行の項目には「2」を入力してください。
入力が終わったら、「追加」のボタンを選択してください。

図 9 RTX810 用のスクリーン作成の画面

作成が終われば自動的に「スクリーン」の画面に遷移するので先ほど作成した「RTX810_screen」を選択してください。
選択をすると図 10 のように画面遷移します。
図 10 の「スクリーン」の中身の右上にある、「スクリーンの変更」を選択してください。

図 10 スクリーンの画面

「スクリーンの変更」を選択すると再び画面遷移が起き、図 11 のような画面になります。
ここで、1 行 1 列目にある「変更」を選択してください。

図 11 RTX810 用のスクリーン作成の画面

「変更」を選択すると画面遷移し、図 12 のような画面になります。
ここでは、グラフの項目にある「選択」のボタンを選択してください。
選択すると図 12 のような画面になります。
全部で 3 つのグラフを選択できるようになっています。
ここでは一番上のグラフの「RTX810_CPU+Mem」のグラフを選択します。
選択が終わった後、「追加」のボタンを選択してください。

図 12 RTX810 用のスクリーン追加の画面

「追加」のボタンを選択すると、画面が遷移し、図 13 のようになっています。
これを先ほどと同様に、1 行 2 列目の「変更」に「RTX810_LAN1」、2 行 1 列目の「変更」に「RTX810_LAN2」を追加してみてください。

図 13 RTX810 用のスクリーンに「RTX810_CPU+Mem」のグラフ

残り二つのグラフを追加すると図 14 のような画面になります。
これで RTX810 の監視ができるようになりました。

図 14 RTX810 用のスクリーンの最終的な画面

終わりに

今回の SNMP を使った ルーター RTX810 の監視はいかがだったでしょうか。
今回行ったことではルーターがどういった通信をしているときにトラフィックを多く使っているのかなどをおおまかに見ることができます。
また、今回は RTX810 を使用して監視を行いましたが、ベンダーによってはルーターの種類によって、拡張 MIB のシンボル名が細分化されているなど、使う用途によって監視データの種類を変更できるようになっています。
ここでは、紹介しきれませんでしたが、「不正アクセスがあったときの SNMP トラップ」や「不正ユーザ、未認証クライアントのアクセスがあったときの SNMP トラップ」など情報セキュリティの用途にも使用することができます。
ぜひ、みなさんも弊社製品の MIRACLE ZBX を活用して監視を行ってみてください。

参考文献
  1. SNMP とネットワーク管理の概要 (2020.05.22 アクセス )
  2. Zabbix Server 3.2 で YAMAHA RTX1210 を監視する (2020.05.22 アクセス )
  3. [Yamaha RTX 1200] 拡張 MIB の値を取得する (2020.05.22 アクセス )
  4. RT の挙動と SNMP トラップ (2020.05.22 アクセス )
  5. SNMP(YAMAHA) (2020.05.22 アクセス )
  6. YAMAHA RT シリーズの FAQ / SNMP (2020.05.22 アクセス )
  7. SNMP機能を設定する (2020.05.22 アクセス )

この記事の関連製品はこちら
Zabbix ベースの統合システム監視 MIRACLE ZBX

SSL/TLS サーバー証明書 SureServer Prime
採用情報ページ リニューアル
組込み Linux にプラスして 長期間の製品ライフサイクルをサポート EM+PLS