Packetwatch.net

Resolve SNMP partial warnings in Cacti



Last modified: Mar. 19, 2014

Contents
1 - Summary
2 - Warning message
3 - Check SNMP results
4 - Resolve the warnings


1 - Summary

This guide will show how to resolve SNMP partial warning messages in Cacti.
This has been tested in Cacti 0.8.8a.


2 - Warning message

Here is a warning message that sometimes shows up after adding a new device to
monitor.

... - CMDPHP: Poller[0] Host[45] DS[542] WARNING: Result from SNMP not valid.  Partial Result: U
... - CMDPHP: Poller[0] Host[45] DS[542] WARNING: Result from SNMP not valid.  Partial Result: U
... - CMDPHP: Poller[0] Host[45] DS[541] WARNING: Result from SNMP not valid.  Partial Result: U
... - CMDPHP: Poller[0] Host[45] DS[541] WARNING: Result from SNMP not valid.  Partial Result: U

Host[45] = the host/device that has an id of 45
DS[542] = the data source that has an id of 542
DS[541] = the data source that has an id of 541
WARNING: Result from SNMP not valid.  Partial Result: U = SNMP results are missing data

These messages mean that there was missing SNMP results data for data sources
541 and 542 for the host/device that has an ID of 45.

You can find out what host/device has an ID of 45 by logging into the website
and clicking on console, then Devices. Look for the device that has an ID of
45.

Next, find the two data sources that have ID's of 542 and 541. Click on
console, then Data Sources. Select the Host from the drop-down box. Look for
the Data Sources that have ID's of 542 and 541. In this example, these ID's
are interface descriptions in a Cisco Catalyst 3850 series switch. Click on
each of them and you will see the following.

  ID 542, Index Value: StackSub-St1-2, Index Type: ifDescr
  ID 541, Index Value: StackSub-St1-1, Index Type: ifDescr
 
Next, we will see what SNMP result data is missing.


3 - Check SNMP results

Run snmpwalk from the server to find the interface number. Look for two
descriptions.
# sudo snmpwalk -Os -v 2c -c communityRO switch.test.com ifDescr
Password:
ifDescr.1 = STRING: GigabitEthernet0/0
ifDescr.2 = STRING: Null0
ifDescr.3 = STRING: GigabitEthernet1/0/1
ifDescr.4 = STRING: GigabitEthernet1/0/2
ifDescr.5 = STRING: GigabitEthernet1/0/3
ifDescr.6 = STRING: GigabitEthernet1/0/4
ifDescr.7 = STRING: GigabitEthernet1/0/5
ifDescr.8 = STRING: GigabitEthernet1/0/6
ifDescr.9 = STRING: GigabitEthernet1/0/7
ifDescr.10 = STRING: GigabitEthernet1/0/8
ifDescr.11 = STRING: GigabitEthernet1/0/9
ifDescr.12 = STRING: GigabitEthernet1/0/10
ifDescr.13 = STRING: GigabitEthernet1/0/11
ifDescr.14 = STRING: GigabitEthernet1/0/12
ifDescr.15 = STRING: GigabitEthernet1/0/13
ifDescr.16 = STRING: GigabitEthernet1/0/14
ifDescr.17 = STRING: GigabitEthernet1/0/15
ifDescr.18 = STRING: GigabitEthernet1/0/16
ifDescr.19 = STRING: GigabitEthernet1/0/17
ifDescr.20 = STRING: GigabitEthernet1/0/18
ifDescr.21 = STRING: GigabitEthernet1/0/19
ifDescr.22 = STRING: GigabitEthernet1/0/20
ifDescr.23 = STRING: GigabitEthernet1/0/21
ifDescr.24 = STRING: GigabitEthernet1/0/22
ifDescr.25 = STRING: GigabitEthernet1/0/23
ifDescr.26 = STRING: GigabitEthernet1/0/24
ifDescr.27 = STRING: GigabitEthernet1/1/1
ifDescr.28 = STRING: GigabitEthernet1/1/2
ifDescr.29 = STRING: GigabitEthernet1/1/3
ifDescr.30 = STRING: GigabitEthernet1/1/4
ifDescr.31 = STRING: TenGigabitEthernet1/1/1
ifDescr.32 = STRING: TenGigabitEthernet1/1/2
ifDescr.33 = STRING: TenGigabitEthernet1/1/3
ifDescr.34 = STRING: TenGigabitEthernet1/1/4
ifDescr.35 = STRING: StackPort1
ifDescr.36 = STRING: StackSub-St1-1
ifDescr.37 = STRING: StackSub-St1-2
ifDescr.38 = STRING: Vlan1

