diff options
| author | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-02-25 21:09:14 +0000 |
|---|---|---|
| committer | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-02-25 21:09:14 +0000 |
| commit | 5d2d267cb5ff4dffa62623c07bd51e9f2000f6b8 (patch) | |
| tree | b497a256e37a31252d598e7118159d772b6a3b69 /src | |
| parent | e96782ae81b154456439771c873ba2e549747ea1 (diff) | |
- [DEV-117] added support of BufferSize and BufferSend paramaters (Alexei)
git-svn-id: svn://svn.zabbix.com/trunk@5404 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
| -rw-r--r-- | src/libs/zbxdbhigh/db.c | 5 | ||||
| -rw-r--r-- | src/zabbix_agent/active.c | 45 | ||||
| -rw-r--r-- | src/zabbix_agent/active.h | 1 | ||||
| -rw-r--r-- | src/zabbix_agent/zbxconf.c | 2 |
4 files changed, 29 insertions, 24 deletions
diff --git a/src/libs/zbxdbhigh/db.c b/src/libs/zbxdbhigh/db.c index c00f20ff..5e0ffde2 100644 --- a/src/libs/zbxdbhigh/db.c +++ b/src/libs/zbxdbhigh/db.c @@ -1307,6 +1307,9 @@ int DBadd_history_log(zbx_uint64_t id, zbx_uint64_t itemid, char *value, int clo zabbix_log(LOG_LEVEL_DEBUG, "In add_history_log()"); + zabbix_log(LOG_LEVEL_DEBUG, "In add_history_log(value:%s)", value); + zabbix_log(LOG_LEVEL_DEBUG, "In add_history_log(source:%s)", source); + DBescape_string(value,value_esc,MAX_STRING_LEN); DBescape_string(source,source_esc,MAX_STRING_LEN); @@ -1323,6 +1326,8 @@ int DBadd_history_log(zbx_uint64_t id, zbx_uint64_t itemid, char *value, int clo source_esc, severity); + zabbix_log(LOG_LEVEL_DEBUG, "End of add_history_log()"); + return SUCCEED; } diff --git a/src/zabbix_agent/active.c b/src/zabbix_agent/active.c index 25839d62..276b589a 100644 --- a/src/zabbix_agent/active.c +++ b/src/zabbix_agent/active.c @@ -408,14 +408,7 @@ static int check_response(char *response) ******************************************************************************/ static int send_buffer( const char *host, - unsigned short port, - const char *hostname, - const char *key, - const char *value, - long *lastlogsize, - unsigned long *timestamp, - const char *source, - unsigned short *severity + unsigned short port ) { zbx_sock_t s; @@ -424,17 +417,23 @@ static int send_buffer( struct zbx_json json; int i; char tmp[MAX_STRING_LEN]; + static int lastsent = 0; + int now; - zabbix_log( LOG_LEVEL_WARNING, "In send_buffer('%s','%s','%s')", - host, key, value); + zabbix_log( LOG_LEVEL_WARNING, "In send_buffer('%s','%d')", + host, port); zabbix_log( LOG_LEVEL_DEBUG, "Values in the buffer %d Max %d", buffer.count, CONFIG_BUFFER_SIZE); - if(buffer.count < CONFIG_BUFFER_SIZE) + now = time(NULL); + if(buffer.count < CONFIG_BUFFER_SIZE && now-lastsent < CONFIG_BUFFER_SEND) { - zabbix_log( LOG_LEVEL_DEBUG, "Will not send now."); + zabbix_log( LOG_LEVEL_DEBUG, "Will not send now. Now %d lastsent %d < %d", + now, + lastsent, + CONFIG_BUFFER_SEND); return ret; } @@ -460,7 +459,7 @@ static int send_buffer( if (SUCCEED == (ret = zbx_tcp_connect(&s, host, port, MIN(buffer.count*CONFIG_TIMEOUT, 60)))) { - zabbix_log(LOG_LEVEL_WARNING, "JSON before sending [%s]", + zabbix_log(LOG_LEVEL_DEBUG, "JSON before sending [%s]", json.buffer); ret = zbx_tcp_send(&s, json.buffer); @@ -469,19 +468,15 @@ static int send_buffer( { if( SUCCEED == (ret = zbx_tcp_recv(&s, &buf)) ) { - zabbix_log( LOG_LEVEL_WARNING, "JSON back [%s]", + zabbix_log( LOG_LEVEL_DEBUG, "JSON back [%s]", buf); if( !buf || check_response(buf) != SUCCEED ) { - zabbix_log( LOG_LEVEL_WARNING, "NOT OK [%s:%s]", - hostname, - key); + zabbix_log( LOG_LEVEL_WARNING, "NOT OK"); } else { - zabbix_log( LOG_LEVEL_WARNING, "OK [%s:%s]", - hostname, - key); + zabbix_log( LOG_LEVEL_WARNING, "OK"); } } else zabbix_log(LOG_LEVEL_DEBUG, "Send value error: [recv] %s", zbx_tcp_strerror()); @@ -506,6 +501,8 @@ static int send_buffer( buffer.count = 0; } + if(SUCCEED == ret) lastsent = now; + return ret; } @@ -548,10 +545,10 @@ static int process_value( int ret = SUCCEED; int i; - zabbix_log( LOG_LEVEL_WARNING, "In process_value('%s','%s','%s')", + zabbix_log( LOG_LEVEL_DEBUG, "In process_value('%s','%s','%s')", host, key, value); - send_buffer(server,port,host,key,value,lastlogsize,timestamp,source,severity); + send_buffer(server,port); /* Called first time, allocate memory */ if(NULL == buffer.data) @@ -588,10 +585,10 @@ static int process_value( buffer.data[CONFIG_BUFFER_SIZE-1].value = strdup(value); } - zabbix_log(LOG_LEVEL_WARNING, "BUFFER"); + zabbix_log(LOG_LEVEL_DEBUG, "BUFFER"); for(i=0;i<buffer.count;i++) { - zabbix_log(LOG_LEVEL_WARNING, " Host %s Key %s Values %s", buffer.data[i].host, buffer.data[i].key, buffer.data[i].value); + zabbix_log(LOG_LEVEL_DEBUG, " Host %s Key %s Values %s", buffer.data[i].host, buffer.data[i].key, buffer.data[i].value); } return ret; diff --git a/src/zabbix_agent/active.h b/src/zabbix_agent/active.h index 0788ad3b..73d23a36 100644 --- a/src/zabbix_agent/active.h +++ b/src/zabbix_agent/active.h @@ -24,6 +24,7 @@ extern char *CONFIG_HOSTNAME; extern int CONFIG_REFRESH_ACTIVE_CHECKS; +extern int CONFIG_BUFFER_SEND; extern int CONFIG_BUFFER_SIZE; #define MAX_LINES_PER_SECOND 10 diff --git a/src/zabbix_agent/zbxconf.c b/src/zabbix_agent/zbxconf.c index 649a601d..d13d4029 100644 --- a/src/zabbix_agent/zbxconf.c +++ b/src/zabbix_agent/zbxconf.c @@ -55,6 +55,7 @@ int CONFIG_LOG_LEVEL = LOG_LEVEL_INFORMATION; char CONFIG_LOG_UNRES_SYMB = 0; int CONFIG_BUFFER_SIZE = 1024; +int CONFIG_BUFFER_SEND = 10; void load_config() { @@ -65,6 +66,7 @@ void load_config() {"Server", &CONFIG_HOSTS_ALLOWED, 0,TYPE_STRING, PARM_MAND, 0,0}, {"Hostname", &CONFIG_HOSTNAME, 0,TYPE_STRING, PARM_OPT, 0,0}, {"BufferSize", &CONFIG_BUFFER_SIZE, 0,TYPE_INT, PARM_OPT, 1,65535}, + {"BufferSend", &CONFIG_BUFFER_SEND, 0,TYPE_INT, PARM_OPT, 1,3600}, #ifdef USE_PID_FILE {"PidFile", &APP_PID_FILE, 0,TYPE_STRING, PARM_OPT, 0,0}, |
