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

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


Hi There

Martin Fuerstenau wrote:
> [ very interesting ]

> a) actual status data
> a) We have according to my informations (and I am not a really good C
> programmer) one module for writing status data (statusdata.c). If we
> patch this 575 line module to write to a database we have all the
> information needed for alternative web interfaces.
> 

i took a look deeper and found in base/logging.c

functions like 

/* write a service problem/recovery to the icinga log file */

int log_service_event(service *svc){
	...

	/* grab service macros */
	...

	asprintf(&temp_buffer,"SERVICE ALERT: %s;%s;$SERVICESTATE$;$SERVICESTATETYPE$;$SERVICEATTEMPT$;%s\n",svc->host_name,svc->description,(svc->plugin_output==NULL)?"":svc->plugin_output);
	process_macros(temp_buffer,&processed_buffer,0);

	write_to_all_logs(processed_buffer,log_options);

	...
	
	return OK;

}

maybe one could call ido2db from there, since all vars are collected 
already and just need to be injected into *db via an external module/command


> b) historical data
> b) This could be done patching the log writer mechanism using some code
> from the ndoutils
> 

for me with a minor priority, but it's nice to have


> c) configuration data
> c) Nearly same as a.

i think this is a bigger problem; yo have initial-config-data, read by startup,
and then you have all those stuff coming through the webinterface / 
external-command-file; i fear, thats a lot more than patching the source as 
to be done in a)



> 
> What do you think about that little idea? Think about it. My idea
> regarding to the major change in timeperiods was not so bad. Perhaps
> this is too. :-))
> 

if c) could be done easily i think it's worth a try, especially if
you have a global option in incinga.conf





Markus Manzke


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






More information about the icinga-devel mailing list