diff options
| author | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-03-14 16:00:57 +0000 |
|---|---|---|
| committer | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-03-14 16:00:57 +0000 |
| commit | 602d082749b19c7720de3829078b24a514a96088 (patch) | |
| tree | 07b98c3ced17e08ef5b3c536a92714f91dd15a09 /src/zabbix_proxy | |
| parent | a6b26fc9ecae1da85677b16d024c3081052280c8 (diff) | |
| download | zabbix-602d082749b19c7720de3829078b24a514a96088.tar.gz zabbix-602d082749b19c7720de3829078b24a514a96088.tar.xz zabbix-602d082749b19c7720de3829078b24a514a96088.zip | |
- [DEV-110] Configuration syncer
git-svn-id: svn://svn.zabbix.com/trunk@5491 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src/zabbix_proxy')
| -rw-r--r-- | src/zabbix_proxy/proxy.c | 3 | ||||
| -rw-r--r-- | src/zabbix_proxy/proxyconfig/proxyconfig.c | 25 |
2 files changed, 14 insertions, 14 deletions
diff --git a/src/zabbix_proxy/proxy.c b/src/zabbix_proxy/proxy.c index 63127342..2c254345 100644 --- a/src/zabbix_proxy/proxy.c +++ b/src/zabbix_proxy/proxy.c @@ -135,7 +135,7 @@ int CONFIG_PROXY_OFFLINE_BUFFER = 1; /* 720h */ int CONFIG_HEARTBEAT_FREQUENCY = 60; -int CONFIG_PROXYCONFIG_FREQUENCY = 120; +int CONFIG_PROXYCONFIG_FREQUENCY = 3600*24; int CONFIG_DATASENDER_FREQUENCY = 10; @@ -218,6 +218,7 @@ void init_config(void) {"ProxyOfflineBuffer",&CONFIG_PROXY_OFFLINE_BUFFER,0,TYPE_INT,PARM_OPT,1,720}, {"HeartbeatFrequency",&CONFIG_HEARTBEAT_FREQUENCY,0,TYPE_INT,PARM_OPT,0,3600}, + {"ConfigFrequency",&CONFIG_PROXYCONFIG_FREQUENCY,0,TYPE_INT,PARM_OPT,1,3600*7*24}, {"DataSenderFrequency",&CONFIG_DATASENDER_FREQUENCY,0,TYPE_INT,PARM_OPT,1,3600}, /* {"SenderFrequency",&CONFIG_SENDER_FREQUENCY,0,TYPE_INT,PARM_OPT,5,3600},*/ diff --git a/src/zabbix_proxy/proxyconfig/proxyconfig.c b/src/zabbix_proxy/proxyconfig/proxyconfig.c index ff2acd8b..1c5ba2cd 100644 --- a/src/zabbix_proxy/proxyconfig/proxyconfig.c +++ b/src/zabbix_proxy/proxyconfig/proxyconfig.c @@ -26,6 +26,8 @@ #include "proxyconfig.h" #include "../servercomms.h" +#define CONFIG_PROXYCONFIG_RETRY 120 /* seconds */ + /****************************************************************************** * * * Function: process_proxyconfig_table * @@ -245,7 +247,7 @@ db_error: * Comments: * * * ******************************************************************************/ -static int process_proxyconfig(struct zbx_json_parse *jp) +static void process_proxyconfig(struct zbx_json_parse *jp) { char buf[MAX_STRING_LEN]; size_t len = sizeof(buf); @@ -258,8 +260,7 @@ static int process_proxyconfig(struct zbx_json_parse *jp) /* * {"hosts":{"fields":["hostid","host",...],"data":[[1,"zbx01",...],[2,"zbx02",...],...]},"items":{...},...} * ^ - */ - while (NULL != (p = zbx_json_pair_next(jp, p, buf, len)) && res == SUCCEED) { + */ while (NULL != (p = zbx_json_pair_next(jp, p, buf, len)) && res == SUCCEED) { if (ZBX_JSON_TYPE_OBJECT != zbx_json_type(p)) { zabbix_log(LOG_LEVEL_WARNING, "Invalid type of data for table \"%s\" \"%.40s...\"", buf, @@ -274,13 +275,11 @@ static int process_proxyconfig(struct zbx_json_parse *jp) DBcommit(); else DBrollback(); - - return res; } /****************************************************************************** * * - * Function: process_nodes * + * Function: process_configuration_sync * * * * Purpose: calculates checks sum of config data * * * @@ -297,13 +296,16 @@ static void process_configuration_sync() { zbx_sock_t sock; char *data; -/* int now = time(NULL);*/ struct zbx_json_parse jp; zabbix_log(LOG_LEVEL_DEBUG, "In process_configuration_sync()"); - if (FAIL == connect_to_server(&sock, 60)) /* alarm */ - return; + while (FAIL == connect_to_server(&sock, 600)) { /* alarm */ + zabbix_log(LOG_LEVEL_DEBUG, "Connect to the server failed. Retry after %d seconds", + CONFIG_PROXYCONFIG_RETRY); + + sleep(CONFIG_PROXYCONFIG_RETRY); + } if (FAIL == get_data_from_server(&sock, ZBX_PROTO_VALUE_PROXY_CONFIG, &data)) goto exit; @@ -311,12 +313,9 @@ static void process_configuration_sync() if (FAIL == zbx_json_open(data, &jp)) goto exit; - if (FAIL == process_proxyconfig(&jp)) - zabbix_log(LOG_LEVEL_DEBUG, "----- process_proxyconfig() ---> FAIL <---"); + process_proxyconfig(&jp); exit: disconnect_server(&sock); - -/* zabbix_log(LOG_LEVEL_DEBUG, "<-----> process_nodes [Selected records in %d seconds]", time(NULL)-now);*/ } /****************************************************************************** |
