tangbinde 发表于 2019-1-15 08:59:32

nagios插件pnp安装

  1、安装rrdtool
  # tar zxvf rrdtool-1.4.5.tar.gz && cd rrdtool-1.4.5 && ./configure --prefix=/usr/local/rrdtool && make && make install
  2、安装pnp
  tar zxvf 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/

ps:RRDs Perl Modules:                *** NOT FOUND ***
在这里我遇到一个很奇怪的问题,由于没有安装rrds perl模块,导致pnp出图的数据是乱码,附上图片:
http://blog.运维网.com/attachment/201212/160113262.png
后来通过yum install rrdtool-perl就恢复正常了,有图有真相

http://blog.运维网.com/attachment/201212/160353612.png
3、配置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 /usr/local/nagios/etc/pnp
修改process_perfdata.cfg文件
vim /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模式。
4、修改Nagios配置文件
1、增加小太阳图标
修改templates.cfg,增加一个定义PNP的host和service。修改后的内容如下:
define host {
name       host-pnp
register   0
#action_url /nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
action_url /nagios/pnp/index.php?host=$HOSTNAME$
process_perf_data 1
}
ps:我这里只添加了主机的小太阳图标,每当添加某主机的服务的时候,都会自动生成该服务的数据文件

http://blog.运维网.com/attachment/201212/160934676.png


http://blog.运维网.com/attachment/201212/161026396.png
  2、修改commands.cfg,定义host-perfdata
  define command{
  command_nameprocess-host-perfdata
  command_line/usr/local/nagios/libexec/process_perfdata.pl
  }
  3、让主机引用host-perfdata
  root># cat hosts.cfg
  define host{
  use   host-pnp
  host_name               xx
  alias                  xx(x)
  address                  xx
  contact_groups            shyygroup
  check_command         check-host-alive
  max_check_attempts       5
  notification_interval       10
  notification_period      24x7
  notification_options       d,u,r
  }
  4、重启nagios服务后,在这个目录下会产生2个主机的目录
  ls /usr/local/nagios/share/perfdata/
  xxjshyyxxysix
  cd xxjshyy
  -rw-rw-r-- 1 nagios nagioscmd 1151496 Dec 21 16:13 Current_Load.rrd
  -rw-rw-r-- 1 nagios nagioscmd   12165 Dec 21 16:13 Current_Load.xml
  -rw-rw-r-- 1 nagios nagioscmd384952 Dec 21 16:11 Java_9800.rrd
  -rw-rw-r-- 1 nagios nagioscmd   11208 Dec 21 16:11 Java_9800.xml
  -rw-rw-r-- 1 nagios nagioscmd384952 Dec 21 16:12 Java_9801.rrd
  -rw-rw-r-- 1 nagios nagioscmd   11208 Dec 21 16:12 Java_9801.xml
  -rw-rw-r-- 1 nagios nagioscmd384952 Dec 18 17:35 mysql_3306.rrd
  -rw-rw-r-- 1 nagios nagioscmd384952 Dec 21 16:11 Mysql_3306.rrd
  -rw-rw-r-- 1 nagios nagioscmd   11199 Dec 18 17:35 mysql_3306.xml
  -rw-rw-r-- 1 nagios nagioscmd   11202 Dec 21 16:11 Mysql_3306.xml
  -rw-rw-r-- 1 nagios nagioscmd384952 Dec 21 16:12 Nrpe_5666.rrd
  -rw-rw-r-- 1 nagios nagioscmd   11198 Dec 21 16:12 Nrpe_5666.xml
  -rw-rw-r-- 1 nagios nagioscmd768224 Dec 21 16:14 Ping.rrd
  -rw-rw-r-- 1 nagios nagioscmd   11702 Dec 21 16:14 Ping.xml
  -rw-rw-r-- 1 nagios nagioscmd384952 Dec 21 16:14 sda3.rrd
  -rw-rw-r-- 1 nagios nagioscmd   11170 Dec 21 16:14 sda3.xml
  -rw-rw-r-- 1 nagios nagioscmd 1534768 Dec 21 16:13 traffic.rrd
  -rw-rw-r-- 1 nagios nagioscmd   12701 Dec 21 16:13 traffic.xml
  -rw-rw-r-- 1 nagios nagioscmd384952 Dec 21 16:12 Users.rrd
  -rw-rw-r-- 1 nagios nagioscmd   11120 Dec 21 16:12 Users.xml
  ps:点击小太阳也能会报以下这种错误:
Deprecated: Assigning the return value of new by reference is deprecated in /usr/local/nagios/share/pnp/include/function.inc.php on line 1026

Warning: date() : It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/nagios/share/pnp/include/function.inc.php on line 557

Warning: date() : It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/nagios/share/pnp/include/function.inc.php on line 559

Warning: date() : It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/nagios/share/pnp/include/function.inc.php on line 563

Warning: date() : It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Chongqing' for 'CST/8.0/no DST' instead in /usr/local/nagios/share/pnp/include/function.inc.php on line 565

Deprecated: Function eregi() is deprecated in /usr/local/nagios/share/pnp/include/function.inc.php on line 1502
  解决:
这是因为pnp-0.4.14对PHP 5.3.0的支持还不是很好,其中有几个bug需要修改:
根据错误提示打开
vi /usr/local/nagios/share/pnp/include/function.inc.php
找到行1541修改为
if($level == 2 && $type == "complete" && preg_match("/^NAGIOS_/",$tag)){
还会有两处错误需要修改,根据提示找到对应行进行修改:
line 556: 添加:date_default_timezone_set('UTC');
line 1032:修改为$pdf = new PDF('P', 'mm', 'A4'); 删除&
再重新重启nagios,应该就能看到图表了



页: [1]
查看完整版本: nagios插件pnp安装