create-cfg-mem.pl
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:2k
- #!/usr/bin/perl
- #-----------------------------------------------
- # Query a router about its memory pools and create MRTG cfg file for the pools
- #
- # Author: Dimitrios Stergiou <dste@intranet.gr> , 25/10/00
- # Version : 1.0
- #
- # Usage: ./create-cfg-mem.pl cisco_hostname
- #
- # 1.0 Initial version, basic functionality
- #-----------------------------------------------
- # Import libraries
- use lib "/home/alexander1/dste/cisco";
- use MRTG_lib "2.090006";
- use SNMP_Session "0.77";
- use BER "0.77";
- use SNMP_util "0.77";
- use locales_mrtg "0.07";
- # Suppress warnings
- $SNMP_Session::suppress_warnings = 3;
- # Locate how many memory pools the router has
- for ($i = 1; $i <= 5; $i++) {
- $command = snmpget($ARGV[0], "enterprises.9.9.48.1.1.1.2.$i");
- if ($command eq "1") { push @pools, $i; }
- }
- # loop through pools and find
- # 1) pool names
- # 2) pool usage
- # 3) pool availability
- # maximum pool capacity is defined as: PoolSizeUsed + PoolSizeFree
- foreach $pool (@pools) {
- @memtype = snmpget($ARGV[0], "enterprises.9.9.48.1.1.1.2.$pool");
- if ($memtype[0] eq "I/O") { $memtype[0]="IO"; }
- $target = "$ARGV[0]"."_"."$memtype[0]";
- @pu = snmpget($ARGV[0], "enterprises.9.9.48.1.1.1.5.$pool");
- @pf = snmpget($ARGV[0], "enterprises.9.9.48.1.1.1.6.$pool");
- $maxbytes = $pu[0]+$pf[0];
- print<<EOF
- Target[$target]: `/home/alexander1/dste/cisco/getmem.pl $ARGV[0] $pool`
- Title[$target]: $nname memory used
- MaxBytes[$target]: $maxbytes
- Unscaled[$target]: dwmy
- PageTop[$target]: <H1> $nname memory used </H1>
- Suppress[$target]: y
- LegendI[$target]: kbytes used
- LegendO[$target]:
- Legend1[$target]: kbytes used
- Legend2[$target]:
- YLegend[$target]: kbytes used
- ShortLegend[$target]: used
- Options[$target]: gauge,growright
- # ===================================
- EOF
- }