I don’t know if I’m going to throw the cat among the pigeons here, or even stir up a hornet’s nest, but to put it quite simply I think that many of the Zabbix Templates are wrong, or to be polite – incorrect.
12 months ago, I couldn’t even spell SNMP, but as you can see, now I can. However, don’t ask me to explain snmp. At first I struggled along like everyone else, accepting that the Templates were correct. However, many forum threads started leading me to believe that I was in fact gathering the wrong values because the templates were wrong.
First let me show you the values that I now use for monitoring ifInOctets. I believe these values are correct, if not, please correct me.
32 bit - InOctets
Type: SNMPv2 agent
Community: public
SNMP OID: 1.3.6.1.2.1.2.2.1.10.x
SNMP port: 161
Key: IfInOctets.x
Type of Information: Numeric (float)
Unit: bit
Use multiplier: Custom multiplier
Custom multiplier: 8
Store value: Delta (speed per second)
64 bit - InOctets
Type: SNMPv2 agent
Community: public
SNMP OID: .1.3.6.1.2.1.31.1.1.1.6.x
SNMP port: 161
Key: IfHCInOctets.x
Type of Information: Numeric (integer 64 bit)
Unit: bit
Use multiplier: Custom multiplier
Custom multiplier: 8
Store value: Delta (speed per second)
Next, let’s look at some of the templates that I have looked into, which I believe are ‘incorrect’.
Template_C3750-48TS
Uses a custom multiplier of 0.125
Template_Cisco_2960
Uses a 32 bit OID, but Type of Information is Numeric (integer 64 bit).
Uses no multiplier. Has ‘show value’ = tcpConnState.
Template_Cisco_837
Uses a 32 bit OID, but Type of Information is Numeric (integer 64 bit).
Uses a custom multiplier of 1.
Template_Cisco_877
Uses a 32 bit OID, but Type of Information is Numeric (integer 64 bit).
Uses a custom multiplier of 1.
Template_Cisco_PIX515E
Uses a custom multiplier of 0.125
Template_Cisco_PIX_525
Uses a 32 bit OID, but Type of Information is Numeric (integer 64 bit).
Units says Bps with no multiplier. (my understanding is that B (alone) stands for bytes, but Bps or bps stands for bits/per second)
Template_SNMPv1_Device
No Unit. No multiplier. Stores value ‘As is’.
Template_SNMPv2_Device
No Unit. No multiplier. Stores value ‘As is’.
What gives? Am I wrong? Are they wrong? Are we all wrong?
I really don’t believe that Octets are multiplied by 0.125, nor do I believe that Octet values can be stored ‘As is’.
Zabbix Certified Templates:
I would like to propose that ALL user-contributed templates be put through their paces as part of the Zabbix Development process. If and when they are proved to be correct, they are then given the status of ‘Zabbix Certified Template’.
The zabbix.com wiki administrator change the existing Template page to show ‘Zabbix Certified Templates’ and ‘User-contributed templates’ with a disclaimer that these templates are still being tested by the Zabbix Dev team. Later, they can be moved to the Certified section.
My recent clean install of Zabbix 1.6 shows all the templates from the wiki. Including these templates as part of the Zabbix package would indicate that the templates are sanctioned by Zabbix and must therefore be good to use.
The Zabbix Developers current method of dealing with templates seems to be flawed and really needs to be addressed for the good of the product. Network administrators need real correct values, not spend 6 months trying to work out why the values in Zabbix don’t bear any resemblance to our other NMS’s.
If I am wrong, please tell me and I will happily eat my hat.
If I am right, please remember that the person who complains is just trying to help!
MrKen
12 months ago, I couldn’t even spell SNMP, but as you can see, now I can. However, don’t ask me to explain snmp. At first I struggled along like everyone else, accepting that the Templates were correct. However, many forum threads started leading me to believe that I was in fact gathering the wrong values because the templates were wrong.
First let me show you the values that I now use for monitoring ifInOctets. I believe these values are correct, if not, please correct me.
32 bit - InOctets
Type: SNMPv2 agent
Community: public
SNMP OID: 1.3.6.1.2.1.2.2.1.10.x
SNMP port: 161
Key: IfInOctets.x
Type of Information: Numeric (float)
Unit: bit
Use multiplier: Custom multiplier
Custom multiplier: 8
Store value: Delta (speed per second)
64 bit - InOctets
Type: SNMPv2 agent
Community: public
SNMP OID: .1.3.6.1.2.1.31.1.1.1.6.x
SNMP port: 161
Key: IfHCInOctets.x
Type of Information: Numeric (integer 64 bit)
Unit: bit
Use multiplier: Custom multiplier
Custom multiplier: 8
Store value: Delta (speed per second)
Next, let’s look at some of the templates that I have looked into, which I believe are ‘incorrect’.
Template_C3750-48TS
Uses a custom multiplier of 0.125
Template_Cisco_2960
Uses a 32 bit OID, but Type of Information is Numeric (integer 64 bit).
Uses no multiplier. Has ‘show value’ = tcpConnState.
Template_Cisco_837
Uses a 32 bit OID, but Type of Information is Numeric (integer 64 bit).
Uses a custom multiplier of 1.
Template_Cisco_877
Uses a 32 bit OID, but Type of Information is Numeric (integer 64 bit).
Uses a custom multiplier of 1.
Template_Cisco_PIX515E
Uses a custom multiplier of 0.125
Template_Cisco_PIX_525
Uses a 32 bit OID, but Type of Information is Numeric (integer 64 bit).
Units says Bps with no multiplier. (my understanding is that B (alone) stands for bytes, but Bps or bps stands for bits/per second)
Template_SNMPv1_Device
No Unit. No multiplier. Stores value ‘As is’.
Template_SNMPv2_Device
No Unit. No multiplier. Stores value ‘As is’.
What gives? Am I wrong? Are they wrong? Are we all wrong?
I really don’t believe that Octets are multiplied by 0.125, nor do I believe that Octet values can be stored ‘As is’.
Zabbix Certified Templates:
I would like to propose that ALL user-contributed templates be put through their paces as part of the Zabbix Development process. If and when they are proved to be correct, they are then given the status of ‘Zabbix Certified Template’.
The zabbix.com wiki administrator change the existing Template page to show ‘Zabbix Certified Templates’ and ‘User-contributed templates’ with a disclaimer that these templates are still being tested by the Zabbix Dev team. Later, they can be moved to the Certified section.
My recent clean install of Zabbix 1.6 shows all the templates from the wiki. Including these templates as part of the Zabbix package would indicate that the templates are sanctioned by Zabbix and must therefore be good to use.
The Zabbix Developers current method of dealing with templates seems to be flawed and really needs to be addressed for the good of the product. Network administrators need real correct values, not spend 6 months trying to work out why the values in Zabbix don’t bear any resemblance to our other NMS’s.
If I am wrong, please tell me and I will happily eat my hat.
If I am right, please remember that the person who complains is just trying to help!
MrKen

Comment