From f45d6696625a5ce4e28f9e6ba78f40657efb625f Mon Sep 17 00:00:00 2001 From: Julien Mathis Date: Tue, 8 Jul 2008 09:04:38 +0000 Subject: [PATCH] apply patch from bug #55 git-svn-id: http://svn.centreon.com/trunk/plugins-2.x@5536 6bcd3966-0018-0410-8128-fd23d134de7e --- src/check_centreon_snmp_cpu | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/src/check_centreon_snmp_cpu b/src/check_centreon_snmp_cpu index 91f729c22..778b029fb 100644 --- a/src/check_centreon_snmp_cpu +++ b/src/check_centreon_snmp_cpu @@ -106,8 +106,6 @@ $name =~ s/\.pl.*//g; # Plugin snmp requests -my $OID_CPU = "1.3.6.1.2.1.25.3.3.1.2"; - my ($session, $error); if ($snmp eq "1" || $snmp eq "2") { ($session, $error) = Net::SNMP->session(-hostname => $opt_H, -community => $opt_C, -version => $snmp); @@ -129,6 +127,32 @@ if ($snmp eq "1" || $snmp eq "2") { } } +sub get_netsnmp_version (){ + my $sess = $_[0]; + my $OID_VERSION = "1.3.6.1.2.1.25.6.3.1.2"; + my $result = $sess->get_table(Baseoid => $OID_VERSION); + if (!defined($result)) { + printf("ERROR when getting CPU percentage use values : ProcessorLoad Table : %s.\n", $session->error); + $session->close; + exit $ERRORS{'UNKNOWN'}; + } + while ( my ($key, $value) = each(%$result) ) { + if ($value =~ m/net-snmp-5.3.*/) { + return "NetSNMP-5.3" + } + } + return "Other"; +} + +my $OID_CPU = ""; +my $snmpver = get_netsnmp_version($session); +if ( "$snmpver" eq "NetSNMP-5.3" ) { + $OID_CPU = ".1.3.6.1.4.1.2021.11.9"; +} else { + $OID_CPU = ".1.3.6.1.2.1.25.3.3.1.2"; +} + + # Get all datas my $result = $session->get_table(Baseoid => $OID_CPU); if (!defined($result)) { @@ -160,7 +184,7 @@ if ($opt_w <= $cpu) { $status = "CRITICAL"; } -my $str = "Utilisation moyenne du CPU : ".$cpu."%|avg=".$cpu."%"; +my $str = "CPU utilization percentage : ".$cpu."%|avg=".$cpu."%"; for ($i = 0; defined($cpulist[$i]); $i++){ $str .= " cpu$i=".$cpulist[$i]."%"; }