前回に引き続き、
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" ¥
    HIMITSU@192.168.1.208このスクリプトでは、
このスクリプトに実行権限を付けたあと、
# 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" ¥
    HIMITSU@192.168.1.208このスクリプトを実行すると、
# 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 HIMITSU@192.168.1.208
### 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     root@logan.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
# Contact: 田村 <tamura@wind.jp>
# Location: 群馬県
######################################################################
Target[192.168.1.208_1]: 1:HIMITSU@192.168.1.208:
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>田村 <tamura@wind.jp></TD></TR>
    <TR><TD>回線速度</TD>  <TD>10 Mbps</TD></TR>
  </TABLE>
  </div>このmrtg.
 
次回は
監視対象機器が複数になった場合の効率的なmrtg.