summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-02-25 21:09:14 +0000
committeralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-02-25 21:09:14 +0000
commit5d2d267cb5ff4dffa62623c07bd51e9f2000f6b8 (patch)
treeb497a256e37a31252d598e7118159d772b6a3b69 /src
parente96782ae81b154456439771c873ba2e549747ea1 (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.c5
-rw-r--r--src/zabbix_agent/active.c45
-rw-r--r--src/zabbix_agent/active.h1
-rw-r--r--src/zabbix_agent/zbxconf.c2
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},