Long time for Nagios to start

This support forum board is for support questions relating to Nagios XI, our flagship commercial network monitoring solution.
Post Reply
Nagiusz
Posts: 21
Joined: Tue Feb 12, 2019 8:23 am

Long time for Nagios to start

Post by Nagiusz »

Hi,

in our company we have a Nagios instance serving c.a. 20k hosts and 80k services. Thanks to mod-gearman distributed load and many other large-scale tweaks (ramdisk, db optimizations etc.) it runs quite smoothly (on a machine with 32 CPU cores and 64G of RAM).

However, one thing is creepy... Whenever we start/restart Nagios instance (e.g. when applying the configuration), it takes about 4-5 minutes for Nagios to load our views. Watching database logs meanwhile, I have observed thousands of SQL update queries in that time. Seems that Nagios rebuilds the entire database with "INSERT INTO nagios_servicestatus..." queries for every single service, and that takes so much time. I know that it is rather I/O consuming process, but maybe there is any possibility to get it a bit faster, especially that in fact we have already quite fast disks under laying our virtual machines. Or maybe there is some "tweak" to skip all this database rewriting each time Nagios process is restarted? Seems that this downtime during applying configuration is the main downside of Nagios at all.

Hope for any ideas :-)
User avatar
lgute
Posts: 411
Joined: Mon Apr 06, 2020 2:49 pm

Re: Long time for Nagios to start

Post by lgute »

Hi @Nagiusz,

Thanks for reaching out.

What version of Nagios XI are you running?
Please let us know if you have any other questions or concerns.

-Laura
Nagiusz
Posts: 21
Joined: Tue Feb 12, 2019 8:23 am

Re: Long time for Nagios to start

Post by Nagiusz »

We use Nagios XI, we always update to the last version available, 2024R1.4.1 at the moment.
Nagiusz
Posts: 21
Joined: Tue Feb 12, 2019 8:23 am

Re: Long time for Nagios to start

Post by Nagiusz »

I mean, it seems Nagios sends status data on a reload to the database via NDO. In my mind it is not needed, because the database already knows what the status is before the service restart/reload. Is there any possibility to skip that?
Post Reply