一. Nagios性能分析图表的作用
Nagios对服务或主机监控的是一个瞬时状态,有时候系统管理员需要了解主机在一段时间内的性能及服务的相应状态,并且形成图表,这就需要通过通过查看日志数据来分析。但是这种方式不但繁琐,而且抽象。不过幸运的是,PNP可以帮助我们来完成这个工作。
二. PNP的概念与安装环境
PNP是一个小巧的开源软件包,它是基于PHP和Perl的。PHP可以利用rrdtool工具将Nagios采集的数据绘制成相关的图表,然后显示主机或者服务在一段时间内的运行状况。
如果要安装PNP,首先需要安装如下环境:
@ 整合后的Apache和PHP环境,需支持GD\zlib\jpeg。
@ 安装RRDtool工具
@ 安装Perl
三. 安装PNP
RRDtool 是一个图表生成工具,可以从http://www.mrtg.org/rrdtool/获得信息。这里下载的版本是rrdtool-1.3.5.tar.gz。安装过程如下:
安装RRDtool
安装PNP
安装完成。PNP默认文件的放置情况如下:
四. 配置PNP
1. 创建默认配置文件
在PNP安装完成后,默认安装目录下自带了模板配置文件,因此,只需将模板文件复制一份作为PNP配置文件即可。操作如下:
2. 修改process_perfdata.cfg文件,修改相关内容入。操作如下:
这里将日志级别改为2,即debug模式。
五. 修改Nagios配置文件
1. 增加小太阳图标
修改templates.cfg,增加一个定义PNP的host和service。修改后的内容如下:
2. 修改nagios.cfg
Nagios监控系统提供的数据接口可供第三方插件使用,而PNP刚好就是调用Nagios的数据来生成图表的。在前面介绍templates.cfg文件时提到“process_perf_data”选项,这个选项就是用来定义是否开启Nagios的数据输出功能的,这个选项的值可以是0或1,设置为1表示开启Nagios的数据输出功能。因此,如果想让Nagios将数据输出,首先要修改Nagios的主配置文件nagios.cfg,找到如下几项,去掉注释。修改后的信息如下:
其中,process-host -perfdata和process-service-perfdata指令是新启用的,这两个指令默认已经在command.cfg文件中进行定义了。
3. 修改commands.cfg
process-host-perfdata和process-service0perfdata指令声明了Nagios输出哪些值到输出文件中。不过这些定义相对简单,而PNP提供了一个Perl脚本,非常详细的定义了一个输出数据的方法,process_perdata.pl就是PNP自带的一个脚本,这个脚本在PNP安装完成后会自动生成。因此,可以将process-host-perfdata和process-service-perfdata指令中对应的执行命令的内容替换成此脚本。修改后内容如下:
【注:注意要删除或注释掉command.cfg文件中默认定义的process-host-perfdata与process-service-perfdata项】
4. 修改hosts.cfg文件和services.cfg文件
将hosts-pnp和services-pnp引用到hosts.cfg和services.cfg中
修改后的hosts.cfg内容如下:
修改后的services.cfg内容如下:
六. 测试PNP功能
完成所有配置之后,重新检测Nagios配置文件是否正确,然后重启Nagios。
如果配置正确,会生成相应主机的PNP文件。
最后打开网页http://IP/nagios,选择主机选项,然后单击主机旁边的小太阳图表,可以看到主机监控状态图表。或者访问http://IP/nagios/pnp也可以直接访问图表信息。
如下~ 则成功完事
【注:在访问图表时你也许会出现很多的报错,不用担心,有时间你可以自己捣鼓捣鼓,着急的话就根据报错提示问度娘对应的FAQ吧。解决方案非常多】
借鉴自高俊峰老师一书
——《高性能Linux服务器构建实战》
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。