summaryrefslogtreecommitdiffstats
path: root/src/zabbix_agent/active.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/zabbix_agent/active.c')
-rw-r--r--src/zabbix_agent/active.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/zabbix_agent/active.c b/src/zabbix_agent/active.c
index 56ae0eb1..cf7c1820 100644
--- a/src/zabbix_agent/active.c
+++ b/src/zabbix_agent/active.c
@@ -114,7 +114,7 @@ int get_min_nextcheck()
return min;
}
-void add_check(char *key, int refresh)
+void add_check(char *key, int refresh, int lastlogsize)
{
int i;
@@ -128,7 +128,7 @@ void add_check(char *key, int refresh)
metrics[i].refresh=refresh;
metrics[i].nextcheck=0;
metrics[i].status=ITEM_STATUS_ACTIVE;
- metrics[i].lastlogsize=0;
+ metrics[i].lastlogsize=lastlogsize;
metrics=realloc(metrics,(i+2)*sizeof(METRIC));
metrics[i+1].key=NULL;
@@ -141,6 +141,7 @@ void add_check(char *key, int refresh)
metrics[i].nextcheck=0;
}
metrics[i].refresh=refresh;
+ metrics[i].lastlogsize=lastlogsize;
metrics[i].status=ITEM_STATUS_ACTIVE;
break;
}
@@ -151,7 +152,7 @@ void add_check(char *key, int refresh)
int parse_list_of_checks(char *str)
{
char *line;
- char *key, *refresh;
+ char *key, *refresh, *lastlogsize;
char *s1, *s2;
disable_all_metrics();
@@ -167,8 +168,10 @@ int parse_list_of_checks(char *str)
zabbix_log( LOG_LEVEL_DEBUG, "Key [%s]", key);
refresh=(char *)strtok_r(NULL,":",&s2);
zabbix_log( LOG_LEVEL_DEBUG, "Refresh [%s]", refresh);
+ lastlogsize=(char *)strtok_r(NULL,":",&s2);
+ zabbix_log( LOG_LEVEL_DEBUG, "Lastlogsize [%s]", lastlogsize);
- add_check(key, atoi(refresh));
+ add_check(key, atoi(refresh), atoi(lastlogsize));
line=(char *)strtok_r(NULL,"\n",&s1);
}
@@ -380,6 +383,7 @@ int send_value(char *server,int port,char *shortname,char *value)
int process_active_checks(char *server, int port)
{
char value[MAX_STRING_LEN];
+ char value_tmp[MAX_STRING_LEN];
int i, now, count;
int ret = SUCCEED;
@@ -407,7 +411,8 @@ int process_active_checks(char *server, int port)
{
snprintf(shortname, MAX_STRING_LEN-1,"%s:%s",CONFIG_HOSTNAME,metrics[i].key);
zabbix_log( LOG_LEVEL_DEBUG, "%s",shortname);
- if(send_value(server,port,shortname,value) == FAIL)
+ snprintf(value_tmp, MAX_STRING_LEN-1,"%d:%s",metrics[i].lastlogsize,value);
+ if(send_value(server,port,shortname,value_tmp) == FAIL)
{
ret = FAIL;
break;