[ZBX-10063] net.if.in / net.if.out unstable at high traffic Created: 2015 Nov 10  Updated: 2017 May 30  Resolved: 2015 Dec 21

Status: Closed
Project: ZABBIX BUGS AND ISSUES
Component/s: Agent (G)
Affects Version/s: 2.4.6
Fix Version/s: 3.0.0alpha5

Type: Incident report Priority: Major
Reporter: Kevin Daudt Assignee: Unassigned
Resolution: Fixed Votes: 1
Labels: overflow, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows server 2008


Issue Links:
Duplicate
is duplicated by ZBXNEXT-3043 Windows Agent can't report network us... Closed
is duplicated by ZBXNEXT-1559 support 64 bit network counters on wi... Closed
is duplicated by ZBX-10074 value for network traffic on Windows ... Closed

 Description   

We notice the traffic that Zabbix records for some of our servers is lower then the server itself reports, in magnitude 10 times or more.

The items are net.if.in["adapter"] and net.if.out["adapter"], with the data type numeric (unsigned) decimal. Store as delta (speed per second), multiplier 8.

Also, sometimes there are gaps in in the graph.

We ran into this problem earlier with snmp ifInOctets on Linux devices, which is a 32 bit counter, which wraps around 4Gb, which happens quite soon with bigger interfaces (1Gbit or 10Gbit).

Looking at the code, it appears Zabbix calls the getifentry API, which returns an MIB_IFROW struct, which uses DWORDS for the fields, which are 32 bits, confirming this is the issue.



 Comments   
Comment by richlv [ 2015 Nov 11 ]

did you test this with a 64bit zabbix agent ?

Comment by Kevin Daudt [ 2015 Nov 11 ]

Yes, we only deploy 64bit zabbix agents.

Comment by Sandis Neilands (Inactive) [ 2015 Nov 11 ]

Since Windows Vista MIB_IF_ROW2 structure containing 64bit counters is available along with updated API (GetIfEntry2(), others).

Comment by Sandis Neilands (Inactive) [ 2015 Dec 15 ]

Zabbix agent will use MIB_IF_ROW2 (which contains 64-bit counters) and GetIfEntry2() on Windows Vista and later releases of Windows but continue using MIB_IFROW (32-bit counters) and GetIfEntry() on earlier releases of Windows where the new API is not available.

Tested on:

  • Windows 2000 Professional 32-bit;
  • Windows XP SP3 32-bit;
  • Windows 8.1 Professional 64-bit: (tested both 32-bit and 64-bit agents);
  • Windows 10 64-bit: (tested both 32-bit and 64-bit agents).

Fixed in development branch svn://svn.zabbix.com/branches/dev/ZBX-10063 .

Comment by Andris Zeila [ 2015 Dec 17 ]

Successfully tested, please review changes in r57237

sandis.neilands Thanks, CLOSED.

Comment by Sandis Neilands (Inactive) [ 2015 Dec 17 ]

Released in:

  • 3.0.0alpha5 r57245.
Comment by Sandis Neilands (Inactive) [ 2015 Dec 17 ]

Documentation:

martins-v I did not notice any changes to 'Supported item keys' section.

martins-v Reviewed the 'what's new' entry, with minor alterations. I also added the info to https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/zabbix_agent.

RESOLVED

sandis.neilands Thanks, CLOSED.

Generated at Thu Apr 18 04:39:32 EEST 2024 using Jira 9.12.4#9120004-sha1:625303b708afdb767e17cb2838290c41888e9ff0.