MRTGのカスタムスクリプトの練習

■以下でメモリの%を直接取得するようにカスタマイズしたコンフィグの続き。
 グラフの出力の理解を深めたい。

 Debian Lenny + MRTGでCPU、メモリ、ディスク監視
 http://d.hatena.ne.jp/labunix/20120111

■スクリプト(/bin/sh)の出力は以下の4行を出せばよい。
 ※数値は整数値とする。

$ whereis mem_squeeze.sh
mem_squeeze: /usr/local/bin/mem_squeeze.sh
$ ./mem_squeeze.sh
29
99
11days,
vmsqueeze

■以下書き直し。

 【出力の定義】
 ・1:システム時間の分を取得
 ・2:常に0。
 ・3:稼働時間の取得
 ・4:ホスト名を取得

$ sudo vim /usr/local/bin/run
$ sudo cat /usr/local/bin/run
#!/bin/sh
date '+%M'
echo "0"
uptime | awk '{print $3 $4}'
echo `hostname`
exit 0

■「mrtg.cfg」に追加

Target[self]: `/usr/local/bin/run`
Options[self]: gauge,growright,absolute,bits
MaxBytes[self]: 60
YLegend[self]: Self Minute
Legend1[self]: Minute
Legend2[self]:
LegendI[self]: Minute
LegendO[self]:
ShortLegend[self]: times
Title[self]: Minute
PageTop[self]: <h1>Minute</h1>

■mrtgコマンドの3回実行

$ sudo LANG=C mrtg
$ sudo LANG=C mrtg
$ sudo LANG=C mrtg

■トップページの更新

$ sudo indexmaker /etc/mrtg.cfg --columns=1 --output /var/www/mrtg/index.html

■ログの監視
 5分単位で出力。
 最低1時間は流さないとグラフが正しいかどうか判断出来ないのが難点か。。。

$ while true;do head -2 /var/www/mrtg/self.log ;sleep 300;done
1327155126 12 0
1327155126 12 0 12 0

■以下をもう一度読み直し、修正しました。
 ※また修正するかも。。。

 参考:MRTGによるサーバ監視システムの構築
 http://www.atmarkit.co.jp/flinux/rensai/root08/root08a.html