SNMP Data query creates incorrect data sources

Post general support questions here that do not specifically fall into the Linux or Windows categories.

Moderators: Developers, Moderators

Post Reply
jr.
Posts: 5
Joined: Tue Nov 14, 2006 5:20 am

SNMP Data query creates incorrect data sources

Post by jr. »

Hello,

I have a problem with a SNMP data query with 0.8.6i. I am trying to graph the open and new connections on a serveriron load balancer.

This is the XML file for the query:

Code: Select all

<query>
   <name>Get Virtual Server port statistics</name>
   <description>Queries a Serveriron Load Balancer for its SLB Virtual Server ports</description>
   <oid_index>.1.3.6.1.4.1.1991.1.1.4.26.1</oid_index>
   <oid_index_parse>OID/REGEXP:.*\.([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]+)$</oid_index_parse>
   <fields>
      <snL4VirtualServerPortStatisticIP>
         <name>IP</name>
         <method>walk</method>
         <source>value</source>
         <direction>input</direction>
         <oid>.1.3.6.1.4.1.1991.1.1.4.26.1.1.1</oid>
      </snL4VirtualServerPortStatisticIP>
      <snL4VirtualServerPortStatisticPort>
         <name>port</name>
         <method>walk</method>
         <source>value</source>
         <direction>input</direction>
         <oid>.1.3.6.1.4.1.1991.1.1.4.26.1.1.2</oid>
      </snL4VirtualServerPortStatisticPort>
      <snL4VirtualServerPortStatisticName>
         <name>name</name>
         <method>walk</method>
         <source>value</source>
         <direction>input</direction>
         <oid>.1.3.6.1.4.1.1991.1.1.4.26.1.1.3</oid>
      </snL4VirtualServerPortStatisticName>
      <snL4VirtualServerPortStatisticCurrentConnection>
         <name>current_connections</name>
         <method>walk</method>
         <source>value</source>
         <direction>output</direction>
         <oid>.1.3.6.1.4.1.1991.1.1.4.26.1.1.4</oid>
      </snL4VirtualServerPortStatisticCurrentConnection>
      <snL4VirtualServerPortStatisticTotalConnections>
         <name>total_connections</name>
         <method>walk</method>
         <source>value</source>
         <direction>output</direction>
         <oid>.1.3.6.1.4.1.1991.1.1.4.26.1.1.5</oid>
      </snL4VirtualServerPortStatisticTotalConnections>
    </fields>
</query>
I created a single graph tamplate that uses both snL4VirtualServerPortStatisticCurrentConnection and snL4VirtualServerPortStatisticTotalConnections.

The query works well but graphs and data sources created by the data query are not correctly created.

All query specific || place holders are not replaced in the title of the graph nor the name of the data sources but |host_description| is correctly replaced:
+ Created graph: lb01 - VServer Port - Connections - |query_snL4VirtualServerPortStatisticName|:|query_snL4VirtualServerPortStatisticPort|
Furthermore the data sources index value is empty. The index type and output type id have the following:
Data query data sources must be created through New Graphs.
Does anyone know how to fix/debug this?

I have other data queries on the load balancer and graph creation works well with them. Here are the differences:
  • * The other data queries were created with 0.8.6h
    * The new query has the IP AND the port as index (e.g. 192.168.12.1.80)
    * The new graph template has two sources (open_connections and total_connections) in a single data source
jr.
Posts: 5
Joined: Tue Nov 14, 2006 5:20 am

Post by jr. »

Its looking like I am experiencing the same issue as described here:

http://forums.cacti.net/viewtopic.php?t ... =oid+index


I tested the query on a 0.8.6h installation and the issue is the same (so, its not related to the upgrade to 0.8.6i).

Has this something to do with the complex index (IP Address + Port)?

As already told queries on tables with the IP as index are working.


Any hint is welcome
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

Please post output of a "Verbose Query"
Reinhard
jr.
Posts: 5
Joined: Tue Nov 14, 2006 5:20 am

Post by jr. »

Here are parts of the resulting query:

Code: Select all

