Ad Widget

Collapse

zabbix agent: integer overflow in net.if.in/out using 32 bit

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ulistaerk
    Junior Member
    • Dec 2009
    • 9

    #1

    zabbix agent: integer overflow in net.if.in/out using 32 bit

    I've set up test host which constantly downloads ~77MB/s using wget. I woundered why zabbix only shows about 10-12 MB/s in my networking graph.

    Here are some values captured by the console:
    Code:
    Tue Jan  5 21:53:25 CET 2010 net.if.in[eth0,bytes] [u|3819117723]
    Tue Jan  5 21:53:39 CET 2010 net.if.in[eth0,bytes] [u|758838903]
    Tue Jan  5 21:53:55 CET 2010 net.if.in[eth0,bytes] [u|2046244265]
    Tue Jan  5 21:54:10 CET 2010 net.if.in[eth0,bytes] [u|3298870063]
    Tue Jan  5 21:54:25 CET 2010 net.if.in[eth0,bytes] [u|258305784]
    Using my calc - a link transfering 77MB/s will transfer 77MB/s*60 => 4,620 MB/min = 4,844,421,120 Bytes/min.

    An 32-bit unsigned integer can only count up to 4,294,967,295. This is likely the cause why the 32 bit client is unable to report the accurate interface counters to the server and has multiple overflows during my configured update interval of 60s.

    Having a look at the linux network drivers (eg. E1000) it seems as if its a driver architecture related issue, which only uses unsigned integers. Upgrading to an 64-bit architecture is the best option ... on the other hand you can lower the update rate of the item.
    Last edited by ulistaerk; 06-01-2010, 03:09.
Working...