wdcsx 发表于 2019-1-15 06:28:34

使用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 -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/nagiosramdisktmpfsdefaults,size=50m0 0
  

  翻译来源(有修改和增减)
  http://assets.nagios.com/downloads/nagiosxi/docs/Utilizing_A_RAM_Disk_In_NagiosXI.pdf


页: [1]
查看完整版本: 使用ramdisk 优化nagios IO性能