Next, run snmpwalk to look at the speed for each interface. You will notice
that the speed for interface numbers 36 and 37 are 0 which is unusual.
# sudo snmpwalk -Os -v 2c -c communityRO switch.test.com ifSpeed
Password:
ifSpeed.1 = Gauge32: 1000000000
ifSpeed.2 = Gauge32: 4294967295
ifSpeed.3 = Gauge32: 1000000000
ifSpeed.4 = Gauge32: 1000000000
ifSpeed.5 = Gauge32: 1000000000
ifSpeed.6 = Gauge32: 1000000000
ifSpeed.7 = Gauge32: 1000000000
ifSpeed.8 = Gauge32: 100000000
ifSpeed.9 = Gauge32: 100000000
ifSpeed.10 = Gauge32: 100000000
ifSpeed.11 = Gauge32: 100000000
ifSpeed.12 = Gauge32: 1000000000
ifSpeed.13 = Gauge32: 1000000000
ifSpeed.14 = Gauge32: 1000000000
ifSpeed.15 = Gauge32: 1000000000
ifSpeed.16 = Gauge32: 1000000000
ifSpeed.17 = Gauge32: 1000000000
ifSpeed.18 = Gauge32: 100000000
ifSpeed.19 = Gauge32: 10000000
ifSpeed.20 = Gauge32: 100000000
ifSpeed.21 = Gauge32: 1000000000
ifSpeed.22 = Gauge32: 1000000000
ifSpeed.23 = Gauge32: 1000000000
ifSpeed.24 = Gauge32: 100000000
ifSpeed.25 = Gauge32: 1000000000
ifSpeed.26 = Gauge32: 100000000
ifSpeed.27 = Gauge32: 1000000000
ifSpeed.28 = Gauge32: 1000000000
ifSpeed.29 = Gauge32: 1000000000
ifSpeed.30 = Gauge32: 1000000000
ifSpeed.31 = Gauge32: 4294967295
ifSpeed.32 = Gauge32: 4294967295
ifSpeed.33 = Gauge32: 4294967295
ifSpeed.34 = Gauge32: 4294967295
ifSpeed.35 = Gauge32: 0
ifSpeed.36 = Gauge32: 0
ifSpeed.37 = Gauge32: 0
ifSpeed.38 = Gauge32: 1000000000

Next, run snmpwalk to look at the mtu values for each of the interfaces. You will
notice that entries for interfaces 36 and 37 are missing.
# sudo snmpwalk -Os -v 2c -c communityRO switch.test.com ifMtu
Password:
ifMtu.1 = INTEGER: 1500
ifMtu.2 = INTEGER: 1500
ifMtu.3 = INTEGER: 1500
ifMtu.4 = INTEGER: 1500
ifMtu.5 = INTEGER: 1500
ifMtu.6 = INTEGER: 1500
ifMtu.7 = INTEGER: 1500
ifMtu.8 = INTEGER: 1500
ifMtu.9 = INTEGER: 1500
ifMtu.10 = INTEGER: 1500
ifMtu.11 = INTEGER: 1500
ifMtu.12 = INTEGER: 1500
ifMtu.13 = INTEGER: 1500
ifMtu.14 = INTEGER: 1500
ifMtu.15 = INTEGER: 1500
ifMtu.16 = INTEGER: 1500
ifMtu.17 = INTEGER: 1500
ifMtu.18 = INTEGER: 1500
ifMtu.19 = INTEGER: 1500
ifMtu.20 = INTEGER: 1500
ifMtu.21 = INTEGER: 1500
ifMtu.22 = INTEGER: 1500
ifMtu.23 = INTEGER: 1500
ifMtu.24 = INTEGER: 1500
ifMtu.25 = INTEGER: 1500
ifMtu.26 = INTEGER: 1500
ifMtu.27 = INTEGER: 1500
ifMtu.28 = INTEGER: 1500
ifMtu.29 = INTEGER: 1500
ifMtu.30 = INTEGER: 1500
ifMtu.31 = INTEGER: 1500
ifMtu.32 = INTEGER: 1500
ifMtu.33 = INTEGER: 1500
ifMtu.34 = INTEGER: 1500
ifMtu.35 = INTEGER: 0
ifMtu.38 = INTEGER: 1500

Cacti will have warnings every time the poller is run since there is missing
results from the SNMP queries.


4 - Resolve the warnings

We can remove the warning messages by disabling the data sources. This can be
set in the website. Click on console, then Data Sources. Select the Host from
the drop-down box. Look for the Data Sources that have ID's of 542 and 541.
Click the check-box on the right-hand side of screen to select them, then click
on Disable. Finally, click on Go to disable them.


Last modified: Thu Jan 1 00:00:00 1970 UTC
Packetwatch Research 2002-2017.