summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-11-24 16:25:36 +0000
committeralex <alex@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2006-11-24 16:25:36 +0000
commit1964ae1cb717b09523b924d351627d1601ab968f (patch)
tree3aaae47c2ab0f5598b4022e434da4e1cb0ceeb31
parent48032fa138c7561591cad2180c074aed40592a36 (diff)
downloadzabbix-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.sql2
-rw-r--r--create/data/nodes_slave.sql2
-rw-r--r--create/schema/schema_new.sql2
-rw-r--r--src/zabbix_server/evalfunc.c2
-rw-r--r--src/zabbix_server/events.c7
-rw-r--r--src/zabbix_server/nodewatcher/nodesender.c48
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
{