Nagios每7小时加载一次

我有一台NagiosXi服务器在63台主机上监视631个服务。 每7个小时,服务器上的负载就会上升到20个,然后逐渐回落到接近0。

没有cron作业每7小时运行一次。

该服务器有8个核心和2GB的RAM。 内存不是问题,在峰值期间它仍然保持在1GB的容量,把它提高到4GB没有什么区别。 服务器也在一周前被迁移到一个新的主机,没有任何改变。

我们也有17台主机正在监控停机时间,所以他们只在周一至周五的上午6点到下午6点进行监控,这似乎对负载峰值没有影响。

大多数检查都是在Windows服务器上使用check_wmi_plus完成的。

在负载峰值期间,我倾向于使用2-3%cpu看到5-8个check_wmi_plus.pl实例,以及一些使用相同的httpd进程,但没有什么比使用大量cpu更突出。 这些过程也会相当快速地进行,所以它们不会被挂起或者长时间不寻常。 NagiosXi性能监视器中的服务检查执行时间趋于峰值约5.5秒,平均值约为1秒。

任何人都可以提出一个可能的原因,或者我可以如何进一步解决这个问题?

高负载并不一定意味着您使用的是高级别的CPU,而只是提供了快照中的进程数量,以准备运行并接收CPU时间,而不是多less。

Nagios根据你如何设置监控进程迅速完成了很多进程,并且有时会导致一个尖峰,因为它启动了许多进程,尽可能快地运行,但是它们可能不需要太多的CPU或者立即进入睡眠/等待状态。

顺便说一句,如果你在Nagios中禁用NOTIFICATIONS,这不会阻止它继续监视给定的主机或服务。

将默认的/etc/httpd/conf/httpd.conf的rhel / centos默认值prefork设置降低到更真实的值。

使用像apachebuddy.pl&apachetuner.sh这样的工具来对每个进程fork的内存进行math运算。 为系统上的其他进程(mysql / postgresql / php)提供更多内存,并减lessMaxClient和MaxRequestChild。

从2012R2.9升级到2014R1.1后,我经历了这个。 不确定XI2014的最新版本是否需要更多资源用于networking前端。

今天上午降低了我的设置后,我注意到我的负载峰值较小,并通过界面导航不使用浏览器中的向前和向后button给我灰色的不愉快的脸屏幕。 界面中的这个怪异是不是很相似?

最后一项,我正在看,是这个默认httpd.conf文件中的rhel模块是必需的。 如果不需要加载默认模块,我觉得没有意义。 这台服务器是在我的业务地点的一个PROD企业服务器,有数千个检查,所以它需要坚实。

更新:

 \# service mysqld stop \# sh /usr/local/nagiosxi/scripts/repair_databases.sh \# service mysqld start 

或者在线时通过优化表格

 \# mysql -u root -p mysql> use nagios; 

列出你的表格

 mysql> show tables; 

然后

 mysql> optimize table $TABLENAME; mysql> optimize table $TABLENAME; mysql> optimize table $TABLENAME; ... mysql> use nagiosql; **list your tables** mysql> show tables; 

然后

 mysql> optimize table $TABLENAME; mysql> optimize table $TABLENAME; mysql> optimize table $TABLENAME; ... 

为所有表做这个。

如果你可以停止几分钟的服务,那么通过nagiosxi脚本来完成。 如果你不能在以后的时间…在网上做,但期望接口有点慢,直到查询重新运行。 刷新查询caching也许是有益的

 mysql> FLUSH QUERY CACHE; 

http://assets.nagios.com/downloads/nagiosxi/docs/Repairing_The_Nagios_XI_Database.pdf