+ Running data query [14].
+ Found type = '3' [snmp query].
+ Found data query XML file at '/www/content/cacti/apache/htdocs/resource/snmp_queries/serveriron_slb_vserver_ports.xml'
+ XML file parsed ok.
+ Executing SNMP walk for list of indexes @ '.1.3.6.1.4.1.1991.1.1.4.26.1'
+ Located input field 'snL4VirtualServerPortStatisticIP' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.1991.1.1.4.26.1.1.1'
+ Found item [snL4VirtualServerPortStatisticIP='192.168.210.26'] index: 192.168.210.26.80 [from value]
+ Found item [snL4VirtualServerPortStatisticIP='192.168.210.26'] index: 192.168.210.26.443 [from value]
+ Found item [snL4VirtualServerPortStatisticIP='192.168.210.26'] index: 192.168.210.26.65535 [from value]
+ Found item [snL4VirtualServerPortStatisticIP='192.168.210.30'] index: 192.168.210.30.80 [from value]
+ Found item [snL4VirtualServerPortStatisticIP='192.168.210.30'] index: 192.168.210.30.443 [from value]
+ Found item [snL4VirtualServerPortStatisticIP='192.168.210.30'] index: 192.168.210.30.65535 [from value]
...

Code: Select all

+ Located input field 'snL4VirtualServerPortStatisticPort' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.1991.1.1.4.26.1.1.2'
+ Found item [snL4VirtualServerPortStatisticPort='80'] index: 192.168.210.26.80 [from value]
+ Found item [snL4VirtualServerPortStatisticPort='443'] index: 192.168.210.26.443 [from value]
+ Found item [snL4VirtualServerPortStatisticPort='65535'] index: 192.168.210.26.65535 [from value]
+ Found item [snL4VirtualServerPortStatisticPort='80'] index: 192.168.210.30.80 [from value]
+ Found item [snL4VirtualServerPortStatisticPort='443'] index: 192.168.210.30.443 [from value]
+ Found item [snL4VirtualServerPortStatisticPort='65535'] index: 192.168.210.30.65535 [from value]
...

Code: Select all

+ Located input field 'snL4VirtualServerPortStatisticName' [walk]
+ Executing SNMP walk for data @ '.1.3.6.1.4.1.1991.1.1.4.26.1.1.3'
+ Found item [snL4VirtualServerPortStatisticName='intranet'] index: 192.168.210.26.80 [from value]
+ Found item [snL4VirtualServerPortStatisticName='intranet'] index: 192.168.210.26.443 [from value]
+ Found item [snL4VirtualServerPortStatisticName='intranet'] index: 192.168.210.26.65535 [from value]
+ Found item [snL4VirtualServerPortStatisticName='extranet1'] index: 192.168.210.30.80 [from value]
+ Found item [snL4VirtualServerPortStatisticName='extranet1'] index: 192.168.210.30.443 [from value]
+ Found item [snL4VirtualServerPortStatisticName='extranet1'] index: 192.168.210.30.65535 [from value]
...

Code: Select all

+ Found data query XML file at '/www/content/cacti/apache/htdocs/resource/snmp_queries/serveriron_slb_vserver_ports.xml'
+ Found data query XML file at '/www/content/cacti/apache/htdocs/resource/snmp_queries/serveriron_slb_vserver_ports.xml'
+ Found data query XML file at '/www/content/cacti/apache/htdocs/resource/snmp_queries/serveriron_slb_vserver_ports.xml'
And here is the relevant output of a snmpwalk (on the table OID):

Code: Select all

FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.25.80 = IpAddress: 192.168.210.25
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.25.443 = IpAddress: 192.168.210.25
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.25.65535 = IpAddress: 192.168.210.25
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.26.80 = IpAddress: 192.168.210.26
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.26.443 = IpAddress: 192.168.210.26
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.26.65535 = IpAddress: 192.168.210.26
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.28.80 = IpAddress: 192.168.210.28
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.28.443 = IpAddress: 192.168.210.28
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.28.65535 = IpAddress: 192.168.210.28
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.30.80 = IpAddress: 192.168.210.30
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.30.443 = IpAddress: 192.168.210.30
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticIP.192.168.210.30.65535 = IpAddress: 192.168.210.30
...
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.25.80 = INTEGER: 80
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.25.443 = INTEGER: 443
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.25.65535 = INTEGER: 65535
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.26.80 = INTEGER: 80
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.26.443 = INTEGER: 443
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.26.65535 = INTEGER: 65535
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.28.80 = INTEGER: 80
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.28.443 = INTEGER: 443
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.28.65535 = INTEGER: 65535
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.30.80 = INTEGER: 80
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.30.443 = INTEGER: 443
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticPort.192.168.210.30.65535 = INTEGER: 65535
...
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.25.80 = STRING: "extranet2"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.25.443 = STRING: "extranet2"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.25.65535 = STRING: "extranet2"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.26.80 = STRING: "intranet"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.26.443 = STRING: "intranet"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.26.65535 = STRING: "intranet"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.28.80 = STRING: "extranet3"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.28.443 = STRING: "extranet3"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.28.65535 = STRING: "extranet3"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.30.80 = STRING: "extranet1"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.30.443 = STRING: "extranet1"
FOUNDRY-SN-SW-L4-SWITCH-GROUP-MIB::snL4VirtualServerPortStatisticServerName.192.168.210.30.65535 = STRING: "extranet1"
...
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

