Hello,
at the moment, I plan to implement possibility for zabbix agent to store active checks results in buffer (disk or memory) when zabbix server is unavailable for some reason. This will allow to get rid of ugly blank spaces on graphs and provide more information for later analysis (for example when data center is overheated and central zabbix server becomes unreachable). When connection to server returns, agent send all data in buffer to server.
During analisys I found that agent->server interaction protocol can be optimized by allowing agent to send items' results not one-by-one in separate connection but group them in lager chunks and send all at once. This is especially true when we have several items for server with equal refresh interval. In that case, agent can defer items delivery for some time to send them all at once.
It seems to me that this allow reduce zabbix server load when we have lot of servers to monitor.
Please, tell me what do you think about these changes. Maybe ideas/suggestions?
at the moment, I plan to implement possibility for zabbix agent to store active checks results in buffer (disk or memory) when zabbix server is unavailable for some reason. This will allow to get rid of ugly blank spaces on graphs and provide more information for later analysis (for example when data center is overheated and central zabbix server becomes unreachable). When connection to server returns, agent send all data in buffer to server.
During analisys I found that agent->server interaction protocol can be optimized by allowing agent to send items' results not one-by-one in separate connection but group them in lager chunks and send all at once. This is especially true when we have several items for server with equal refresh interval. In that case, agent can defer items delivery for some time to send them all at once.
It seems to me that this allow reduce zabbix server load when we have lot of servers to monitor.
Please, tell me what do you think about these changes. Maybe ideas/suggestions?


Comment