使用ramdisk 优化nagios IO性能
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-ttmpfsnone/var/nagiosramdisk-osize=50mmkdir-p-m775/var/nagiosramdisk/tmpmkdir-p-m755/var/nagiosramdisk/spoolmkdir-p-m755/var/nagiosramdisk/spool/checkresultschown-Rnagios.nagios/var/nagiosramdisk
编辑主配置文件nagios.cfg,修改如下值
object_cache_file=/var/nagiosramdisk/objects.cachestatus_file=/var/nagiosramdisk/status.dattemp_path=/var/nagiosramdisk/tmpcheck_result_path=/var/nagiosramdisk/spool/checkresultshost_perfdata_file=/var/nagiosramdisk/host-perfdataservice_perfdata_file=/var/nagiosramdisk/service-perfdata
修改/etc/nagios/objects/commands.cfg
#'process-host-perfdata'commanddefinition"$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n">>/var/nagiosramdisk/host-perfdata.out#'process-service-perfdata'commanddefinition"$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生效
servicenagiosrestart
开机挂在tmpfs,编辑/etc/fstab
tmpfs /var/nagiosramdisk tmpfs defaults,size=50m 00
翻译来源(有修改和增减)
http://assets.nagios.com/downloads/nagiosxi/docs/Utilizing_A_RAM_Disk_In_NagiosXI.pdf
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。