I was having a similar problem to this thread: http://www.zabbix.com/forum/showthre...twork+overflow
The windows zabbix agent is using a windows network stats API which only has 32 bit counters, so bytes transfered (net.if.in, net.if.out, etc...) can overflow very fast (with a 10g connection, this could be every few seconds in theory), and unless you're polling frequently enough, it looks like throughput is much lower than it actually is.
There is an new api in windows to get these values in 64 bit. Problem is that this is only from Vista or Windows 2008 onwards, so probably won't work in XP (haven't actually tested xp).
This patch will change the agent to use the new api, and use the 64 bit counters.
I don't expect this patch to be integrated in to the zabbix source, and I'm just providing it as help to anyone else trying to solve this problem, or as a starting point (not a bit one, but still).
The two problems with the patch as is are:
- As I say, it doesn't work pre-vista, so breaks agents on older versions of windows. Guess it would need to know which api is supported and used the appropriate one
- I'm not a C developer, and this patch could well be leaking memory all over the place. Also, not sure about the wchar conversion. I did my best, and it seems to work! Maybe someone could check it out for me?
The windows zabbix agent is using a windows network stats API which only has 32 bit counters, so bytes transfered (net.if.in, net.if.out, etc...) can overflow very fast (with a 10g connection, this could be every few seconds in theory), and unless you're polling frequently enough, it looks like throughput is much lower than it actually is.
There is an new api in windows to get these values in 64 bit. Problem is that this is only from Vista or Windows 2008 onwards, so probably won't work in XP (haven't actually tested xp).
This patch will change the agent to use the new api, and use the 64 bit counters.
I don't expect this patch to be integrated in to the zabbix source, and I'm just providing it as help to anyone else trying to solve this problem, or as a starting point (not a bit one, but still).
The two problems with the patch as is are:
- As I say, it doesn't work pre-vista, so breaks agents on older versions of windows. Guess it would need to know which api is supported and used the appropriate one
- I'm not a C developer, and this patch could well be leaking memory all over the place. Also, not sure about the wchar conversion. I did my best, and it seems to work! Maybe someone could check it out for me?
Comment