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

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] NDOUtil-1.4b5 not working, NDOUtil-1.4b2 is fine

Post 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]
Locked