前回に引き続き、
cfgmakerを活用する
コンフィギュレーションファイル
実は、
今回はcfgmakerを使って、
cfgmakerを使い、手修正のいらないmrtg.cfgを作る
WorkDirなどのグローバルキーワードは、
/usr/local/mrtg-2/bin/cfgmaker ¥
--global "WorkDir: /usr/local/apache2/htdocs/mrtg" ¥
--global "IconDir: /mrtg/icons/" ¥
--global "options[_]: growright,bits" ¥
--global "Language: eucjp" ¥
--output="mrtg.cfg" ¥
[email protected]
このスクリプトでは、
このスクリプトに実行権限を付けたあと、
# chmod 755 cfg_mrtg.sh
# ./cfg_mrtg.sh
テンプレートを使う
mrtg.

これらも日本語にするためには、
今、
$head_lines="";
$problem_lines="";
$target_lines="";
$separator_lines="";
if ($if_ok) {
my( $TN ) = $target_name;
# MaxBytes, Title
if ($TN eq "192.168.1.208_1") {SL( 1250000, "ルータ1" )};
}
#====================================================
#
# SL (Set Lines)
#
sub SL
{
my ($MaxBytes, $Title ) = @_;
my ($bps);
my ($MK);
$bps = $MaxBytes * 8.0 / 1000000.0;
if ( $bps < 1.0 ) {
$bps = $bps * 1000;
$MK = "Kbps";
} else {
$MK = "Mbps";
}
$target_lines .= <<HTMLTEXT;
Target[$target_name]: $if_index:$router_connect
MaxBytes[$target_name]: $MaxBytes
Title[$target_name]: $Title [ $bps $MK ] $sysname : $target_name
Directory[$target_name]: $router_name
PageTop[$target_name]: <H1>$Title : $sysname : $target_name</H1>
<div>
<TABLE>
<TR><TD>システム名</TD><TD>$sysname</TD></TR>
<TR><TD>場所</TD> <TD>$html_syslocation</TD></TR>
<TR><TD>担当者</TD> <TD>$html_syscontact</TD></TR>
<TR><TD>回線速度</TD> <TD>$bps $MK</TD></TR>
</TABLE>
</div>
HTMLTEXT
}
次にテンプレートを使うことをスクリプトに明記します。
/usr/local/mrtg-2/bin/cfgmaker ¥
--global "WorkDir: /usr/local/apache2/htdocs/mrtg" ¥
--global "IconDir: /mrtg/icons/" ¥
--global "options[_]: growright,bits" ¥
--global "Language: eucjp" ¥
--if-template cfg_mrtg.temp ¥
--output="mrtg.cfg" ¥
[email protected]
このスクリプトを実行すると、
# Created by
# /usr/local/mrtg-2/bin/cfgmaker --global "WorkDir: /usr/local/apache2/htdocs/mrtg" --global "IconDir: /mrtg/icons/" --global "options[_]: growright" --global "Language: eucjp" --subdirs=HOSTNAME --if-template cfg_mrtg.temp --output=mrtg.cfg [email protected]
### Global Config Options
# for UNIX
# WorkDir: /home/http/mrtg
# or for NT
# WorkDir: c:\mrtgdata
### Global Defaults
# to get bits instead of bytes and graphs growing to the right
# Options[_]: growright, bits
EnableIPv6: no
WorkDir: /usr/local/apache2/htdocs/mrtg
IconDir: /mrtg/icons/
options[_]: growright
Language: eucjp
######################################################################
# System: mrtg.sample.jp
# Description: FreeBSD mrtg.sample.jp 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Thu Jan 1 14:37:25 UTC 2009 [email protected]:/usr/obj/usr/src/sys/GENERIC i386
# Contact: 田村 <[email protected]>
# Location: 群馬県
######################################################################
Target[192.168.1.208_1]: 1:[email protected]:
MaxBytes[192.168.1.208_1]: 1250000
Title[192.168.1.208_1]: ルータ1 [ 10 Mbps ] mrtg.sample.jp : 192.168.1.208_1
Directory[192.168.1.208_1]: 192.168.1.208
PageTop[192.168.1.208_1]: <H1>ルータ1 : mrtg.sample.jp : 192.168.1.208_1</H1>
<div>
<TABLE>
<TR><TD>システム名</TD><TD>mrtg.sample.jp</TD></TR>
<TR><TD>場所</TD> <TD>群馬県</TD></TR>
<TR><TD>担当者</TD> <TD>田村 <[email protected]></TD></TR>
<TR><TD>回線速度</TD> <TD>10 Mbps</TD></TR>
</TABLE>
</div>
このmrtg.

次回は
監視対象機器が複数になった場合の効率的なmrtg.