[Nagios-devel] AW: New event broker module for DB storage...

Support forum for Nagios Core, Nagios Plugins, NCPA, NRPE, NSCA, NDOUtils and more. Engage with the community of users including those using the open source solutions.
Locked
Guest

[Nagios-devel] AW: New event broker module for DB storage...

Post by Guest »

Hi Ethan,

i installed the new module and found the following problem.
It should only occur if you use a mysql5.x version.
The table ndo_conninfo contains a column called "connection" which is a
reserved word in mysql5.x, causing the insert statement in db.c/line 296 to
fail.
I made a small patch which replaces "connection" with "connect_sink" at two
places to make it run for me. Maybe it would be more clean, if also the
connection member of the ndo2db_idi structure would be renamed. Maybe even
the NDO_API_CONNECTION. But i didn't want to mess around in your code.

Greetings from munich,
Gerhard

diff -Naur ndoutils-12272005/db/ndo-mysql.sql
ndoutils-12272005-mysql5/db/ndo-mysql.sql
--- ndoutils-12272005/db/ndo-mysql.sql 2005-12-27 20:17:19.000000000 +0100
+++ ndoutils-12272005-mysql5/db/ndo-mysql.sql 2006-01-09
18:16:05.990545150 +0100
@@ -145,7 +145,7 @@
`agent_name` varchar(32) NOT NULL default '',
`agent_version` varchar(8) NOT NULL default '',
`disposition` varchar(16) NOT NULL default '',
- `connection` varchar(16) NOT NULL default '',
+ `connect_sink` varchar(16) NOT NULL default '',
`connect_type` varchar(16) NOT NULL default '',
`connect_time` datetime NOT NULL default '0000-00-00 00:00:00',
`disconnect_time` datetime NOT NULL default '0000-00-00 00:00:00',
diff -Naur ndoutils-12272005/src/db.c ndoutils-12272005-mysql5/src/db.c
--- ndoutils-12272005/src/db.c 2005-12-27 20:17:19.000000000 +0100
+++ ndoutils-12272005-mysql5/src/db.c 2006-01-09 18:18:02.028791972 +0100
@@ -293,7 +293,7 @@
ts=ndo2db_db_timet_to_sql(idi,idi->data_start_time);

/* record initial connection information */
- if(asprintf(&buf,"INSERT INTO %s SET instance_id='%lu',
connect_time=NOW(), last_checkin_time=NOW(), bytes_processed='0',
lines_processed='0', entries_processed='0', agent_name='%s',
agent_version='%s', disposition='%s', connection='%s', connect_type='%s',
data_start_time=%s"
+ if(asprintf(&buf,"INSERT INTO %s SET instance_id='%lu',
connect_time=NOW(), last_checkin_time=NOW(), bytes_processed='0',
lines_processed='0', entries_processed='0', agent_name='%s',
agent_version='%s', disposition='%s', connect_sink='%s', connect_type='%s',
data_start_time=%s"
,ndo2db_db_tablenames[NDO2DB_DBTABLE_CONNINFO]
,idi->instance_id
,idi->agent_name


Also available at
http://people.consol.de/~lausser/nagios ... sql5.patch
Apply it with:
tar zxvf ndoutils-12272005.tar.gz
patch -d ndoutils-12272005 -p1 < ndoutils-12272005-mysql5.patch






This post was automatically imported from historical nagios-devel mailing list archives
Original poster: [email protected]
Locked