Asked for a dev to step in
Reinhard
User avatar
TheWitness
Developer
Posts: 17007
Joined: Tue May 14, 2002 5:08 pm
Location: MI, USA
Contact:

Post by TheWitness »

Not me, but how bout some screen shots of the following:

Data Query
Data Template
Graph Template(s)

Thanks,

TheWitness
True understanding begins only when we realize how little we truly understand...

Life is an adventure, let yours begin with Cacti!

Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages


For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
jr.
Posts: 5
Joined: Tue Nov 14, 2006 5:20 am

Post by jr. »

The data query has only one graph template:

Image


The graph template itself:

Image


The data source template:

Image


And finally a screenshot from a resulting data source:

Image
User avatar
TheWitness
Developer
Posts: 17007
Joined: Tue May 14, 2002 5:08 pm
Location: MI, USA
Contact:

Post by TheWitness »

Your data query is still not right. Otherwise, the last graphic would be populated with data, Indexes, OID's and the like...

Otherwise, it looks like excellent work.

TheWitness
True understanding begins only when we realize how little we truly understand...

Life is an adventure, let yours begin with Cacti!

Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages


For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
jr.
Posts: 5
Joined: Tue Nov 14, 2006 5:20 am

Post by jr. »

Can you tell me a file/function name to start off debugging this?

I have no clue about what is wrong with the data query.

Thanks in advance

/jr
User avatar
TheWitness
Developer
Posts: 17007
Joined: Tue May 14, 2002 5:08 pm
Location: MI, USA
Contact:

Post by TheWitness »

Check for LVM on the Board. He may be Gandolf now. He has some excellent How To's in his signature line.

TheWitness
True understanding begins only when we realize how little we truly understand...

Life is an adventure, let yours begin with Cacti!

Author of dozens of Cacti plugins and customization's. Advocate of LAMP, MariaDB, IBM Spectrum LSF and the world of batch. Creator of IBM Spectrum RTM, author of quite a bit of unpublished work and most of Cacti's bugs.
_________________
Official Cacti Documentation
GitHub Repository with Supported Plugins
Percona Device Packages (no support)
Interesting Device Packages


For those wondering, I'm still here, but lost in the shadows. Yearning for less bugs. Who want's a Cacti 1.3/2.0? Streams anyone?
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Post by gandalf »

Oh, thanks for the flowers. But insted of searching my signature, you may simply refer to My Cacti HowTo Collection :wink:
(Well, this is in the signature as well)
Reinhard
arielnh56
Posts: 2
Joined: Wed Dec 06, 2006 8:20 pm

Same problem

Post by arielnh56 »

Just posting a "me too" and wondering if there was a resolution to this.
I'm currently resorting to manually enterng individual real server ports with the generic OID template.

Looks to me like the add graph function is not parsing the index correctly.

Alastair
User avatar
gandalf
Developer
Posts: 22383
Joined: Thu Dec 02, 2004 2:46 am
Location: Muenster, Germany
Contact:

Re: Same problem

Post by gandalf »

arielnh56 wrote:Just posting a "me too" and wondering if there was a resolution to this.
I'm currently resorting to manually enterng individual real server ports with the generic OID template.

Looks to me like the add graph function is not parsing the index correctly.

Alastair
Your text is not that exact, that I'm able to support your debugging. Please create a new thread and give us some more infos what's going wrong. You may even consider posting screenshot if they help getting an idea of your problems
Reinhard
arielnh56
Posts: 2
Joined: Wed Dec 06, 2006 8:20 pm

Exact same problem as Jr.

Post by arielnh56 »

I am seeing exactly the same problem the Jr. documented above. He has provided all of the information I could provide.

When you create the graph, it says it created a graph with the name without the query_ variables being substituted, but the graph remains un-grayed in the "make graphs" page, and no snmp polling occurs to the ServerIron. You can "add" the same graph an infinite number of times.

The ServerIron tables use a key of IP.IP.IP.IP.PORT e.g. 10.0.16.18.25 for a real server 10.0.16.18 on port 25
ikemeyer
Posts: 5
Joined: Sun Jan 01, 2006 2:21 pm

Post by ikemeyer »

I also are experiencing the same issue with 0.8.6i as jr. has posted. Could someone please advise as to what data needs to be collected to resolve this issue?
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest