summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-02-20 10:43:46 +0000
committersasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2008-02-20 10:43:46 +0000
commit366f4d14bd9d239fa54e47ceb0e223985a1f08a5 (patch)
treed85ae7ecc6708a5a9b1e2fae4bb1b48939af96aa
parent3c4f934915ba808bb42fbc9fa08276206e50eb3c (diff)
downloadzabbix-366f4d14bd9d239fa54e47ceb0e223985a1f08a5.tar.gz
zabbix-366f4d14bd9d239fa54e47ceb0e223985a1f08a5.tar.xz
zabbix-366f4d14bd9d239fa54e47ceb0e223985a1f08a5.zip
- [DEV-109] Server changes
git-svn-id: svn://svn.zabbix.com/trunk@5375 97f52cf1-0a1b-0410-bd0e-c28be96e8082
-rw-r--r--include/db.h11
-rw-r--r--include/zbxjson.h31
-rw-r--r--src/libs/zbxdbhigh/db.c2
-rw-r--r--src/zabbix_server/trapper/trapper.c21
4 files changed, 31 insertions, 34 deletions
diff --git a/include/db.h b/include/db.h
index e15427b4..014930f2 100644
--- a/include/db.h
+++ b/include/db.h
@@ -103,13 +103,6 @@ typedef enum {
#define DB_HTTPSTEPITEM struct zbx_httpstepitem_type
#define DB_HTTPTESTITEM struct zbx_httptestitem_type
-#define MAX_HOST_HOST_LEN 64
-
-#define MAX_ITEM_KEY_LEN 255
-#define MAX_ITEM_IP_LEN 39
-#define MAX_ITEM_SNMP_COMMUNITY_LEN 64
-#define MAX_ITEM_SNMP_OID_LEN 255
-
#define MAX_HISTORY_STR_LEN 255
/* Trigger related defines */
@@ -139,7 +132,7 @@ typedef enum {
#define HOST_ERROR_LEN 128
#define HOST_ERROR_LEN_MAX HOST_ERROR_LEN+1
-#define ITEM_KEY_LEN 256
+#define ITEM_KEY_LEN 255
#define ITEM_KEY_LEN_MAX ITEM_KEY_LEN+1
#define GRAPH_NAME_LEN 128
@@ -206,7 +199,7 @@ DB_DSERVICE
int lastup;
int lastdown;
char value[DSERVICE_VALUE_LEN_MAX];
- char key_[MAX_ITEM_KEY_LEN];
+ char key_[ITEM_KEY_LEN_MAX];
};
DB_EVENT
diff --git a/include/zbxjson.h b/include/zbxjson.h
index 6b597723..9a16168f 100644
--- a/include/zbxjson.h
+++ b/include/zbxjson.h
@@ -22,23 +22,24 @@
#include <stdarg.h>
-#define ZBX_PROTO_TAG_DATA "data"
-#define ZBX_PROTO_TAG_HOST "host"
-#define ZBX_PROTO_TAG_INFO "info"
-#define ZBX_PROTO_TAG_KEY "key"
-#define ZBX_PROTO_TAG_REQUEST "request"
-#define ZBX_PROTO_TAG_RESPONSE "response"
-#define ZBX_PROTO_TAG_VALUE "value"
-#define ZBX_PROTO_TAG_CLOCK "clock"
-#define ZBX_PROTO_TAG_TIMESTAMP "timestamp"
-#define ZBX_PROTO_TAG_SOURCE "source"
-#define ZBX_PROTO_TAG_SEVERITY "severity"
-#define ZBX_PROTO_TAG_PROXY "proxy"
+#define ZBX_PROTO_TAG_CLOCK "clock"
+#define ZBX_PROTO_TAG_DATA "data"
+#define ZBX_PROTO_TAG_HOST "host"
+#define ZBX_PROTO_TAG_INFO "info"
+#define ZBX_PROTO_TAG_KEY "key"
+#define ZBX_PROTO_TAG_LOGLASTSIZE "lastlogsize"
+#define ZBX_PROTO_TAG_LOGTIMESTAMP "timestamp"
+#define ZBX_PROTO_TAG_LOGSOURCE "source"
+#define ZBX_PROTO_TAG_LOGSEVERITY "severity"
+#define ZBX_PROTO_TAG_PROXY "proxy"
+#define ZBX_PROTO_TAG_REQUEST "request"
+#define ZBX_PROTO_TAG_RESPONSE "response"
+#define ZBX_PROTO_TAG_VALUE "value"
-#define ZBX_PROTO_VALUE_FAILED "failed"
-#define ZBX_PROTO_VALUE_SUCCESS "success"
+#define ZBX_PROTO_VALUE_FAILED "failed"
+#define ZBX_PROTO_VALUE_SUCCESS "success"
-#define ZBX_PROTO_VALUE_PROXY_CONFIG "ZBX_PROXY_CONFIG"
+#define ZBX_PROTO_VALUE_PROXY_CONFIG "proxy config"
#define ZBX_PROTO_VALUE_SENDER_DATA "sender data"
typedef enum
diff --git a/src/libs/zbxdbhigh/db.c b/src/libs/zbxdbhigh/db.c
index 5dcb31a3..2b5b70ce 100644
--- a/src/libs/zbxdbhigh/db.c
+++ b/src/libs/zbxdbhigh/db.c
@@ -1670,7 +1670,7 @@ void DBget_item_from_db(DB_ITEM *item,DB_ROW row)
ZBX_STR2UINT64(item->itemid, row[0]);
/* item->itemid=atoi(row[0]); */
- zbx_snprintf(item->key, ITEM_KEY_LEN, "%s", row[1]);
+ zbx_snprintf(item->key, ITEM_KEY_LEN_MAX, "%s", row[1]);
item->host_name=row[2];
item->port=atoi(row[3]);
item->delay=atoi(row[4]);
diff --git a/src/zabbix_server/trapper/trapper.c b/src/zabbix_server/trapper/trapper.c
index d6401448..b09f9183 100644
--- a/src/zabbix_server/trapper/trapper.c
+++ b/src/zabbix_server/trapper/trapper.c
@@ -329,7 +329,8 @@ static int process_new_values(zbx_sock_t *sock, struct zbx_json_parse *json)
const char *p;
char proxy[PROXY_NAME_LEN_MAX], host[HOST_HOST_LEN_MAX], key[ITEM_KEY_LEN_MAX],
value[MAX_STRING_LEN], info[MAX_STRING_LEN], lastlogsize[MAX_STRING_LEN],
- timestamp[MAX_STRING_LEN], source[MAX_STRING_LEN], severity[MAX_STRING_LEN];
+ timestamp[MAX_STRING_LEN], source[MAX_STRING_LEN], severity[MAX_STRING_LEN],
+ clock[MAX_STRING_LEN];
int ret = SUCCEED;
int processed_ok = 0, processed_fail = 0;
DB_RESULT result;
@@ -354,10 +355,8 @@ static int process_new_values(zbx_sock_t *sock, struct zbx_json_parse *json)
}
- if (SUCCEED == zbx_json_value_by_name(json, ZBX_PROTO_TAG_CLOCK, timestamp, sizeof(timestamp)))
- now = atoi(timestamp);
-
-zabbix_log(LOG_LEVEL_DEBUG, "In process_new_values(proxyid:" ZBX_FS_UI64 ", clock:%d)", proxyid, now);
+ if (SUCCEED == zbx_json_value_by_name(json, ZBX_PROTO_TAG_CLOCK, clock, sizeof(clock)))
+ now = atoi(clock);
/* {"request":"ZBX_SENDER_DATA","data":[{"key":"system.cpu.num",...,...},{...},...]}
* ^
@@ -398,6 +397,9 @@ zabbix_log(LOG_LEVEL_DEBUG, "In process_new_values(proxyid:" ZBX_FS_UI64 ", cloc
*source = '\0';
*severity = '\0';
+ if (SUCCEED == zbx_json_value_by_name(&jp_row, ZBX_PROTO_TAG_CLOCK, clock, sizeof(clock)))
+ now = time(NULL) - (now - atoi(clock));
+
if (FAIL == zbx_json_value_by_name(&jp_row, ZBX_PROTO_TAG_HOST, host, sizeof(host)))
continue;
@@ -407,12 +409,13 @@ zabbix_log(LOG_LEVEL_DEBUG, "In process_new_values(proxyid:" ZBX_FS_UI64 ", cloc
if (FAIL == zbx_json_value_by_name(&jp_row, ZBX_PROTO_TAG_VALUE, value, sizeof(value)))
continue;
- if (SUCCEED == zbx_json_value_by_name(&jp_row, ZBX_PROTO_TAG_CLOCK, timestamp, sizeof(timestamp)))
- now = time(NULL) - (now - atoi(timestamp));
+ zbx_json_value_by_name(&jp_row, ZBX_PROTO_TAG_LOGLASTSIZE, lastlogsize, sizeof(lastlogsize));
+
+ zbx_json_value_by_name(&jp_row, ZBX_PROTO_TAG_LOGTIMESTAMP, timestamp, sizeof(timestamp));
- zbx_json_value_by_name(&jp_row, ZBX_PROTO_TAG_VALUE, source, sizeof(severity));
+ zbx_json_value_by_name(&jp_row, ZBX_PROTO_TAG_LOGSOURCE, source, sizeof(source));
- zbx_json_value_by_name(&jp_row, ZBX_PROTO_TAG_VALUE, severity, sizeof(severity));
+ zbx_json_value_by_name(&jp_row, ZBX_PROTO_TAG_LOGSEVERITY, severity, sizeof(severity));
DBbegin();
if(SUCCEED == process_data(sock, proxyid, now, host, key, value, lastlogsize, timestamp, source, severity))