Search Exchange

Search All Sites

Nagios Live Webinars

Let our experts show you how Nagios can help your organization.

Contact Us

Phone: 1-888-NAGIOS-1


Remember Me

Directory Tree

NDOUtils Featured

26 votes
Current Version
Last Release Date
Compatible With
  • Nagios 2.x
  • Nagios 3.x
  • Nagios 4.x
  • Nagios XI
Network Monitoring Software - Download Nagios XI
Log Management Software - Nagios Log Server - Download
Netflow Analysis Software - Nagios Network Analyzer - Download
NDOUtils allows you to export current and historical data from one or more Nagios instances to a MySQL database. Several community addons use this as one of their data sources. NDOUtils consists of a standalone daemon, a Nagios event broker, and several helper utilities.
Reviews (16)
byalf, June 1, 2017
Hi, I would like to recommend the following kw article on NDOUils:
Hope it helps!
On FreeBSD 10.0-RELEASE-p1 you can compile NDOUtils 2.0:

# tar -zxvf ndoutils-2.0.0.tar.gz
# cd ndoutils-2.0.0/

# vi include/config.h

# ./configure CFLAGS=-fPIC

# make

# make install
/usr/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/bin
/usr/bin/install -c -m 755 -o nagios -g nagios ndo2db-4x /usr/local/nagios/bin/ndo2db
/usr/bin/install -c -m 755 -o nagios -g nagios ndomod-4x.o /usr/local/nagios/bin/ndomod.o
/usr/bin/install -c -m 774 -o nagios -g nagios file2sock /usr/local/nagios/bin
/usr/bin/install -c -m 774 -o nagios -g nagios log2ndo /usr/local/nagios/bin
/usr/bin/install -c -m 774 -o nagios -g nagios sockdebug /usr/local/nagios/bin

Hint: NDOUtils Installation against Nagios v4.x

If you want to install NDOUtils for Nagios v3.x
please type 'make install-3x

If you want to install NDOUtils for Nagios v2.x
please type 'make install-2x

Next step should be the database initialization/upgrade
cd into the db/ directory and either:
./installdb (for a new installation) or:
./upgradedb (for an existing one)
byu14183, January 19, 2014
0 of 1 people found this review helpful
Upgrade from ndoutils-1.4b9 to
used 2831a5babb149dc43b4e21e91b960cb456ffd6fb
ndoutils-2.0 branch
./upgradedb was used.
produced following errors:
ndo2db: mysql_error: 'Unknown column 'importance' in 'field list''
After using mysql-upgrade-2.0.0.sql it works fine.
byjgriffithpics, March 20, 2013
0 of 1 people found this review helpful
I am using 1.5 with Nagios + Centreon. I am seeing dead lock issues and have 2 remote pollers. Are there any tweaks that I could / should make in the configuration files to address the deadlock issues I am seeing?
bysc250024, December 18, 2012
5 of 5 people found this review helpful
I'm using the combination of Nagios, NDOUtils, and Centreon for my monitoring solution. NDOUtils comes with SSL support via the --enable-ssl option at compilation, and defining "use_ssl=1" in ndomod.cfg and ndo2db.cfg.

However, Centreon DOES NOT have an option in the front-end to explicitly define this variable "use_ssl=1".

My question to the owner is: in the ndomod.cfg and ndo2db.cfg files, if I don't specify "use_ssl" at all, which is the default? Is SSL enabled by default, or not?
byPiet, December 10, 2012
2 of 2 people found this review helpful

MySQL library could not be located... during configure.

apt-get install maysql-client-dev libmysqlclient16

edit /etc/ with /usr/lib


Now ./configure will find the mysql librairies.
byhawkmeister01, October 16, 2012
4 of 6 people found this review helpful

When importing ONLY historical logfiles via Log2NDO, the data is only table being populated in the mysql database is nagios_logentries.

Does there need to be further processing? No error messages in the syslogs and the import, though slow, certainly is able to connect to the database. The documenation doesn't cover this problem.

Nagios: 3.2
NDOUtils: 1.49b

many thanks
Owner's reply

Make sure you have:

set in your ndomod.cfg file. For further followup post to the Nagios Core forum:

byjaanca, May 23, 2012
8 of 13 people found this review helpful

This addon consume 100% de cpu and disk i/o...
in this page explain how fix the problem...

only i need create index for tables, this:

CREATE INDEX start_time_idx ON nagios_hostchecks (start_time);
CREATE INDEX start_time_idx ON nagios_servicechecks (start_time);
CREATE INDEX scheduled_time_idx ON nagios_timedeventqueue (scheduled_time);
bysempi, April 10, 2012
9 of 13 people found this review helpful
Is there any way to select the event log entries from the DB.
I found the _logentries table, but it stores all necessary data in one field 'logentry_data'. It would be nice if this data goes to separate fileds in the database by the ; field separator.

