2006年09月18日

開発合宿 2日目 - MRTGで任意のデータをグラフ化

livedoorClipに登録 | このエントリーをはてなブックマークに追加 | del.icio.usに登録 | MM/Memoに登録

開発合宿と言う名の食べ物旅行?



入門SNMP
入門SNMP
posted with amazlet on 06.09.18
ダグラス・R. マウロ ケビン・J. シュミット Douglas R. Mauro Kevin J. Schmidt 土本 康生 福田 剛士
オライリー・ジャパン (2002/07)
売り上げランキング: 60,680




■任意のデータをグラフ化

▼何でも良いのでグラフ化したい内容を出力するスクリプトを作る

ログインしている人数をグラフ化してみる。


$ sudo mkdir /etc/snmp/script/
$ cd /etc/snmp/script/; pwd
$ sudo vi w-num.sh
#!/bin/sh

w=$(/usr/bin/w | /usr/bin/wc -l)
echo $((${w} - 2))
$ sudo chmod +w w-num.sh
$ ./w-num.sh
2


▼snmpd.confの設定

$ sudo vi /etc/snmp/snmpd.conf
...
# Other ideas:
#
# exec .1.3.6.1.4.1.2021.51 ps /bin/ps
# exec .1.3.6.1.4.1.2021.52 top /usr/local/bin/top
# exec .1.3.6.1.4.1.2021.53 mailq /usr/bin/mailq
exec .1.3.6.1.4.1.2021.51 sgusers /etc/snmp/script/w-num.sh

$ sudo /etc/init.d/snmpd restart
$ snmpwalk -c private -v 1 127.0.0.1 .1.3.6.1.4.1.2021.51

snmpd.confにOIDを定義。
snmpwalkで取得出来る事を確認する。

ここでは例として コミュニティ名をprivate、snmpサーバを127.0.0.1としている。
ローカルの情報だけを取得するならsnmpを使わなくても良い。


▼MRTG設定

$ sudo mkdir -p /etc/mrtg/conf/
$ sudo mkdir /var/www/mrtg/127.0.0.1/

$ cd /etc/mrtg/conf/; pwd
$ sudo vi 127.0.0.1
LoadMIBs: /usr/share/snmp/mibs/UCD-SNMP-MIB.txt
WorkDir: /var/www/mrtg/127.0.0.1/

# Login Users
Target[sgusers_1]: .1.3.6.1.4.1.2021.51.101.1&.1.3.6.1.4.1.2021.51.101.1:private@127.0.0.1
MaxBytes[sgusers_1]: 100
Title[sgusers_1]: SparkleGate Users
PageTop[sgusers_1]: <H1>Login Users</H1>
Options[sgusers_1]: absolute,gauge,nopercent,noinfo
WithPeak[sgusers_1]: ymw

$ sudo mrtg ./127.0.0.1
$ sudo mrtg ./127.0.0.1
$ sudo mrtg ./127.0.0.1

$ indexmaker /etc/mrtg/conf/127.0.0.1 | sudo tee /var/www/mrtg/127.0.0.1/index.html


▼cron設定
やり方は多々有る。これは一例。
/etc/mrtg/conf 以下cfgを集約させ、存在するcfg数だけmrtgを実行。


$ cd /etc/mrtg/; pwd
$ sudo cat mrtg.sh
#!/bin/sh
#
PATH=/bin:/usr/bin:/sbin:/usr/sbin

dir=/etc/mrtg/conf

for i in ${dir}/*; do
[ -f ${i} ] || continue
echo ... ${i}
/usr/bin/mrtg ${i}
done
$ sudo chmod +x mrtg.sh
$ sudo ./mrtg.sh

$ sudo crontab -e
*/5 * * * * /etc/mrtg/mrtg.sh 2>&1 >/dev/null


今回はMRTGを使ってグラフ化してみた。


半袖 at 09:50│Comments(1)TrackBack(0)開発合宿 

トラックバックURL

この記事へのコメント

1. Posted by はげ   2006年09月18日 17:48
snmp良いですよね〜。
温度とか計って遊んでいます。

図ってはいませんけどw。

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