[icinga-devel] Draft - making NDOutils/Idoutils obsolete

mareadmin mail at mare-system.de
Mon May 18 17:59:53 CEST 2009

Hi there

Michael Friedrich wrote:
> Hi there,
> Since going into deep using the libdbi as abstraction layer code has 
> been reworked by Hendrik.
> For sure, the code isn't that simple and it will grow even more if 
> non-standard queries are applied for each db IDOUtils should support.

i think, there should be no non-standard-queries at all to keep
compatibility with as much rdbms as possible ... if this
is possible, i don't know. 

> [...]
> The current implementation of the ido2db currently works with mysql, 
> some bugfixing and giving the user more information on errors (i.e. your 
> database is not yet supported, see [1]) is still in progress.
> The abstraction is so far completed, now it's the optimization and 
> support-more-dbs part.

as far as i have seen there's much within ido2db thats heavily
related to mysql (see thread [icinga-devel] [RFC] SQL Queries / 
first mail), so, maybe, trying to change / improve the alreaddy
mysqlifizied code is like riding that hirse, you know, the 
dead one ;-)

and making a new ido2db.o that works easy with any db
wouldn't break the compatibility, since its just a addon. 

but i'm not that c-hacker and if thous dind't had to be
in c i would code ido2db it in bash ;-)

there was an interesting article in german linux-magazin, explaining
how syslog-ng writes its logs into a db:

syslog-ng daemon writes to a socket (like idomod)
this socket is watched by a small shell_script, extracting
the values (complete insert_tatements in this case)
and executes a mysql_insert.
very clear and simple. 

>> until yet, i did not managed idomod to put data into data_sink ... 
> Did you start the ido2db process seperately _before_ starting Icinga?

yep. its working, creates a socket and everything is fine
ido2db.debug is empty, and idomod is not able to connect to

ls -l var/

drwxrwxr-x 2 icinga icinga  4096 2009-05-17 21:43 archives
-rw-r--r-- 1 icinga icinga     5 2009-05-18 16:27 icinga.lock
-rw-r--r-- 1 icinga icinga 23135 2009-05-18 17:44 icinga.log
-rw-r--r-- 1 icinga icinga     0 2009-05-18 16:19 ido2db.debug
srwxr-xr-x 1 icinga icinga     0 2009-05-18 17:55 ido.sock
-rw-r--r-- 1 icinga icinga 12957 2009-05-18 16:27 objects.cache
-rw------- 1 icinga icinga 13638 2009-05-18 17:27 retention.dat
drwxrwsr-x 2 icinga icinga  4096 2009-05-18 16:27 rw
drwxr-xr-x 3 icinga icinga  4096 2009-05-17 21:43 spool
-rw-rw-r-- 1 icinga icinga 14261 2009-05-18 17:55 status.dat

> What shows ps aux | grep icinga ?

icinga    7914  0.0  0.1   2280   800 pts/0    S<   16:19   0:00 bin/ido2db -c etc/ido2db.cfg
icinga    9882  0.1  0.3  11580  1572 ?        S<sl 16:27   0:06 /home/testo/icinga_devel/bin/icinga -d /home/testo/icinga_devel/etc/icinga.cfg
postgres 18360  0.0  0.5   8672  2668 pts/4    S<+  17:07   0:00 /usr/lib/postgresql/8.3/bin/psql icinga
postgres 18361  0.0  0.9  28656  5044 ?        Ss   17:07   0:00 postgres: postgres icinga [local] idle     

> Check the ido2db.cfg in /usr/local/icinga/etc/ - is the database 
> information correct, did you create a mysql-user and table, and imported 
> the db design from icinga-core/module/idoutils/db/mysql.sql ?
> Postgre does not yet work if that is your setting... the queries are 
> still the same bug as provided by the original ndoutils (where postgre 
> support is a little wtf). this should hopefully be fixed after the 
> initial release 0.8 of Icinga.

oik, i'll try the mysql-option; may it'll work then.

Markus Manzke

MARE System Kiel   .:.   http://www.mare-system.de

More information about the icinga-devel mailing list