MRTGの設定についてまとめた。
MRTGの設定は、以下のサイトを参考にした。
ZDNet デベロッパー: Linux How-To 第6回: SNMPによるネットワークモニタリング
mrtg.cfg設定ファイルのコマンドのリファレンスはここ。
http://www.mrtg.jp/doc/reference.html
意外と表示したい実/スワップメモリ使用量をMRTGというよりは、SNMPの問題点として、取得できない。そこで、総メモリ量と空きメモリ量を元にスクリプトで計算する必要がある。
MRTGによるネットワーク監視を参考にシェルスクリプトをつくり、MRTG側から実行させた。
シェルスクリプト
!/bin/ksh
IP=$1
set -A SYS `/usr/bin/snmpwalk -v 1 $IP public .1.3.6.1.2.1.1.1`
set -A MTS `/usr/bin/snmpwalk -v 1 $IP public .1.3.6.1.4.1.2021.4.3.0`
set -A MAS `/usr/bin/snmpwalk -v 1 $IP public .1.3.6.1.4.1.2021.4.4.0`
set -A MTR `/usr/bin/snmpwalk -v 1 $IP public .1.3.6.1.4.1.2021.4.5.0`
set -A MAR `/usr/bin/snmpwalk -v 1 $IP public .1.3.6.1.4.1.2021.4.6.0`
MEMR=`/usr/bin/expr ${MTR[2]} – ${MAR[2]}`
SWAR=`/usr/bin/expr ${MTS[2]} – ${MAS[2]}`
HOST=${SYS[3]}
/bin/echo $MEMR
/bin/echo $SWAR
/bin/echo “”
/bin/echo $HOST
MRTGの設定例
Target[mem]: `/usr/local/mrtg-2/bin/mem YOUR_IPADDRESS`
MaxBytes1[mem]: 255416
MaxBytes2[mem]: 524536
Title[mem]: Memory Used
PageTop[mem]: <H1>Memory Used</H1>
Options[mem]: gauge,absolute,nobanner
YLegend[mem]: Mem Free[MBytes]
Factor[mem]: 0.001
ShortLegend[mem]: MBytes
kMG[mem]: , M
kilo[mem]: 1024
Legend1[mem]: Real Memory
Legend2[mem]: Swap Memory
LegendI[mem]: Real
LegendO[mem]: Swap
ちなみに、Targetでシェルスクリプトを指定する場合の、「`」は「’」ではないので注意を。それで、つまづいた。