Page 1 of 1

[Nagios-devel] NDOUtil-1.4b5 not working, NDOUtil-1.4b2 is fine

Posted: Fri Sep 21, 2007 12:52 pm
by Guest

With Nagios 2.8 and NDOUtils-1.4b5 configured with either a unix socket
or TCP, I always get the following error when it attempts to log a new
event to the database:

Sep 20 22:05:42 server1 nagios: ndomod: Error writing to data sink!
Some output may get lost...

After about 15 seconds, I will then get the following (numbers change
obviously):

Sep 20 22:05:58 server1 nagios: ndomod: Successfully reconnected to data
sink! 0 items lost, 193 queued items to flush.
Sep 20 22:05:58 server1 nagios: ndomod: Successfully flushed 193 queued
items to data sink.
Sep 20 22:05:58 server1 ndo2db: Successfully connected to MySQL database

The event that it attempted to log does not get written to the database.
Usually after a few minutes the database will get updated with the
information. I thought at first that it was adding the change 15
seconds later, but it's usually a few minutes later even if more events
are triggered by Nagios.

BTW, I am checking the host status in the database with:

select current_state, output from nagios_servicestatus where
service_object_id IN
(select object_id from nagios_objects where name1 = 'testserver');

I switched back to 1.4b2 and everything works fine. When a host changes
state, the database is updated within seconds and there are no errors in
the log. I started with a fresh database for both versions.

I have confirmed that all of my 'Error writing to data sink!' errors are
coming from line 776 of ndomod.c in ndomod_write_to_sink(). From what I
can see it is never able to write the data to the socket after it's
received. It always has to put it in the buffer for later processing.

I attempted to troubleshoot it by adding some additional log entries
using ndomod_write_to_logs(), but most of the time I ended up with a
segfault in Nagios. For example, adding the following to the top of
ndomod_write_to_sink() will result in a segfault in both 1.4b2 and 1.4b5:

asprintf(&temp_buffer,"ndomod: Hello!");
ndomod_write_to_logs(temp_buffer,NSLOG_INFO_MESSAGE);
free(temp_buffer);
temp_buffer=NULL;

What am I missing?

I am runnnig Redhat EL 4 x86_64:
Linux server1 2.6.9-42.0.10.ELsmp #1 SMP Fri Feb 16 17:13:42 EST 2007
x86_64 x86_64 x86_64 GNU/Linux

A user on the nagios-users list is having the same problem on both 64
and 32 bit Linux running Nagios 2.9.

Alex






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