Forum Discussion
bruceg_12167
Nimbostratus
Mar 05, 2012F5 1500 9.4.7 - can snmpget Linux info, can't get Enterprise info
I'm trying to pull snmp data from single CPU 1500 running 9.4.7 software. I can manually pull host CPU and Memory stats using the Linux MIBs. I can also pull Ethernet stats with no problem.
However, whn I try to pull CPU utilization, I get errors.
Host CPU, 5 min avg: enterprises.2021.10.1.3.2 = "0.17" Hex: 30 2E 31 37
MultiHost Enterprise MIB:
Error in packet.
Reason: There is no such variable name in this MIB view (on this agent).
This name doesn't exist: enterprises.3375.2.1.7.5.2.1.1
MultiHost CPU Index:
Error in packet.
Reason: There is no such variable name in this MIB view (on this agent).
This name doesn't exist: enterprises.3375.2.1.7.5.2.1.2
I know it's a single CPU model. I verified it's a 1500 running 9.4.7. I verified I can do a manual snmpget on specific OIDs (but they seem to be generic Linux host OIDs). I can also do an snmpwalk. I'm not seeing teh Enterprise OIDs.
Is there something I need to verify in the snmpd-conf to make sure I'm letting the Enterprise MIBS be polled?
2 Replies
Sort By
- Hamish
Cirrocumulus
I'm not sure the multi-host stuiff was in 9.4.7. IIRC that came in 9.4.8. Up to then it was a different OID (Not the 5 minute one either). - Hamish
Cirrocumulus
walkF5Stats is at---------------------------------------------------------------------------- 0871 getHostSNMPCPUStats 0872---------------------------------------------------------------------------- 0873sub getHostSNMPCPUStats { 0874 my ($dbh, $dev)=(@_); 0875 my $t0=[gettimeofday]; 0876 0877 my $devID=$dev->{ID}; 0878 my $devFQDN=$dev->{FQDN}; 0879 my $icServer=$dev->{MgmtAddr}; 0880 my $icPort=$dev->{MgmtPort}; 0881 0882 my $oid_enterprises=".1.3.6.1.4.1"; 0883 my $oid_f5="$oid_enterprises.3375"; 0884 my $oid_bigipTrafficMgmt="$oid_f5.2"; 0885 my $oid_bigipSystem="$oid_bigipTrafficMgmt.1"; 0886 my $oid_sysHostInfoStat="$oid_bigipSystem.7"; 0887 0888 my $oid_sysHostMemory="oid_sysHostInfoStat.1"; 0889 my $oid_sysHostMemoryTotal="$oid_sysHostMemory.1"; 0890 my $oid_sysHostMemoryUsed="$oid_sysHostMemory.2"; 0891 0892 my $oid_sysHostCpu="$oid_sysHostInfoStat.2"; 0893 my $oid_sysHostCpuNumber="$oid_sysHostCpu.1.0"; 0894 my $oid_sysHostCpuTable="$oid_sysHostCpu.2"; 0895 0896 0897 my $hostVersion=lookupHostVersion($dbh, $dev); 0898 dbprint "getHostSNMPCPUStats: Host version is $hostVersion\n"; 0899 my($majVer, $minVer, $pttVer)=split('\.', $hostVersion); 0900 0901 if(!(($majVer>=9)and($minVer>=3))) { 0902 print "getHostSNMPCPUStats: Appliance is version $verDecimal [$hostVersion == $majVer $minVer $pttVer]\n"; 0903 print "getHostSNMPCPUStats: Need at least v9.3.0 for SNMP CPU Stats\n"; 0904 return; 0905 } 0906 my ($snmp_session, $snmp_err) = Net::SNMP->session(-hostname => $icServer, -community => $SNMPcommunity, -version => 2); 0907 0908 my($now) = time(); 0909 0910 dbprint "getHostSNMPCPUStats: Grabbing oid_sysHostCpuNumber with $oid_sysHostCpuNumber\n"; 0911 my $result=$snmp_session->get_request(-varbindlist => [$oid_sysHostCpuNumber, 0912 $oid_sysHostMemoryTotal, $oid_sysHostMemoryUsed]); 0913 0914 Save out the host memory stats first... 0915 saveValue64($dbh, $dev->{rrdpath}, "STATISTIC_HOST_MEMORY_TOTAL", "$devFQDN.SYSTEM.STATISTIC_HOST_MEMORY_TOTAL", $result->{$oid_sysHostMemoryTotal}, $now); 0916 saveValue64($dbh, $dev->{rrdpath}, "STATISTIC_HOST_MEMORY_USED", "$devFQDN.SYSTEM.STATISTIC_HOST_MEMORY_USED", $result->{$oid_sysHostMemoryUsed}, $now); 0917 0918 Now do the CPU stats... 0919 my $hostCpuCount=$result->{$oid_sysHostCpuNumber}; 0920 dbprint "getHostSNMPCPUStats: System $devFQDN has $hostCpuCount Host CPU's\n"; 0921 0922 dbprint "getHostSNMPCPUStats: Getting table \@ $oid_sysHostCpuTable with community $SNMPcommunity\n"; 0923 my $result=$snmp_session->get_table(-baseoid => $oid_sysHostCpuTable); 0924 if(defined($result)) { 0925 my $snmpCPUNum; 0926 my $oid_sysHostCpuEntry="$oid_sysHostCpuTable.1"; 0927 0928 for ($snmpCPUNum=1; $snmpCPUNum<=$hostCpuCount; $snmpCPUNum++) { 0929 0930 my $oid_sysHostCpuId="$oid_sysHostCpuEntry.2.$snmpCPUNum"; 0931 my $oid_sysHostCpuUser="$oid_sysHostCpuEntry.3.$snmpCPUNum"; 0932 my $oid_sysHostCpuNice="$oid_sysHostCpuEntry.4.$snmpCPUNum"; 0933 my $oid_sysHostCpuSystem="$oid_sysHostCpuEntry.5.$snmpCPUNum"; 0934 my $oid_sysHostCpuIdle="$oid_sysHostCpuEntry.6.$snmpCPUNum"; 0935 my $oid_sysHostCpuIrq="$oid_sysHostCpuEntry.7.$snmpCPUNum"; 0936 my $oid_sysHostCpuSoftirq="$oid_sysHostCpuEntry.8.$snmpCPUNum"; 0937 my $oid_sysHostCpuIowait="$oid_sysHostCpuEntry.9.$snmpCPUNum"; 0938 0939 dbprint "getHostSNMPCPUStats: $devFQDN oid_sysHostCpuUser [$oid_sysHostCpuUser] => $result->{$oid_sysHostCpuUser}\n"; 0940 dbprint "getHostSNMPCPUStats: $devFQDN oid_sysHostCpuNice [$oid_sysHostCpuNice] => $result->{$oid_sysHostCpuNice}\n"; 0941 dbprint "getHostSNMPCPUStats: $devFQDN oid_sysHostCpuSystem [$oid_sysHostCpuSystem] => $result->{$oid_sysHostCpuSystem}\n"; 0942 dbprint "getHostSNMPCPUStats: $devFQDN oid_sysHostCpuIdle [$oid_sysHostCpuIdle] => $result->{$oid_sysHostCpuIdle}\n"; 0943 dbprint "getHostSNMPCPUStats: $devFQDN oid_sysHostCpuIowait [$oid_sysHostCpuIowait] => $result->{$oid_sysHostCpuIowait}\n"; 0944 0945 SNMP numbers the CPU's from 1... So we need to subtract 1 to get the raw (Or real) CPU number, counting from 0... 0946 (Because everything else numbers from 0... e.g. top etc) 0947 my $rawCPUNum=$snmpCPUNum-1; 0948 0949 saveValue64($dbh, $dev->{rrdpath}, "STATISTIC_CPU_INFO_USER", "$devFQDN.SYSTEM.STATISTIC_HOSTCPU_USER.$rawCPUNum", $result->{$oid_sysHostCpuUser}, $now); 0950 saveValue64($dbh, $dev->{rrdpath}, "STATISTIC_CPU_INFO_NICED", "$devFQDN.SYSTEM.STATISTIC_HOSTCPU_NICED.$rawCPUNum", $result->{$oid_sysHostCpuNice}, $now); 0951 saveValue64($dbh, $dev->{rrdpath}, "STATISTIC_CPU_INFO_SYSTEM", "$devFQDN.SYSTEM.STATISTIC_HOSTCPU_SYSTEM.$rawCPUNum", $result->{$oid_sysHostCpuSystem}, $now); 0952 saveValue64($dbh, $dev->{rrdpath}, "STATISTIC_CPU_INFO_IDLE", "$devFQDN.SYSTEM.STATISTIC_HOSTCPU_IDLE.$rawCPUNum", $result->{$oid_sysHostCpuIdle}, $now); 0953 saveValue64($dbh, $dev->{rrdpath}, "STATISTIC_CPU_INFO_IRQ", "$devFQDN.SYSTEM.STATISTIC_HOSTCPU_IRQ.$rawCPUNum", $result->{$oid_sysHostCpuIrq}, $now); 0954 saveValue64($dbh, $dev->{rrdpath}, "STATISTIC_CPU_INFO_SOFTIRQ", "$devFQDN.SYSTEM.STATISTIC_HOSTCPU_SOFTIRQ.$rawCPUNum", $result->{$oid_sysHostCpuSoftirq}, $now); 0955 saveValue64($dbh, $dev->{rrdpath}, "STATISTIC_CPU_INFO_IOWAIT", "$devFQDN.SYSTEM.STATISTIC_HOSTCPU_IOWAIT.$rawCPUNum", $result->{$oid_sysHostCpuIowait}, $now); 0956 0957 { 0958 my $cpuUser=$result->{$oid_sysHostCpuUser}; 0959 my $cpuSystem=$result->{$oid_sysHostCpuSystem}; 0960 my $cpuIdle=$result->{$oid_sysHostCpuIdle}; 0961 my $cpuIowait=$result->{$oid_sysHostCpuIowait}; 0962 0963 dbprint "getHostSNMPCPUStats: $icServer Processor $rawCPUNum idle $cpuIdle user $cpuUser system $cpuSystem iowait $cpuIowait\n"; 0964 } 0965 } 0966 0967 } 0968 $snmp_session->close(); 0969}
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects