MRTGを使ったネットワーク監視技法

第4回Net-SNMPのインストール

今回は、UNIXサーバを監視対象機器するために必要な手順として、Net-SNMPを導入する方法を解説します。

UNIXでSNMPを使えるようにする

MRTGを学習するにあたり、監視する機器がなければ始まりません。身近なルータとしては、家庭用のブロードバンドルータがあります。しかし最近の安価なルータにはSNMPが実装されていないため、監視対象になりません。そこで、UNIXサーバにSNMPを実装して、監視対象機器にしたてることにします。

Net-SNMPを使う

監視対象機器には、FreeBSD7.1Rをインストールしたサーバを前提に話をすすめます。このサーバは、監視用のサーバとは別のものにしたほうがわかりやすいですが、MRTGをインストールしたサーバでもかまいません。

さて、UNIX上でSNMPを使えるようにするには、Net-SNMPというフリーソフトウェアを使うのが広く知られています。Net-SNMPにはsnmpwalkなどの周辺コマンドが充実しているため、SNMPについての学習を進めやすいという長所もあります。以下に、そのNet-SNMPのインストール手順を示します。

Net-SNMPをインストールする

以下のサイトから、ソースファイル(tarball)をダウンロードします。

インストール手順は以下の通りです。

% tar zxvfp ../archive/net-snmp-5.4.2.1.tar.gz
% cd net-snmp-5.4.2.1
% ./configure
% make
% sudo make install

これで以下のパスにインストールされます。

  • デーモン:/usr/local/sbin
  • ユーティリティ:/usr/local/bin
  • その他設定ファイルなど:/usr/local/share/snmp

snmpd.confの設定

続いて、SNMPのデーモンであるsnmpdを実行に必要なsnmpd.confというパラメータファイルを用意します。tarballを展開したパスに、EXAMPLE.confというファイルがあります。このファイルをsnmpd.confという名称に変更して、以下のパスにコピーします。

# cp EXAMPLE.conf /usr/local/share/snmp/snmpd.conf

しかし、デフォルトのEXAMPLE.confは、SNMPエージェントとして値を返さないようになっていますので、先ほどコピーした設定ファイル⁠snmpd.conf⁠を修正します。

修正前
#       sec.name  source          community
com2sec local     localhost       COMMUNITY
com2sec mynetwork NETWORK/24      COMMUNITY

修正後
#       sec.name  source          community
com2sec local     localhost       HIMITSU
com2sec mynetwork 192.168.1.0/24  HIMITSU

ここでは、コミュニティ名(COMMUNITY)とネットワークアドレス(NETWORK/24)を変更しました。デフォルトで記述されている「COMMUNITY」を、ここでは「HIMITSU」に書き換えました。実際には、もっとわかりづらい名称に書き換えてください。

SNMPの実行

最後にSNMPエージェントのデーモンであるsnmpdを実行します。

# /usr/local/sbin/snmpd

これでデーモンが起動します。なお、デーモンの管理にdaemontoolsを使う場合には、snmpd -f としてsnmpdをフォアグラウンドで実行させてください。

snmpdの状態を見ると、以下のようになります。

# ps ax | grep snmpd
 8306  ??  S     18:36.78 /usr/local/sbin/snmpd
#

もし、snmpdの稼働中にコミュニティ名の変更などを行った場合には、snmpdにsnmpd.confを再読み込ませなければなりません。このときはHUPのシグナルをsnmpdに送ります。上記の場合は、プロセス番号が8306ですから、以下のようになります。

# kill -HUP 8306

snmpd.confを見てみよう

先ほど作成したsnmpd.confの中を見てみると、コメント文の中にたくさんの例が入っているのがわかります。注目するのは、snmpwalkというコマンドを使った使用例です。snmpwalkを使うと、SNMPエージェントに対して、いろんな問い合わせができます。

たとえば、

# snmpwalk -v 1 -c HIMITSU localhost system

と入力すると、そのサーバ情報が表示されるはずですので、試してみてください。サーバ情報が表示されれば、正しくsnmpdが動いているということにもなります。

さて、このsnmpd.confに記載されている例を見ていくと、プロセスの数を返したり、CPUのロードアベレージを取得できることもわかります。これは同時にMRTGでこれらのデータも取得できるということですから、MRTGはいろんなことを監視できるソフトウェアであるが感じられると思います。

次回は

MRTGに組み込まれているコマンドの1つにcfgmakerがありますが、このcfgmakerを使って、MRTGのパラメータファイルを作ります。そしていよいよMRTGを実行してみます。

おすすめ記事

記事・ニュース一覧