Any ideas?

Thank you
byjgk999, March 27, 2012
6 of 8 people found this review helpful
(1) There was an earlier patch to NDOUTILs called NDO_LIGHT that suppressed sending a number of different API records from ndomod to ndo2db via the TCP connection. The patch was conditional on the symbol NDO_LIGHT. All of this appears to have been removed? Was this intentional? Can the patch still be applied to the 1.5 version? Should this be done?

(2) One of the changes to ndo2db has been to move the parsing of NDO API data into a new child process and to implement an IPC message queue between this new child process and it's parent ndo2db instance. The message queue buffer size is fixed at 1K by a define in queue.h
#define NDO_MAX_MSG_SIZE 1024
while the chunk size for the ndo_dbuf in ndo2db.c is set at 2K when ndo_dbuf_init() is invoked. What happens on this invocation
in ndo2db_check_for_client_input() [ndo2db.c] if the dbuf->buf contains more than 1K? Does this never happen? Has anyone verified this code actually works?
byalonerhu, March 4, 2012
2 of 5 people found this review helpful
mysql> SHOW VARIABLES LIKE 'character%';
| Variable_name | Value |
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |

mysql> SHOW VARIABLES LIKE 'collation_%'; +----------------------+-----------------+
| Variable_name | Value |
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |

mysql> select * from test;
| a |
| ?? |

now?all are right, but the data in table from ido2db are unreadble?

| 304 | 1 | 3 | cqtel-cpmis | NULL | 1 |
| 305 | 1 | 3 | 信�技术公�软件部 | NULL | 1 |
| 306 | 1 | 3 | �业部档案管� | NULL | 1 |
| 307 | 1 | 4 | 温度监控 | NULL | 1 |
| 308 | 1 | 1 | ITè¿?ç»´kvm1 | NULL | 0 |
| 309 | 1 | 1 | ITè¿?ç»´kvm2 | NULL | 0 |
| 310 | 1 | 1 | NFS存储 | NULL | 0 |
bymrcoffee, February 13, 2012
6 of 8 people found this review helpful
Using NDOutils to send Nagios results to Centreon. No results anymore in Centreon, no hosts and no services. Reverted back to 1.4b9 and everything is OK again.

Looks like the new ndoutils 1.5 no longer writes to db tables nagios_hosts and nagios_services.

Is this a bug?
byalvmangi, February 8, 2012
5 of 6 people found this review helpful
Hi, I am having troubles to compile NDOutils 1.5 on OpenBSD 5.0.

I fixed manually the mysql error messages adding the absolute path on include/config.h. Now I am having other error message (not MySQL related) on compilation. Please see the details here:

bytshung, February 6, 2012
5 of 6 people found this review helpful
what is differrent between 1.5 & 1.4 version? I can't file changelog or document for this version. How can i upgrade from current version (1.4) to new version ?
byaballeras, December 25, 2011
3 of 7 people found this review helpful
to fix this problem, download the libmysqlclient using:

apt-get install libmysqlclient15-dev

worked for me.
bysebastiaopburnay, January 11, 2011
4 of 7 people found this review helpful

I have a nagios instance on a virtualized SME Server 7.5.1

I'm very much interested in evolving my nagios server into one with an NDOUtils Mysql DB.

So I googled and came across this guide for doing it on CentOS: [link][/link]

I successfully installed mysql-devel and mysql-server packages.

Problem came when I ran the ./configure on the NDOUtils, which retrieved:
*** MySQL library could not be located... **************************

You chose to compile NDOutils with MySQL support, but I was unable to
locate the MySQL library on your system. If the library is
installed, use the --with-mysql-lib argument to specify the
location of the MySQL library.
installed, use the --with-mysql=DIR argument to specify the
location of the MySQL library, We assume mysql_config is in DIR/dir
NOTE: After you install the necessary libraries on your system:
1. Make sure /etc/ has an entry for the directory in
which the MySQL libraries are installed.
2. Run 'ldconfig' to update the run-time linker options.
3. Run 'make devclean' in the NDBXT distribution to clean out
any old references to your previous compile.
4. Rerun the configure script.

TIP: Try the following....
./configure --with-mysql=/usr/lib/mysql


So, I followed the advice and ran
./configure --with-mysql=/usr/lib/mysql.

The same message came on screen indicating «MySQL library could not be located».

Any sugestions?

Thank you.