nagios 是个企业级的监控方案,随着监控客户端的增加,nagios服务端会面临很大的压力,尤其是IO和CPU的使用率居高不下。
创新互联公司主营源汇网站建设的网络公司,主营网站建设方案,app软件定制开发,源汇h5小程序开发搭建,源汇网站营销推广欢迎源汇等地区企业咨询
本文采用rpm安装nagios,通过分析,我们发现nagios的读写无非是下面几个文件:
- 1、/etc/nagios/nagios.cfg
nagios主配置文件,通过监控发现,nagios启动后会反复读取该文件
- 2、/var/log/nagios/status.dat
这个文件随着status_update_interval 的值进行定期更新
- 3、/tmp/host-perfdata
主机的可用性统计,每次检查后都要更新
- 4、/tmp/service-perfdata
服务的可用性统计,每次检查后都要更新
- 5、/var/log/nagios/objects.cache
这个文件存储nagios的配置,每次重启或重载配置才会被更新
- 6、/var/log/nagios/nagios.log
nagios日志,不多说
- 7、/var/log/nagios/spool/checkresults
每次所有的检查结果都在这里汇总
解决方案
将次要且读写频繁的文件放进内存,也就是说,排除主配置文件和日志,其他都放进内存
- mount -t tmpfs none /var/nagiosramdisk -o size=50m
- mkdir -p -m 775 /var/nagiosramdisk/tmp
- mkdir -p -m 755 /var/nagiosramdisk/spool
- mkdir -p -m 755 /var/nagiosramdisk/spool/checkresults
- chown -R nagios.nagios /var/nagiosramdisk
编辑主配置文件nagios.cfg,修改如下值
- object_cache_file=/var/nagiosramdisk/objects.cache
- status_file=/var/nagiosramdisk/status.dat
- temp_path=/var/nagiosramdisk/tmp
- check_result_path=/var/nagiosramdisk/spool/checkresults
- host_perfdata_file=/var/nagiosramdisk/host-perfdata
- service_perfdata_file=/var/nagiosramdisk/service-perfdata
修改/etc/nagios/objects/commands.cfg
- # 'process-host-perfdata' command definition
- "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /var/nagiosramdisk/host-perfdata.out
- # 'process-service-perfdata' command definition
- "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /var/nagiosramdisk/service-perfdata.out
另外,注意修改/usr/share/nagios/html/config.inc.php
重启nagios生效
- service nagios restart
开机挂在tmpfs,编辑/etc/fstab
- tmpfs /var/nagiosramdisk tmpfs defaults,size=50m 0 0
翻译来源(有修改和增减)
http://assets.nagios.com/downloads/nagiosxi/docs/Utilizing_A_RAM_Disk_In_NagiosXI.pdf