nagios 对服务或主机监控的是一个瞬时状态,有时候管理员需要了解主机一段时间内的性能及服务的响应状态,并且形成图表,这时就会用到pnp。

    pnp是基于php和perl的,pnp可以利用rrdtool工具将nagios采集的数据绘制成相关的图表,然后显示主机或者服务在一段时间内的运行状况。

    如果要安装pnp,需要安装如下环境:

    1)整合后的apache和php环境,需支持GD、zlib、jpeg

    2)安装rrdtool工具

    3)安装perl

nagios的安装和监控windows、linux主机请看前几节,

nagios的搭建:http://fantefei.blog.51cto.com/2229719/932623

nagios监控windows主机:http://fantefei.blog.51cto.com/2229719/948994

nagios监控linux主机:http://fantefei.blog.51cto.com/2229719/963143

这里接着上面的配置环境配置

一.安装rrdtool:

  1.确保已经安装了http://fantefei.blog.51cto.com/2229719/964841第一条里所有的安装包,否则安装rrdtool会报错

 2.#tar -zxvf rrdtool-1.4.5.tar.gz

   #./configure --prefix=/usr/local/rrdtool

  #make

  #make install

如果报错请看http://fantefei.blog.51cto.com/2229719/964841

二、安装pnp:

1.#tar -zxvf pnp-0.4.13.tar.gz

  #./configure --with-nagios-user=nagios  --with-nagios-group=nagios --with-rrdtool==/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata

 #make all

 #make install

 #make install-config

 #make install-init

2.配置PNP:

 创建默认的配置文件:

#cd /usr/local/nagios/etc/pnp

#cp npcd.cfg-sample npcd.cfg

#cp process_perfdata.cfg-sample process_perfdata.cfg

#cp rra.cfg-sample rra.cfg

#chown -R nagios.nagios /usr/local/nagios/etc/pnp

修改process_perfdata.cfg文件

#vim /usr/local/nagios/etc/pnp/ process_perfdata.cfg

      LOG_LEVEL = 2

这里将日志级别改为2,即debug模式

三、配置nagios.cfg文件:

#vim /usr/local/nagios/etc/nagios.cfg

pnp是通过调用nagios的数据来生成图表的,所以需要开启nagios的数据输出功能

 

在下面两行的注释去掉,也就是把他们前的#号去掉:

 

四、修改command.cfg的内容

process-host-perfdata和process-service-perfdata指令声明了nagios输出哪些值到输出文件,pnp定义了一个perl脚本process_perfdata.pl,可以将指令中对应的执行命令替换成此脚本

      # '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
        }
 

注:command.cfg文件的默认设置对process-host-perfdata 和 process-service-perfdata有定义,如果直接添加而不删除默认定义会发生冲突,会导致在检测配置文件时报错,所以要先找到默认的删除掉然后在添加

五、在templates.cfg的模版文件里添加:

#vim /usr/local/nagios/etc/objects/templates.cfg

添加:

define host {
        name    hosts-pnp
        register        0
        action_url      /nagios/pnp/index.php?host=$HOSTNAME$
        process_perf_data       1
       }

define service {
        name    services-pnp
        register        0
        action_url      /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
        process_perf_data       1
       }

六、在每个监控机添加hosts-pnp 在每个监控服务里添加services-pnp

首先更改windows.cfg里的内容

服务里添加services-pnp,因为服务太多而且每个都要添加所以就贴出一个例子,其他的类同:

 

修改mylinux.cfg的内容

 

七、检查配置文件并重新启动nagios

#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

 

#service nagios restart

八、访问nagios的web主页:

 

 点击小太阳会看到:

注:第一次启动要大约5分钟后才能看到图谱。

OK!