SNMP(Simple Network Management Protocol)は、ネットワーク機器を
管理したり監視することができます。ここで扱うucd-snmp(RedHat7.3標準)では、
CPU温度・ディスク容量・メモリ使用量の取得や、
任意のコマンドを実行し結果を拾ってきたり、応用が可能です。
SNMPに関するもっと詳しい情報は別のサイトを参照されると良いでしょう。
これから説明する内容は、下記のパッケージが
インストールされていることが前提となります。
ucd-snmpの設定ファイルは
/etc/snmp/snmp.conf にあります。
com2sec local default private
group MyRWGroup v1 local
group MyRWGroup v2c local
view all included .1 80
access MyRWGroup "" any noauth exact all all all
syslocation Router
syscontact Root
load 100 100 100
pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat
その他の設定サンプルやコメント文はざっくり省略してあります.
# /etc/rc.d/init.d/snmpd start
にて、デーモンを始動できます。
mrtgの設定
概要
MRTGはSNMPマネージャの1つで、SNMPサーバーから拾ってきた
データを見やすいグラフ画像とhtml文章に、定期的に(普通5分毎)
書き出してくれるものです。
書き出すまでの流れは、
cronに呼ばれる
呼ばれた時に引数で渡された設定ファイルを読む
サーバーから情報を取ってくる
ログファイルに書き込む
グラフとhtmlファイルを生成する
このような感じになります。 それぞれ関連するファイルは、
/etc/crontab
/etc/mrtg/router.cfg
です。
/etc/mrtg/router.cfg ファイル
# グラフ画像とhtmlファイルを書き出すディレクトリです。
# あらかじめ用意しておきましょう。
WorkDir: /var/www/html/mrtg
Options[_]: bits
# 2 : 監視対象のインターフェイス番号です。2=eth0, 3=eth1などになる場合が多いです。
# private : サーバーのsnmpd.confで設定した名前です。
# 192.168.1.254 : サーバーのIPアドレスを入力。
Target[router]: 2:private@192.168.1.254:
SetEnv[router]: MRTG_INT_IP="192.168.1.254" MRTG_INT_DESCR="eth0"
MaxBytes[router]: 1250000
AbsMax[router]: 12500000
Title[router]: Traffic Analysis for router
PageTop[router]: <H1>Traffic Analysis for router
/etc/crontab ファイル
ファイルの一番最後に次の行を追加します。
0-59/5 * * * * root /usr/bin/mrtg /etc/mrtg/router.cfg
これで5分毎にグラフの書き出しが行われるようになります。