Munin で SNMP 対応機器を監視する

0. 前提

Linux などのサーバー監視で便利なツール Munin ですが、 SNMP 対応機器を監視するには設定が必要です。
ここでは、CentOS 5.7 にインストールした Munin を使い SNMP 対応機器からデータを収集する手順を解説します。
なお、あらかじめ Munin が導入されていて、SNMP 対応機器での設定は終了している事とします。
例では、機器名称を「nec-router」?SNMP 対応機器に割り当てられている?IP アドレスは「192.168.1.xxx 」とします。

1. SNMP 対応機器を監視対象にする

/etc/munin/munin.conf を開き、次のような設定を追加します。

# vi /etc/munin/munin.conf
[nec-router]          # 機器名称
??? address 127.0.0.1 # 監視対象のIPアドレスではありません。127.0.0.1にしてください。
??? use_node_name no

なぜ、IP アドレスに 127.0.0.1 を設定するのかについては
右図の構成であると考えもらうとわかりやすいと思います。

Munin サーバーからローカルの Munin Node を呼びだし
更に SNMP プラグインを呼び出している形です。

Munin が直接 SNMP 機器を呼び出しているわけではないので
設定する IP アドレスは 127.0.0.1 となるわけです。

その他の Munin Node を導入している監視対象では
Munin Node で設定された情報を受け取ることが可能なため
監視対象の IP アドレスを設定しています。

 

1.1 IP アドレス以外での設定方法

IP アドレスで設定を行う場合、IP アドレスが変化した場合の対応が面倒になります。
/etc/hosts に以下のような内容を追加し、ホスト名を与えることでこの問題が解決しやすくなります。

# vim /etc/hosts
192.68.1.xxx??? nec-router # わかりやすい名称が良いかと思います。

2. Munin で監視対象を自動設定する

Munin で監視可能なデータを自動的に判断して追加することができます。
もし、除外したい監視対象がある場合は、/etc/munin/plugins に配置されているシンボリックリンクから
該当するものを適宜削除してください。

また、下記コマンドの最後から「 | sh」を削除することで、実行内容があらかじめ確認出来ます。

# munin-node-configure-snmp nec-router --snmpcommunity <コミュニティ名> | sh

3. SNMP 機器への接続方法を設定する

/etc/munin/plugin-conf.d/munin-node を開き、SNMP 機器用の設定を次のように追加します。

# vi /etc/munin/plugin-conf.d/munin-node
[snmp_nec-router_*]
??? env.community public   # SNMP 対応機器で設定したコミュニティ名
    env.version 2          # SNMPv1 のみの機器であれば1を設定。

4. munin-node を再起動する

最後に munin-node を再起動してあげれば、次回更新時にグラフとページが作成されます。

# service munin-node restart

早く確認したい場合は、次のコマンドを入力する事で手動更新が可能です。

# sudo -u munin /usr/bin/munin-cron

参考

Using_SNMP_plugins – Munin – Trac
http://munin-monitoring.org/wiki/Using_SNMP_plugins

Last-modified: 2012年02月09日