Ad Widget

Collapse

Can't change to change per second.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • nprdev
    Junior Member
    • Jul 2023
    • 9

    #1

    Can't change to change per second.

    So I have a bad template where 'Bits sent' and 'Bits Received' for netifs aren't using a proper preprocessing step (change per second) which is required to get these overflowing counters to work with Zabbix.

    I changed that template. Nothing changed on the collecting hosts, they keep aggregating it instead of taking a difference.

    I re-assign (remove all data then re-start) on a test host. Still no change.

    I change the template to use FLOAT rather than INT, thinking; if this includes a division, that may result in values that are not cleanly whole numbers. If 7 bytes are transferred in 3 seconds, then that's 2.3333 bytes per second.

    Repeat the above again. No change.

    (Image uploads appear to be broken) my item config and preprocess looks like: https://imgur.com/a/ZnRWF1Z

    What's still missing here, this should be simple?

    A: Found it: it ended up being the proxy still caching the values.

    Now a more complicated question: For a network interface that sees a little more bandwidth, overflows happen very often. If an overflow in the value is ignored then the reported value may be lower than the real value. Sometimes far lower, if the overflow happens within the real interval. 4GB isn't much for a multi-gigabit connection: it can be sent an as little as 30 seconds. If the monitor interval is a couple minutes, then potentially 20GB could be sent but zabbix registers zero.
    Increasing the monitor interval so that at least an overflow can only happen once could be a thing, but how to do this properly?

    The answer to this seems to be to use https://networkengineering.stackexch...ers-using-snmp to use ifHCInOctets instead, which is 64-bit and doesn't have these problems.

    Some older equipment may not have this available though, so I'm still wondering if there's a way to 'add' the overflow. I.e. if x[n] < x[n-1], then use the value 2^32 + x[n] for x[n] instead. In zabbix terms, that would be

    (value + 4294967296 - prev_value) / (time - prev_time)

    Last edited by nprdev; 18-07-2025, 14:18.
Working...