So, a few days ago I decided to give it a try to new icinga web interface. Before new icinga web interface I had classic cgi one. I installed it on FreeBSD 8.2 and used icinga version 1.4.0, icinga-web 1.4.0. I followed all the steps and installed Icinga with IDOUtils. I configure it and compile it. Then I checked in my Icinga database and there were no data in it. On fresh install localhost should be defined in your database. Tables were created, but no data in it. When installing icinga with IDOUtils in FreeBSD you must define where configuration script should look for ltdl.h library.
When I restarted Icinga and checked into icinga.log I saw this error:
Error: Module ‘/usr/local/icinga/bin/idomod.o’ is using an old or unspecified version of the event broker API. Module will be unloaded.
Event broker module ‘/usr/local/icinga/bin/idomod.o’ deinitialized successfully.
I was using flags –with-dbi-lib and –with-dbi-inc so libdbi should be ok:
./configure –with-command-group=icinga-cmd –enable-idoutils –with-dbi-lib=/usr/local/lib –with-dbi-inc=/usr/local/include
While configuring I noticed that ltdl.h libary wasn’t loaded.
checking ltdl.h usability… no
checking ltdl.h presence… no
checking for ltdl.h… no
I checked in config.log (icinga source) to see what’s going on while configuring:
grep ltdl config.log
and get this result:
configure:5798: checking ltdl.h usability
configure:5798: checking ltdl.h presence
configure:5798: checking for ltdl.h
configure:5801: checking for lt_dlinit in -lltdl
configure:5826: gcc -o conftest -g -O2 -I/usr/local/include conftest.c -lltdl >&5
/usr/bin/ld: cannot find -lltdl
script failed to find ltdl libary.
Idomod needs to be registered in order to alow the core dumping information onto ido2db. ltdl.h has to be defined when configuring install. So I tryed this:
./configure CFLAGS=”-I/usr/local/include -L/usr/local/lib” –with-command-group=icinga-cmd –enable-idoutils –with-dbi-lib=/usr/local/lib –with-dbi-inc=/usr/local/include –enable-event-broker
I added CFLAGS to tell where to look for ltdl.h. When I runed configure again I was getting this error:
WARNING: dbi/dbi.h: accepted by the compiler, rejected by the preprocessor!
WARNING: dbi/dbi.h: proceeding with the compiler’s result
I googled around and find this suggestion:
So once again, I tryed to run configure with this parameters:
./configure CFLAGS=”-I/usr/local/include -L/usr/local/lib” CPPFLAGS=”-I/usr/local/include” –with-command-group=icinga-cmd –enable-idoutils –with-dbi-lib=/usr/local/lib –with-dbi-inc=/usr/local/include –enable-event-broker –with-httpd-conf=/usr/local/etc/apache22/Includes
checking ltdl.h usability… yes
checking ltdl.h presence… yes
checking for ltdl.h… yes
 Icinga 1.3.1 starting… (PID=84783)
 Local time is Tue May 31 12:12:35 CEST 2011
 LOG VERSION: 2.0
 idomod: IDOMOD 1.3.1 (03-31-2011) Copyright (c) 2005-2008 Ethan Galstad (firstname.lastname@example.org), Copyright (c) 2009-2011 Icinga Development Team (http://www.icinga.org))
 idomod: Successfully connected to data sink. 0 queued items to flush.
 Event broker module ‘/usr/local/icinga/bin/idomod.o’ initialized successfully.
I checked in my database and localhost data were there. Then I trasfered my old configuration files to my icinga core (etc) and restarted it. All the data from my config files were transfered into Icinga database. Also be sure that ido2db is running! Every thing seems to be working great. Icinga is great tool for monitoring.
I know, my english is a little weird. :) I hope you’ll understand :)