-
Problem report
-
Resolution: Won't fix
-
Trivial
-
None
-
2.2.19, 3.0.10, 3.2.7, 3.4.0, 3.4.1
-
None
-
Zabbix server 2.2, 2.4, 3.0, 3.2, 3.4.
Since LLD introduction in 2.0 version, there is a "Template SNMP Interfaces" that comes with Zabbix out of the box. It has a discovery rule for network interfaces and within item prototypes there are two rules:
Incoming traffic on interface $1, IF-MIB::ifInOctets.{#SNMPINDEX} Outgoing traffic on interface $1, IF-MIB::ifOutOctets.{#SNMPINDEX}
In 3.4 version, there is a "Template Module Interfaces SNMPv2" that comes with Zabbix out of the box. It has a discovery rule for network interfaces and withing item prototypes there are two rules:
Interface {#IFNAME}({#IFALIAS}): Bits received, net.if.in[ifHCInOctets.{#SNMPINDEX}] Interface {#IFNAME}({#IFALIAS}): Bits sent, net.if.out[ifHCOutOctets.{#SNMPINDEX}]
These prototypes have a custom multiplier of 8, which does not look correctly placed. As per RFC 3635, this counter represents "the number of octets in valid MAC frames received on this interface, including the MAC header and FCS. This does include the number of octets in valid MAC Control frames received on this interface."
The item prototype has bps units, which stands for bits per second. 1 octet = 1 byte = 8 bits.
There is no need to multiply the received value by 8 if we are to gather bps.
The unit should be changed to Bps if we are to collect and work with bytes/octets.
The template has such configuration in 2.2, 2.4, 3.0, 3.2, 3.4 Zabbix server versions.