nagios 是个企业级的监控方案,随着监控客户端的增加,nagios服务端会面临很大的压力,尤其是IO和CPU的使用率居高不下。
本文采用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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。