首页 男生 其他 跟老男孩学Linux运维:Web集群实战

14.6.1 服务器端安装PNP生成图形监控曲线

  您可以在百度里搜索“跟老男孩学Linux运维:Web集群实战 艾草文学(www.321553.xyz)”查找最新章节!

  

  14.6.1 服务器端安装PNP生成图形监控曲线

  PNP是一款配合Nagios出图的软件,官方站点为:http://www.pnp4nagios.org。

  1.PNP出图基础依赖软件安装

  先通过下面的命令安装PNP软件需要的基础包,如果有部分是重复安装,再执行一下也不会有问题。

  [root@nagios-server ~]# yum install cairo pango zlib zlib-develfreetype freetype-devel gd gd-devel -y [root@nagios-server ~]# rpm-qa cairo pango zlib zlib-devel freetype freetype-devel gd gd-develzlib-devel-1.2.3-29.el6.x86_64freetype-devel-2.3.11-15.el6_6.1.x86_64 gd-2.0.35-11.el6.x86_64gd-devel-2.0.35-11.el6.x86_64 freetype-2.3.11-15.el6_6.1.x86_64zlib-1.2.3-29.el6.x86_64 pango-1.28.1-10.el6.x86_64cairo-1.8.8-6.el6_6.x86_64

  然后安装rrdtool依赖的libart_lgpl相关软件包,这个软件包要优先于rrdtool安装。

  [root@nagios-server ~]# yum install libart_lgpllibart_lgpl-devel -y [root@nagios-server ~]# rpm -qa libart_lgpllibart_lgpl-devel libart_lgpl-2.3.20-5.1.el6.x86_64libart_lgpl-devel-2.3.20-5.1.el6.x86_64

  PNP工具最终是通过rrdtool实现的画图,因此需要提前安装rrdtool。

  [root@nagios-server ~]# yum install rrdtool rrdtool-devel -y[root@nagios-server ~]# rpm -qa rrdtool rrdtool-develrrdtool-1.3.8-7.el6.x86_64 rrdtool-devel-1.3.8-7.el6.x86_64[root@nagios-server ~]# which rrdtool /usr/bin/rrdtool

  2.安装出图Web界面展示软件PNP

  此处选择0.4.14的PNP版本,如果选择高版本在出图方面可能会有坑,正常情况下,选0.4版已经足够了,因此,如果没有特殊需求,建议最好完全按照本书测试步骤,在弄清楚之后再变通版本。

  PNP软件无法yum安装,可通过编译的方式进行安装,编辑过程的命令集如下:

  wget -O pnp-0.4.14.tar.gz http://downloads.sourceforge.net/project/pnp4nagios/PNP/pnp-0.4.14/pnp-0.4.14.tar.gzuse_mirror=cdnetworks-kr-2&80495215yum install perl-Time-HiRes -y tar zxf pnp-0.4.14.tar.gz cdpnp-0.4.14 ./configure --with-rrdtool #<==配置出图的rrdtool--with-perfdata-dir=/usr/local/nagios/share/perfdata/#<==出图所用的数据路径 make all make install make install-config makeinstall-init ll /usr/local/nagios/libexec/ |grep process

  如果configure后出现如下警告信息,请忽略:

  ################# # WARNING: The RRDs Perl Modules are not foundon your System # Using RRDs will speedup things in largerInstalltions. #####################

  安装Nagios PNP时可能会有报错,如下:

  configure: error: Perl Module Time::HiRes not available

  解决方案为:

  yum install perl-Time-HiRes -y

  PNP提供了一个获取数据出图的Perl脚本,可以用如下命令查到:

  [root@nagios-server pnp-0.4.14]# ll /usr/local/nagios/libexec/|grep process -rwxr-xr-x 1 nagios nagios 31813 Jul 1 18:50process_perfdata.pl

  此时打开浏览器访问"http://10.0.0.7/nagios/pnp/",应该会出现如图14-22所示的图形界面,但是没有业务数据显示。

  图14-22 刚部署完无数据时PNP图形

  如果出现如图14-23所示的问题图形显示,先别着急,可能过一会重新访问上述地址就会恢复正常。

  图14-23 刚部署完PNP时可能出现的问题图

  如果过了很长时间重新访问上述地址还不正常,可以执行如下命令看看,或者继续后面的操作,然后在访问试试:

  yum install php-gd gd gd-devel -y

  提示:如果是按照本书步骤安装的Nagios,应该不会出现上面图14-23无法显示图形的问题了。上述问题已经在本文的开始部分提前处理掉了。

  3.Nagios出图相关配置

  1)执行编辑命令“vi/usr/local/nagios/etc/nagios.cfg+835”,修改nagios.cfg主配置文件第835行,将如下参数对应的值从0改为1,表示记录数据。

  process_performance_data=1 #<==默认值为0,改为1。

  然后继续向下从大概第848行开始,找到如下两项,取消参数开头的注释,修改后的最终结果如下:

  host_perfdata_command=process-host-perfdataservice_perfdata_command=process-service-perfdata

  2)执行编辑命令“vi/usr/local/nagios/etc/objects/commands.cfg+227”,修改commands.cfgNagios命令配置文件,定义出图获取数据的命令。

  要修改的是commands.cfg配置文件的第227~238行,默认的配置如下:

  [root@nagios-server pnp-0.4.14]# sed -n '227,238p'/usr/local/nagios/etc/objects/commands.cfg #'process-host-perfdata' command definition define command{command_name process-host-perfdata command_line /usr/bin/printf"%b""$LASTHOSTCHECK$$HOSTNAME$$HOSTSTATE$$HOSTATTEMPT$$HOSTSTATETYPE$$HOSTEXECUTIONTIME$$HOSTOUTPUT$$HOSTPERFDATA$">> /usr/local/nagios/var/host-perfdata.out } #'process-service-perfdata' command definition define command{command_name process-service-perfdata command_line /usr/bin/printf"%b""$LASTSERVICECHECK$$HOSTNAME$$SERVICEDESC$$SERVICESTATE$$SERVICEATTEMPT$$SERVICESTATETYPE$$SERVICEEXECUTIONTIME$$SERVICELATENCY$$SERVICEOUTPUT$$SERVICEPERFDATA$">> /usr/local/nagios/var/service-perfdata.out }

  现在删除上述的默认配置,然后将其改为如下的配置内容:

  # 'process-host-perfdata' command definition define command{command_name process-host-perfdata command_line/usr/local/nagios/libexec/process_perfdata.pl } #'process-service-perfdata' command definition define command{command_name process-service-perfdata command_line/usr/local/nagios/libexec/process_perfdata.pl }

  也可以用Nagios变量$USER1$替代/usr/local/nagios/libexec/路径。特别要说明的是,上面的和下面的配置是等价的。

  # 'process-host-perfdata' command definition define command{command_name process-host-perfdata command_line$USER1$/process_perfdata.pl } # 'process-service-perfdata' commanddefinition define command{ command_name process-service-perfdatacommand_line $USER1$/process_perfdata.pl }

  3)执行检查语法命令。

  [root@nagios-server objects]# /etc/init.d/nagios reload…… TotalWarnings: 0 Total Errors: 0……

  从提示来看,警告和错误数都为0个,表示配置通过。

  4)执行命令使Nagios配置文件生效。

  [root@nagios-server objects]# /etc/init.d/nagios reload Runningconfiguration check...done. Reloading nagiosconfiguration...done

  5)此时在浏览器输入“http://10.0.0.7/nagios/pnp/index.php”打开页面,正确的PNP界面如图14-24所示。

  图14-24 正确的PNP界面

  到这里为止,PNP软件的出图就OK了,但是还没有业务数据的图形趋势,因为还没有配置呢,接下去就来配置。 跟老男孩学Linux运维:Web集群实战

目录
设置
手机
书架
书页
评论