NDOutils and Nagios startup speed
Mathieu Gagné
mgagne at iweb.com
Tue Jan 27 01:48:33 CET 2009
Hi,
Marc Powell wrote:
> On Jan 26, 2009, at 4:46 PM, Mathieu Gagné wrote:
>
>> Unfortunately, we can't afford this kind of downtime while
>> Nagios/NDOutils is busy exporting to MySQL. Also, host/service status
>> are not available while the reload is occuring.
>
> While I can't really speak to the more general problem (I experience
> it too), I did find the 'Retain status file over a reload' patch at http://altinity.blogs.com/dotorg/2007/09/nagios-patch-da.html
> to be extremely helpful for this particular symptom. Reloads are
> completely transparent to GUI users now.
I never had this issue when sending the external command
"RESTART_PROGRAM" to Nagios. Host/service status are still available to me.
My understanding is that "RESTART_PROGRAM" is the equivalent of issuing
a "reload" or sending a HUP signal. Unfortunately, during that time,
checks are still not performed as Nagios is busy broking events to
NDOutils and to MySQL in a synchronous way.
I found this patch on the same page:
Do not resend retained status to NDO
http://svn.opsview.org/opsview/tags/nagios-patch-day/opsview-base/patches/nagios_stop_logging_retained_states_to_ndo.patch
The following questions come to my mind:
- What could be the consequences of using such patch?
- When will old entries from the table "nagios_hoststatus" be deleted?
(same for "nagios_servicestatus")
- What does aggregated_dump mean? (the patch changes it from FALSE to TRUE)
-> int update_host_status(host *hst,int aggregated_dump){
-> int update_service_status(service *svc,int aggregated_dump){
- The comment tells: "a check cycle needs to complete before NDO has all
the status information". What does it mean? To which "check cycle" does
it refer to?
- Does it have any link to "aggregate_status_updates" and
"status_update_interval"? Does it mean status will be dump later and not
at startup? "status_update_interval" seconds after startup?
>> Is there a way to speed things up? Any help would be appreciated.
>> Thanks.
>
> I'm interested in tips as well.
I had to create several SQL indexes. At startup, the broker deletes old
entries and limits the deletion by "start_time" and/or "scheduled_time".
Unfortunately, there is no indexes on tables with such columns, putting
MySQL on its knees as soon as Nagios restarts.
Disclaimer: I'm not a DBA and can't guaranty the efficiency of each of
them. I might have also missed some.
ALTER TABLE `nagios_servicechecks` ADD INDEX `start_time` (
`instance_id` , `start_time` ) ;
ALTER TABLE `nagios_timedevents` ADD INDEX `scheduled_time` (
`instance_id` , `scheduled_time` );
ALTER TABLE `nagios_systemcommands` ADD INDEX `start_time` (
`instance_id` , `start_time` );
ALTER TABLE `nagios_hostchecks` ADD INDEX `start_time` ( `instance_id` ,
`start_time` );
ALTER TABLE `nagios_eventhandlers` ADD INDEX `start_time` (
`instance_id` , `start_time` );
ALTER TABLE `nagios_instances` ADD INDEX `instance_name` (
`instance_name`,`instance_id` ) ;
ALTER TABLE `nagios_hosts` ADD INDEX host_object_id (host_object_id);
--
Mathieu
------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue.
::: Messages without supporting info will risk being sent to /dev/null
More information about the Users
mailing list