diff options
author | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-02-20 10:43:46 +0000 |
---|---|---|
committer | sasha <sasha@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2008-02-20 10:43:46 +0000 |
commit | 366f4d14bd9d239fa54e47ceb0e223985a1f08a5 (patch) | |
tree | d85ae7ecc6708a5a9b1e2fae4bb1b48939af96aa | |
parent | 3c4f934915ba808bb42fbc9fa08276206e50eb3c (diff) | |
download | zabbix-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.h | 11 | ||||
-rw-r--r-- | include/zbxjson.h | 31 | ||||
-rw-r--r-- | src/libs/zbxdbhigh/db.c | 2 | ||||
-rw-r--r-- | src/zabbix_server/trapper/trapper.c | 21 |
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)) |