[hobbit] monitoring (cisco) routers

Marco Avvisano marco.avvisano at regione.toscana.it
Tue Mar 29 10:58:06 CEST 2005


----- Original Message ----- 
From: "Daniel J McDonald" <dan.mcdonald at austinenergy.com>
To: "Hobbit List" <hobbit at hswn.dk>
Sent: Friday, March 25, 2005 4:36 PM
Subject: Re: [hobbit] monitoring (cisco) routers


> On Thu, 2005-03-24 at 18:26 +0100, Marco Avvisano wrote:
> > Someone have tried scripts to monitor cpu, memory and temperature for
cisco
> > routers, that work correctly in hobbit (also the rrd graphs)?
>
> I do that using mrtg, and then run bbmrtg.pl to pull the stats into
> hobbit.
>
> Temperature monitoring has been flaky on Cisco for a long time - are you
> using devices with good temperature reporting?

I monitor many cisco devices (especially 7000 series), and generally i not
have temperature problems.

Thanks for your mrtg files, but i'm tryng to find a good script that are
compatible with  hobbit graphs generation

Marco


> My cpu/memory template for mrtg:
>
> $head_lines .= <<ECHO
> #.....................................................................
> # Router processor utilization.
> #
>
> ECHO
> ;
> snmpMIB_to_OID("/usr/share/snmp/mibs/CISCO-SMI-V1SMI.my");
> snmpMIB_to_OID("/usr/share/snmp/mibs/CISCO-TC-V1SMI.my");
> snmpMIB_to_OID("/usr/share/snmp/mibs/CISCO-PROCESS-MIB-V1SMI.my");
>
> my %cpu;
> my (@temp) = snmpwalk($router_connect,'cpmCPUTotal5secRev');
> foreach my $tempi(@temp) {
>         $tempi =~ /(\d+):\d/;
>         my $instance=$1;
>         my $target_name=$router_name.".cpu".$instance;
>         $cpu{$instance}++;
>         $target_lines .= <<CPU
> Target[$target_name]:
> cpmCPUTotal5secRev.$instance&cpmCPUTotal1minRev.$instance:
> $router_connect
> MaxBytes[$target_name]: 100
> routers.cgi*ShortDesc[$target_name]:  CPU # $instance
> routers.cgi*Options[$target_name]: nototal
> bb*host[$target_name]: $router_name
> bb*svc[$target_name]: cpu
> bb*red[$target_name]: 90
> bb*yellow[$target_name]: 80
> Options[$target_name]:  gauge, unknaszero
> Directory[$target_name]: $directory_name
> WithPeak[$target_name]: wmy
> YLegend[$target_name]: % Utilization
> ShortLegend[$target_name]: %
> Legend1[$target_name]: 5 Second Load
> Legend2[$target_name]: 1 Minute Load
> LegendI[$target_name]:  5sec :
> LegendO[$target_name]:  1min :
> Title[$target_name]: $sysname
> PageTop[$target_name]: <H1>$sysname Processor Load</H1>
>  <TABLE>
>    <TR><TD>System:</TD><TD>$sysname  </TD></TR>
>    <TR><TD>Location:</TD><TD>$syslocation </TD></TR>
>  </TABLE>
> CPU
> ;
> }
>
> my (@temp) = snmpwalk($router_connect,'cpmCPUTotal5sec');
> foreach my $tempi(@temp) {
>         $tempi =~ /(\d+):\d/;
>         my $instance=$1;
>         next if exists $cpu{$instance};
>         my $target_name=$router_name.".cpu".$instance;
>         $cpu{$instance}++;
>         $target_lines .= <<CPUOLD
> Target[$target_name]:
> cpmCPUTotal5sec.$instance&cpmCPUTotal1min.$instance:$route r_connect
> MaxBytes[$target_name]: 100
> routers.cgi*ShortDesc[$target_name]:  CPU # $instance
> routers.cgi*Options[$target_name]: nototal
> bb*host[$target_name]: $router_name
> bb*svc[$target_name]: cpu
> bb*red[$target_name]: 90
> bb*yellow[$target_name]: 80
> Options[$target_name]:  gauge, unknaszero
> Directory[$target_name]: $directory_name
> WithPeak[$target_name]: wmy
> YLegend[$target_name]: % Utilization
> ShortLegend[$target_name]: %
> Legend1[$target_name]: 5 Second Load
> Legend2[$target_name]: 1 Minute Load
> LegendI[$target_name]:  5sec :
> LegendO[$target_name]:  1min :
> Title[$target_name]: $sysname
> PageTop[$target_name]: <H1>$sysname Processor Load</H1>
>  <TABLE>
>    <TR><TD>System:</TD><TD>$sysname  </TD></TR>
>    <TR><TD>Location:</TD><TD>$syslocation </TD></TR>
>  </TABLE>
> CPUOLD
> ;
> }
>
> snmpMIB_to_OID("/usr/share/snmp/mibs/CISCO-QOS-PIB-MIB-V1SMI.my");
> snmpMIB_to_OID("/usr/share/snmp/mibs/CISCO-MEMORY-POOL-MIB-V1SMI.my");
> my (@temp) = snmpwalk($router_connect,'ciscoMemoryPoolName');
> foreach my $tempi(@temp) {
>         $tempi =~ /(\d+):(.+)/;
>         my $instance=$1;
>         next if $2 !~ /Processor/;
>         my ($used, $free) =
> snmpget($router_connect,'ciscoMemoryPoolUsed.'.$instance,
> 'ciscoMemoryPoolFree.'.$instance);
>         my $target_name=$router_name.".memory";
>         my $maxsize = $used+$free;
>         $target_lines .= <<DISK
>
#---------------------------------------------------------------------------
---- -------
> # Memory Utilization
>
> Target[$target_name]:
> ciscoMemoryPoolFree.$instance&ciscoMemoryPoolLargestFree.$ instance:
> $router_connect
> YLegend[$target_name]: Bytes Free
> Options[$target_name]: gauge, unknaszero
> Directory[$target_name]: $directory_name
> MaxBytes[$target_name]: $maxsize
> ShortLegend[$target_name]: bytes
> routers.cgi*ShortDesc[$target_name]: Memory
> routers.cgi*Options[$target_name]: nototal
> bb*host[$target_name]: $router_name
> bb*svc[$target_name]: memory
> bb*red[$target_name]: 5%:99%
> bb*yellow[$target_name]: 7%:98%
> Legend1[$target_name]: Free Mem
> Legend2[$target_name]: Largest Block
> LegendI[$target_name]: Free
> LegendO[$target_name]: Block
> WithPeak[$target_name]: ymw
> Title[$target_name]: $sysname
> PageTop[$target_name]: <H1>Memory on $sysname/H1>
>  <TABLE>
>    <TR><TD>System:</TD><TD>$sysname  </TD></TR>
>    <TR><TD>Location:</TD><TD>$syslocation </TD></TR>
>  </TABLE>
> DISK
> ;
> }
>
> >
> > I'm tryng bb-xsnmp script, but i have some problems.
> >
> >
> >
> > Marco
> >
> >
> > To unsubscribe from the hobbit list, send an e-mail to
> > hobbit-unsubscribe at hswn.dk
> >
>
>
> To unsubscribe from the hobbit list, send an e-mail to
> hobbit-unsubscribe at hswn.dk
>




More information about the Xymon mailing list