« [EmEditor マクロ] ルビタグ追加 | トップページ | Windows イベントログ クリーニング »

2014年4月21日 (月)

MRTG絡みのスクリプト (覚書) [MRTGでifの統計データが起動のたびに入れ替わる]

/etc/init.d/mrtg_pre
-----------------------------------------------------
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
case "$1" in
        start)
                /usr/bin/snmpwalk -v 1 -c public 127.0.0.1 1.3.6.1.2.1.2.2.1.2 | awk '{print $1 $2 $4;}' >/tmp/MIB-eth.txt
                /usr/bin/perl /etc/mrtg.cfg.maker > /etc/mrtg.cfg
        ;;
esac
exit 0
-----------------------------------------------------
/etc/mrtg.cfg.maker
-----------------------------------------------------
open(INI,"/tmp/MIB-eth.txt");
$replace{"dummy"} = "";
while(<INI>)
{
        $s = $_;
        $s =~ s/\"//g;
        $s =~ s/\n//g;
        $s =~ s/\r//g;
        ($ss,$rr) = split(/\=/,$s);
        $ss  =~ s/iso.3.6.1.2.1.2.2.1.2.//g;
        $rr = $rr . "_replace";
        $replace{$rr} = $ss;
        $count = $count + 1;
}
close(INI);
open(FILE,"/etc/mrtg.cfg.base");
while(<FILE>)
{
        my $c;
        $s = $_;
        if ( $s =~ /Target/ && $s =~ /_replace\}/ )
        {
                $s =~ s/\{(.*?)\}/$replace{$1}/e;
        }
                print $s;
}
close(FILE);
現状、Debian機で稼働中。/etc/mrtg.cfg.baseでは、/etc/mrtg.cfgをコピーして、2:public@127.0.0.1を{eth0_replace}:public@127.0.0.1のようにして指定している。

« [EmEditor マクロ] ルビタグ追加 | トップページ | Windows イベントログ クリーニング »

Debian系Linux」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/1954/59507022

この記事へのトラックバック一覧です: MRTG絡みのスクリプト (覚書) [MRTGでifの統計データが起動のたびに入れ替わる]:

« [EmEditor マクロ] ルビタグ追加 | トップページ | Windows イベントログ クリーニング »