> CentOS > CentOS运维 >

CentOS - Nagios PNP 图形化显示

RRDTool 安装
=======================
[root@localhost ~]# yum install rrdtool
 
PNP 安装
=======================
[root@localhost soft]# wget http://downloads.sourceforge.net/pnp4nagios/pnp-0.4.14.tar.gz
[root@localhost pnp-0.4.14]# tar -xvzf pnp-0.4.14.tar.gz
[root@localhost pnp-0.4.14]# cd pnp-0.4.14
[root@localhost pnp-0.4.14]# ./config
我这里报错:
configure: error: Perl Module Time::HiRes not available
[root@localhost pnp-0.4.14]# yum install perl-Time-HiRes
 
[root@localhost pnp-0.4.14]# ./config
[root@localhost pnp-0.4.14]# make all
[root@localhost pnp-0.4.14]# make install
[root@localhost pnp-0.4.14]# make install-config
[root@localhost pnp-0.4.14]# make install-init 
 
[root@localhost pnp-0.4.14]# cd /usr/local/nagios/etc/pnp/
[root@localhost pnp]# cp process_perfdata.cfg-sample process_perfdata.cfg
[root@localhost pnp]# cp npcd.cfg-sample npcd.cfg
[root@localhost pnp]# cp rra.cfg-sample rra.cfg
 
[root@localhost pnp]# chown -R nagios:nagios /usr/local/nagios/etc/pnp/
[root@localhost pnp]# vi process_perfdata.cfg
将 LOG_LEVEL = 2
 
定义图形数据相关命令
============================
编辑commands.cfg,增加对process-service/host-perfdata-file命令的定义.
安装时默认就有.将它改成:
define command{
command_name process-host-perfdata
command_line /usr/local/nagios/libexec/process_perfdata.pl
}
define command{
command_name process-service-perfdata
command_line /usr/local/nagios/libexec/process_perfdata.pl
}
 
 
增加 pnp的主机和service定义.在任意一个配置文件中都行.为了便于管理.我放在 localhost.cfg
define host {
  name       host-pnp
  register   0
  action_url /nagios/pnp/index.php?host=$HOSTNAME$
}
define service {
  name       srv-pnp
  register   0
  action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
}
 
使用图形相关命令
===========================
对需要进行 pnp 绘图的 host 和 service 增加 pnp 的 host 和service
define host{
        use                     web-server,host-pnp
        host_name               localhost
        alias                   localhost
        address                 127.0.0.1
}
define service{
        use                     local-service,srv-pnp
        host_name               localhost
        service_description     PING
        check_command           check_ping!100.0,20%!500.0,60%
}
 
本地机器的配置和远程机器的配置中都添加.注意,不需每个配置中都重新定义 host-pnp 和 srv-pnp, 只在一个里定义,其它配置文件中直接用即可.
 
重新加载配置文件:
[root@localhost libexec]# service nagios reload
 
然后再访问的时候,监控的主机和服务旁会有一个图表的形状,点击即可展开图.
我这边打开图时报一个 PHP 错: PHP Function proc_open is disabled
这是因为 PHP 将 proc_open 这个方法禁用了.但图形库要用到.
解决:
编辑 /usr/local/php/etc/php.ini
将 proc_open 从 disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen
 
中移除.然后重启 PHP 即可.



(责任编辑:IT)