create-cfg-proc.pl
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:2k
源码类别:

SNMP编程

开发平台:

C/C++

  1. #!/usr/bin/perl
  2. #-----------------------------------------------
  3. # Create mrtg.cfg for CPU processor usage
  4. #
  5. # Author: Dimitrios Stergiou <dste@intranet.gr> , 25/10/00
  6. # Version : 1.0
  7. #
  8. # Usage: ./create-cfg-proc.pl cisco_hostname
  9. #
  10. # 1.0 Initial version, basic functionality
  11. # 1.1 Check if router supports functionality
  12. #-----------------------------------------------
  13. # Import libraries
  14. use lib "/home/alexander1/dste/cisco";
  15. use MRTG_lib "2.090006";
  16. use SNMP_Session "0.77";
  17. use BER "0.77";
  18. use SNMP_util "0.77";
  19. use locales_mrtg "0.07";
  20. # Suppress warnings
  21. $SNMP_Session::suppress_warnings = 3;
  22. # Define processor counters
  23. @counters=("5sec", "1min", "15min");
  24. # Check if router can support CPU proccess MIB
  25. # Just poll a "5 sec" valur, for CPU 1, if we get answer it works
  26. @test = snmpget($ARGV[0], "enterprises.9.9.109.1.1.1.1.3.1");
  27. die "Processor util poll doesn't work for router $ARGV[0] $!n" unless  ($test[0]=~/[0-9]/);
  28. # loop through processor counters
  29. foreach $counter (@counters) {
  30. $target = "$ARGV[0]"."_"."$counter";
  31. if ($counter eq "5sec") { $instance=3; }
  32. if ($counter eq "1min") { $instance=4; }
  33. if ($counter eq "15min") { $instance=5; }
  34. print<<EOF
  35. Target[$target]: `/home/alexander1/dste/cisco/getproc.pl $ARGV[0] $instance`
  36. Title[$target]: $counter processor usage
  37. MaxBytes[$target]: 100
  38. Unscaled[$target]: dwmy
  39. PageTop[$target]: <H1> $counter processor usage </H1>
  40. Suppress[$target]: y
  41. LegendI[$target]:  %
  42. LegendO[$target]:
  43. Legend1[$target]:  %
  44. Legend2[$target]:
  45. YLegend[$target]:  %
  46. ShortLegend[$target]:  used
  47. Options[$target]: gauge,growright
  48. # ===================================
  49. EOF
  50. }