Hello,
attached patch which implements buffer of active checks on agent in
case server is unreachable. There was small discussion about this idea
here: http://www.zabbix.com/forum/showthread.php?t=8361
The way it works:
1. There are two additonal unnecesary agentd's parameters:
ActiveChecksBufSize and ActiveChecksBufFile. First specify size of
buffer file in MB, second is the file path itself.
2. When agent trying to send result of active check to server and
fails by some reason (server is turned off, network is down, server's
database is down, etc) it stores result in this file.
3. Buffer file is divided by parts. Each part associated with active
check and has size protoportional active check refresh rate. So, we
have effective buffer usage for different active checks.
4. When connection betwen agent and server is restored (active check
sent sucessfully) and we have data in our buffer we send history data
to server. Data sent in one large XML block for each active check.
5. When there are no connection between agent and server, we can
restart agent freely: if it fails to obtain list of active checks from
server, it takes it from local buffer's list.
So, agent can work independently of server for some time. Of course
there will be no triggers/events, but we won't lose server's history
data. This can be very usefull for later analysis when something
really bad happen to our data center and zabbix server or network
connectivity is down.
This patch is against 1.4.4 release.
With best regards,
Max Lapan
attached patch which implements buffer of active checks on agent in
case server is unreachable. There was small discussion about this idea
here: http://www.zabbix.com/forum/showthread.php?t=8361
The way it works:
1. There are two additonal unnecesary agentd's parameters:
ActiveChecksBufSize and ActiveChecksBufFile. First specify size of
buffer file in MB, second is the file path itself.
2. When agent trying to send result of active check to server and
fails by some reason (server is turned off, network is down, server's
database is down, etc) it stores result in this file.
3. Buffer file is divided by parts. Each part associated with active
check and has size protoportional active check refresh rate. So, we
have effective buffer usage for different active checks.
4. When connection betwen agent and server is restored (active check
sent sucessfully) and we have data in our buffer we send history data
to server. Data sent in one large XML block for each active check.
5. When there are no connection between agent and server, we can
restart agent freely: if it fails to obtain list of active checks from
server, it takes it from local buffer's list.
So, agent can work independently of server for some time. Of course
there will be no triggers/events, but we won't lose server's history
data. This can be very usefull for later analysis when something
really bad happen to our data center and zabbix server or network
connectivity is down.
This patch is against 1.4.4 release.
With best regards,
Max Lapan

Comment