cheng029 发表于 2012-8-23 09:51:44

PNP 实现nagios图形分析

nagios性能分析图表
(1)nagios性能分析图表的作用
   Nagios对服务或主机监控的是一个瞬时状态,有时候系统管理员如果需要了解主机在一段时间内的性能以及服务的响应状态,并且形成图表时,就需要通过查看日志数据来分析,但是这种方式不但繁琐,而且抽象,不过幸运的是,PNP可以帮助我们来完成这个工作。

(2) PNP的概念与安装环境
   PNP是一个小巧的开源软件包,它基于PHP和PERL,PNP可以利用rrdtool工具将Nagios采集的数据绘制成相关的图表,然后显示主机或者服务在一段时间内的运行状况。
PNP官方网站为:http://www.pnp4nagios.org
如果要安装PNP,首先需要安装如下环境:
1:整合后的apache和PHP环境,需支持GD\zlib\jpeg
2:安装rrdtool工具
3:安装perl

(3)安装PNP

RRDtool是一个图表生成工具,可以从http://www.mrtg.org/rrdtool/获得信息。

这里下载的版本是rrdtool-1.4.5.tar.gz,安装过程如下:

# tar zxvf rrdtool-1.4.5.tar.gz   
# cd rrdtool-1.4.5
# ./configure --prefix=/usr/local/rrdtool
# make
# make install

接着安装PNP,这里下载的版本是pnp-0.4.13.tar.gz,安装过程如下:
#tar -xvzf pnp-0.4.13.tar.gz
#cd pnp-0.4.13
#./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

安装完成,PNP默认文件放置情况如下:
General Options:
-----------------------------       -------------------
Nagios user/group:                nagios nagios
Install directory:                /usr/local/nagios
HTML Dir:                         /usr/local/nagios/share/pnp
Config Dir:                     /usr/local/nagios/etc/pnp
Path to rrdtool:                  /usr/local/bin/rrdtool (Version 1.4.5)
RRDs Perl Modules:                *** NOT FOUND ***
RRD Files stored in:            /usr/local/nagios/share/perfdata
process_perfdata.pl Logfile:      /usr/local/nagios/var/perfdata.log
Perfdata files (NPCD) stored in:/usr/local/nagios/var/spool/perfdata/
-------------------------------------------------------------------------

(4)设置PNP
① 创建默认配置文件
cd/usr/local/nagios/etc/pnp/
cp process_perfdata.cfg-sample process_perfdata.cfg
cp npcd.cfg-sample npcd.cfg
cp rra.cfg-sample rra.cfg
chown -R nagios:nagios *
② 修改process_perfdata.cfg文件
vi /usr/local/nagios/etc/pnp/process_perfdata.cfg
LOG_FILE = /usr/local/nagios/var/perfdata.log
# Loglevel 0=silent 1=normal 2=debug
LOG_LEVEL = 2
这里将日志级别改为2,即为debug模式。

(5)修改nagios配置文件
①增加小太阳标示
修改templates.cfg,增加一个定义PNP的hosts和services
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

}
②修改nagios.cfg
找到如下几项,去掉注释,修改后信息如下:
process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata

③修改commands.cfg

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


④修改hosts.cfg文件和services.cfg文件

define host{
      use                     linux-server,hosts-pnp
      host_name               web
      alias                   ixdba-web
      address               192.168.12.251
      }

define host{
      use                     linux-server,hosts-pnp
      host_name               mysql
      alias                   ixdba-mysql
      address               192.168.12.237
      }

define service{
      use                           local-service,services-pnp
      host_name                     mysql
      service_description             SSH
      check_command                   check_ssh
      }
define service{
      use                           local-service,services-pnp
      host_name                     web
      service_description             http
      check_command                   check_http
      }

(5)测试PNP功能

所有配置完成之后,重新检查nagios配置文件是否正确,然后重启nagios
/etc/init.d/nagios restart
如果配置正确,此时就会生成响应主机的pnp文件
# pwd
/usr/local/nagios/share/perfdata/web
# ls
http.rrdhttp.xmlPING.rrdPING.xmlSSHD.rrdSSHD.xml
最后打开网页:
打开网页http://IP/nagios,选择主机选项,然后点击小太阳就可以看到图表,或者访问http://ip/nagios/pnp也可以直接访问图表信息

y23335793 发表于 2013-3-13 15:56:37

写的真的很不错

efn阿克说 发表于 2013-5-15 20:07:14

一时的冲动,子孙的危机!

轻轻的 发表于 2013-5-16 22:26:26

人生重要的不是所站的位置,而是所朝的方向!

重温战场 发表于 2013-5-18 00:22:38

下雨了,别忘了打伞,湿身是小,淋病就麻烦啦*^_^*

hyadijxp 发表于 2013-5-19 05:20:55

谢谢楼主,共同发展

wsaer 发表于 2013-5-20 10:48:32

吃饭与ml是第一生产力。
页: [1]
查看完整版本: PNP 实现nagios图形分析