diff options
author | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-11-24 16:25:36 +0000 |
---|---|---|
committer | alex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2006-11-24 16:25:36 +0000 |
commit | 1964ae1cb717b09523b924d351627d1601ab968f (patch) | |
tree | 3aaae47c2ab0f5598b4022e434da4e1cb0ceeb31 | |
parent | 48032fa138c7561591cad2180c074aed40592a36 (diff) | |
download | zabbix-1964ae1cb717b09523b924d351627d1601ab968f.tar.gz zabbix-1964ae1cb717b09523b924d351627d1601ab968f.tar.xz zabbix-1964ae1cb717b09523b924d351627d1601ab968f.zip |
More changes for DM.
git-svn-id: svn://svn.zabbix.com/trunk@3513 97f52cf1-0a1b-0410-bd0e-c28be96e8082
-rw-r--r-- | create/data/nodes_master.sql | 2 | ||||
-rw-r--r-- | create/data/nodes_slave.sql | 2 | ||||
-rw-r--r-- | create/schema/schema_new.sql | 2 | ||||
-rw-r--r-- | src/zabbix_server/evalfunc.c | 2 | ||||
-rw-r--r-- | src/zabbix_server/events.c | 7 | ||||
-rw-r--r-- | src/zabbix_server/nodewatcher/nodesender.c | 48 |
6 files changed, 42 insertions, 21 deletions
diff --git a/create/data/nodes_master.sql b/create/data/nodes_master.sql index f5d44900..3a697ed3 100644 --- a/create/data/nodes_master.sql +++ b/create/data/nodes_master.sql @@ -1,2 +1,2 @@ -insert into nodes values (2, "D8", 2, "192.168.1.55", 10051, 30, 365, 0, 0, 0, 0, 0, 0, 1); +insert into nodes values (2, "D8", 2, "192.168.1.5", 10051, 30, 365, 0, 0, 0, 0, 0, 0, 1); insert into nodes values (1, "ZABBIX", 2, "192.168.1.88", 10051, 30, 365, 0, 0, 0, 0, 0, 1, 0); diff --git a/create/data/nodes_slave.sql b/create/data/nodes_slave.sql index caa27325..a7a24194 100644 --- a/create/data/nodes_slave.sql +++ b/create/data/nodes_slave.sql @@ -1,2 +1,2 @@ -insert into nodes values (2, "D8", 2, "192.168.1.55", 10051, 30, 365, 0, 0, 0, 0, 0, 1, 1); +insert into nodes values (2, "D8", 2, "192.168.1.5", 10051, 30, 365, 0, 0, 0, 0, 0, 1, 1); insert into nodes values (1, "ZABBIX", 2, "192.168.1.88", 10051, 30, 365, 0, 0, 0, 0, 0, 0, 0); diff --git a/create/schema/schema_new.sql b/create/schema/schema_new.sql index 597e2a93..922e649b 100644 --- a/create/schema/schema_new.sql +++ b/create/schema/schema_new.sql @@ -209,7 +209,7 @@ FIELD |value |t_varchar(255) |'' |NOT NULL | INDEX |1 |actionid TABLE|events|eventid| -FIELD |eventid |t_id |'0' |NOT NULL | +FIELD |eventid |t_id |'0' |NOT NULL | FIELD |triggerid |t_id |'0' |NOT NULL | FIELD |clock |t_time |'0' |NOT NULL | FIELD |value |t_integer |'0' |NOT NULL | diff --git a/src/zabbix_server/evalfunc.c b/src/zabbix_server/evalfunc.c index 6ccedb3e..5ce16db3 100644 --- a/src/zabbix_server/evalfunc.c +++ b/src/zabbix_server/evalfunc.c @@ -1277,7 +1277,7 @@ int evaluate_FUNCTION2(char *value,char *host,char *key,char *function,char *par zabbix_log(LOG_LEVEL_DEBUG, "In evaluate_FUNCTION2()" ); - result = DBselect("select %s where h.host='%s' and h.hostid=i.hostid and i.key_='%s'" ZBX_COND_NODEID, ZBX_SQL_ITEM_SELECT, host, key, LOCAL_NODE("h.hostid")); + result = DBselect("select %s where h.host='%s' and h.hostid=i.hostid and i.key_='%s' and" ZBX_COND_NODEID, ZBX_SQL_ITEM_SELECT, host, key, LOCAL_NODE("h.hostid")); row = DBfetch(result); diff --git a/src/zabbix_server/events.c b/src/zabbix_server/events.c index eece75d3..54804b02 100644 --- a/src/zabbix_server/events.c +++ b/src/zabbix_server/events.c @@ -124,10 +124,11 @@ int process_event(DB_EVENT *event) else { ZBX_STR2UINT64(event->eventid, row[0]); - event->eventid++; + event->eventid = CONFIG_NODEID*(zbx_uint64_t)__UINT64_C(100000000000000) + event->eventid; + event->eventid++; } - DBexecute("update nodes set event_maxid=" ZBX_FS_UI64 " where nodeid=%d", - event->eventid, CONFIG_NODEID); + DBexecute("update nodes set event_maxid=event_maxid+1 where nodeid=%d", + CONFIG_NODEID); DBfree_result(result); } DBexecute("insert into events(eventid,triggerid,clock,value) values(" ZBX_FS_UI64 "," ZBX_FS_UI64 ",%d,%d)", diff --git a/src/zabbix_server/nodewatcher/nodesender.c b/src/zabbix_server/nodewatcher/nodesender.c index e342c201..11eca2b7 100644 --- a/src/zabbix_server/nodewatcher/nodesender.c +++ b/src/zabbix_server/nodewatcher/nodesender.c @@ -81,17 +81,18 @@ static int send_config_data(int nodeid, int dest_nodeid, zbx_uint64_t maxlogid, DB_ROW row2; #define ZBX_XML_MAX 16*1024*1024 - char *xml; - char tmp[MAX_STRING_LEN]; + char *xml,*p; char fields[MAX_STRING_LEN]; - int i,j; + int i,j,c; xml=malloc(ZBX_XML_MAX); - xml[0]=0; + memset(xml,0,ZBX_XML_MAX); -// zabbix_log( LOG_LEVEL_WARNING, "In send_config_data(local:%d,nodeid:%d,dest_node:%d,maxlogid:%d,type:%d)",local_nodeid, nodeid, dest_nodeid,maxlogid,node_type); + p = xml; + + zabbix_log( LOG_LEVEL_DEBUG, "In send_config_data(nodeid:%d,dest_node:%d,maxlogid:" ZBX_FS_UI64 ",type:%d)",nodeid, dest_nodeid,maxlogid,node_type); /* Begin work */ if(node_type == ZBX_NODE_MASTER) @@ -104,12 +105,15 @@ static int send_config_data(int nodeid, int dest_nodeid, zbx_uint64_t maxlogid, } // snprintf(tmp,sizeof(tmp),"<Data type='config'>\n<Node id='%d'>\n</Node>\n<Version>1.4</Version>\n<Records>\n", nodeid); - zbx_snprintf(tmp,sizeof(tmp),"Data|%d|%d\n", CONFIG_NODEID, nodeid); - zbx_strlcat(xml,tmp,ZBX_XML_MAX); +// zbx_snprintf(tmp,sizeof(tmp),"Data|%d|%d\n", CONFIG_NODEID, nodeid); + +// zbx_strlcat(xml,tmp,ZBX_XML_MAX); + c = zbx_snprintf(p,ZBX_XML_MAX,"Data|%d|%d\n", CONFIG_NODEID, nodeid); + p+=c; while((row=DBfetch(result))) { -// zabbix_log( LOG_LEVEL_WARNING, "Fetched [%s,%s,%s]",row[0],row[1],row[2]); +/* zabbix_log( LOG_LEVEL_WARNING, "Fetched [%s,%s,%s]",row[0],row[1],row[2]);*/ for(i=0;tables[i].table!=0;i++) { if(strcmp(tables[i].table, row[0])==0) break; @@ -135,14 +139,20 @@ static int send_config_data(int nodeid, int dest_nodeid, zbx_uint64_t maxlogid, result2=DBselect("select %s from %s where %s=%s", fields, row[0], tables[i].recid,row[1]); // zabbix_log( LOG_LEVEL_WARNING,"select %s from %s where %s=%s",fields, row[0], tables[i].recid,row[1]); + row2=DBfetch(result2); if(row2) { - zbx_snprintf(tmp,sizeof(tmp),"%s|%s|%s", +// zbx_snprintf(tmp,sizeof(tmp),"%s|%s|%s", +// row[0], row[1], row[2]); + c = zbx_snprintf(p,ZBX_XML_MAX,"%s|%s|%s", row[0], row[1], row[2]); + p+=c; // zabbix_log( LOG_LEVEL_WARNING, "TMP [%s]",tmp); - zbx_strlcat(xml,tmp,ZBX_XML_MAX); +// zbx_strlcat(xml,tmp,ZBX_XML_MAX); +// c = zbx_snprintf(p,ZBX_XML_MAX,"%s", tmp); +// p+=c; /* for each field */ for(j=0;tables[i].fields[j].name!=0;j++) { @@ -157,22 +167,32 @@ static int send_config_data(int nodeid, int dest_nodeid, zbx_uint64_t maxlogid, // { // zabbix_log( LOG_LEVEL_WARNING, "snmpv3_securityname [%s]",row2[j]); // } - zbx_snprintf(tmp,sizeof(tmp),"|%s|%d|NULL", +// zbx_snprintf(tmp,sizeof(tmp),"|%s|%d|NULL", +// tables[i].fields[j].name,tables[i].fields[j].type); + c = zbx_snprintf(p,ZBX_XML_MAX,"|%s|%d|NULL", tables[i].fields[j].name,tables[i].fields[j].type); + p+=c; } else { - zbx_snprintf(tmp,sizeof(tmp),"|%s|%d|%s", +// zbx_snprintf(tmp,sizeof(tmp),"|%s|%d|%s", +// tables[i].fields[j].name,tables[i].fields[j].type,row2[j]); + c = zbx_snprintf(p,ZBX_XML_MAX,"|%s|%d|%s", tables[i].fields[j].name,tables[i].fields[j].type,row2[j]); + p+=c; // if(strcmp("snmpv3_securityname",tables[i].fields[j].name)==0) // { // zabbix_log( LOG_LEVEL_WARNING, "snmpv3_securityname 2[%s]",row2[j]); // } } // zabbix_log( LOG_LEVEL_WARNING, "TMP [%s]",tmp); - zbx_strlcat(xml,tmp,ZBX_XML_MAX); +// zbx_strlcat(xml,tmp,ZBX_XML_MAX); +// c = zbx_snprintf(p,ZBX_XML_MAX,"%s", tmp); +// p+=c; } - zbx_strlcat(xml,"\n",ZBX_XML_MAX); +// zbx_strlcat(xml,"\n",ZBX_XML_MAX); + c = zbx_snprintf(p,ZBX_XML_MAX,"\n"); + p+=c; } else { |