The configuration is really extremely simple like this: cfgmaker --if-template=if-tmpl --host-template=host-tmpl public@router.example.com public@switch.example.com ..........
The following interface template creates code only for the active and working interfaces almost identical to the default MRTG one:
Code: Select all
if(not $problem_lines)
{
$target_lines .= <<ECHO;
Options[$target_name]: growright,nobanner,unknaszero,bits
Target[$target_name]: .1.3.6.1.2.1.31.1.1.1.6.$ifindex&.1.3.6.1.2.1.31.1.1.1.10.$ifindex:$router_connect
SetEnv[$target_name]: MRTG_INT_IP="$if_ip" MRTG_INT_DESCR="$if_snmp_descr"
ECHO
if ($directory_name) {
$target_lines .= "Directory[$target_name]: $directory_name\n";
}
$target_lines .= <<ECHO;
MaxBytes[$target_name]: $if_speed
Title[$target_name]: $html_desc_prefix$html_if_title_desc -- $sysname
XSize[$target_name]: 600
YSize[$target_name]: 150
WithPeak[$target_name]: ymw
PageTop[$target_name]: <h1>$html_desc_prefix$html_if_snmp_name -- $router_name</h1>
<div id="sysdetails">
<table>
<tr>
<td>System:</td>
<td>$sysname in $html_syslocation</td>
</tr>
<tr>
<td>Maintainer:</td>
<td>$html_syscontact</td>
</tr>
<tr>
<td>Description:</td>
<td>$html_if_description</td>
</tr>
<tr>
<td>ifType:</td>
<td>$html_if_type_desc ($if_type_num)</td>
</tr>
<tr>
<td>ifName:</td>
<td>$html_if_snmp_name</td>
</tr>
ECHO
$target_lines .= <<ECHO if defined $if_port_name;
<tr>
<td>Port Name:</td>
<td>$if_port_name</td>
</tr>
ECHO
$target_lines .= <<ECHO if defined $if_pp_port_name;
<tr>
<td>Port Name:</td>
<td>$if_pp_port_name</td>
</tr>
ECHO
$target_lines .= <<ECHO;
<tr>
<td>Max Speed:</td>
<td>$if_speed_str</td>
</tr>
ECHO
$target_lines .= <<ECHO if $if_ip;
<tr>
<td>Ip:</td>
<td>$if_ip ($if_dns_name)</td>
</tr>
ECHO
$target_lines .= <<ECHO;
</table>
</div>
ECHO
} else {
$head_lines="";
$problem_lines="";
$target_lines="";
$separator_lines="";
}
Code: Select all
my $target_name = $router_name . "_cpuload";
$target_lines .= <<ECHO;
Options[$target_name]: growright,nobanner,unknaszero,gauge,nopercent,integer
Target[$target_name]: .1.3.6.1.4.1.2021.11.10.0&.1.3.6.1.4.1.2021.11.10.0:$router_connect
ECHO
if ($directory_name) {
$target_lines .= "Directory[$target_name]: $directory_name\n";
}
$target_lines .= <<ECHO;
MaxBytes[$target_name]: 100
Title[$target_name]: CPU Load - $router_name
XSize[$target_name]: 600
YSize[$target_name]: 150
YLegend[$target_name]: CPU Used %
ShortLegend[$target_name]: %
Legend1[$target_name]: Average percentage of all CPUs
LegendI[$target_name]: CPU Activity:
LegendO[$target_name]:
PageTop[$target_name]: <h1>CPU Load - $router_name</h1>
<div>
<table>
<tr>
<td>System:</td>
<td>$sysname in $html_syslocation</td>
</tr>
<tr>
<td>Maintainer:</td>
<td>$html_syscontact</td>
</tr>
<tr>
<td>Description:</td>
<td>$html_sysdescr</td>
</tr>
<tr>
<td>Resource:</td>
<td>CPU</td>
</tr>
</table>
</div>
ECHO
$target_name = $router_name . "_cputemp";
$target_lines .= <<ECHO;
Options[$target_name]: growright,nobanner,unknaszero,gauge,nopercent,integer
Target[$target_name]: .1.3.6.1.4.1.14988.1.1.3.100.1.3.17&.1.3.6.1.4.1.14988.1.1.3.100.1.3.17:$router_connect
ECHO
if ($directory_name) {
$target_lines .= "Directory[$target_name]: $directory_name\n";
}
$target_lines .= <<ECHO;
MaxBytes[$target_name]: 100
Title[$target_name]: CPU Temperature - $router_name
XSize[$target_name]: 600
YSize[$target_name]: 150
IPv4Only[$target_name]: Yes
YLegend[$target_name]: Degrees Celsious
ShortLegend[$target_name]: C
Legend1[$target_name]: CPU Temperature
LegendI[$target_name]: Temperature:
LegendO[$target_name]:
PageTop[$target_name]: <h1>CPU Temperature - $router_name</h1>
<div>
<table>
<tr>
<td>System:</td>
<td>$sysname in $html_syslocation</td>
</tr>
<tr>
<td>Maintainer:</td>
<td>$html_syscontact</td>
</tr>
<tr>
<td>Description:</td>
<td>$html_sysdescr</td>
</tr>
<tr>
<td>Resource:</td>
<td>CPU</td>
</tr>
</table>
</div>
ECHO
$target_name = $router_name . "_memperc";
$target_lines .= <<ECHO;
Options[$target_name]: growright,nobanner,unknaszero,gauge,nopercent,integer
Target[$target_name]: ( .1.3.6.1.2.1.25.2.3.1.6.65536&.1.3.6.1.2.1.25.2.3.1.6.65536:$router_connect ) * 100 / ( .1.3.6.1.2.1.25.2.3.1.5.65536&.1.3.6.1.2.1.25.2.3.1.5.65536:$router_connect )
ECHO
if ($directory_name) {
$target_lines .= "Directory[$target_name]: $directory_name\n";
}
$target_lines .= <<ECHO;
MaxBytes[$target_name]: 100
Title[$target_name]: Memory Percentage - $router_name
XSize[$target_name]: 600
YSize[$target_name]: 150
IPv4Only[$target_name]: Yes
YLegend[$target_name]: Memory used %
ShortLegend[$target_name]: %
Legend1[$target_name]: Pergentage of all RAM used
LegendI[$target_name]: Used:
LegendO[$target_name]:
Unscaled[$target_name]: ymwd
PageTop[$target_name]: <h1>Memory Percentage - $router_name</h1>
<div>
<table>
<tr>
<td>System:</td>
<td>$sysname in $html_syslocation</td>
</tr>
<tr>
<td>Maintainer:</td>
<td>$html_syscontact</td>
</tr>
<tr>
<td>Description:</td>
<td>$html_sysdescr</td>
</tr>
<tr>
<td>Resource:</td>
<td>RAM</td>
</tr>
</table>
</div>
ECHO
$target_name = $router_name . "_memused";
$target_lines .= <<ECHO;
Options[$target_name]: growright,nobanner,unknaszero,gauge,nopercent,integer
Target[$target_name]: .1.3.6.1.2.1.25.2.3.1.6.65536&.1.3.6.1.2.1.25.2.3.1.6.65536:$router_connect
ECHO
if ($directory_name) {
$target_lines .= "Directory[$target_name]: $directory_name\n";
}
$target_lines .= <<ECHO;
MaxBytes[$target_name]: 68719476736
Title[$target_name]: Memory Used - $router_name
XSize[$target_name]: 600
YSize[$target_name]: 150
IPv4Only[$target_name]: Yes
YLegend[$target_name]: Bytes used
ShortLegend[$target_name]: B
Legend1[$target_name]: Total memory bytes used
LegendI[$target_name]: Used:
LegendO[$target_name]:
kMG[$target_name]: k,M,G,T,P,X
PageTop[$target_name]: <h1>Memory Used - $router_name</h1>
<div>
<table>
<tr>
<td>System:</td>
<td>$sysname in $html_syslocation</td>
</tr>
<tr>
<td>Maintainer:</td>
<td>$html_syscontact</td>
</tr>
<tr>
<td>Description:</td>
<td>$html_sysdescr</td>
</tr>
<tr>
<td>Resource:</td>
<td>RAM</td>
</tr>
</table>
</div>
ECHO