lanying56123 发表于 2019-1-14 07:16:04

pnp4nagios的安装配置

  nagios 安装完了,只有数字输出监控内容是不是不炫丽呢?是不是想像CACTI 一样出炫丽的图呢?那你可以选择PNP,他可以满足你的需求,只要你的脚本符合perfdata规则,那么rrdtool就可以出数据,PNP就可以用图给你画出来。
  

  1.下载安装 pnp4nagios-0.6.6.tar.gz
nagios $> wget http://down1.chinaunix.net/distfiles/pnp4nagios-0.6.14.tar.gz
nagios $> tar zxvfpnp4nagios-0.6.14.tar.gz
nagios $> cd pnp4nagios-0.6.14
nagios $> ./configure --with-nagios-user=apache --with-nagios-group=apache
nagios $> make all
nagios $> make install
nagios $> make install-webconf
nagios $> make install-config
nagios $> make install-init  上面4步可以直接用make fullinstall一步完成
  

  返回HTML URL:                         http://localhost/pnp4nagios
  Apache Config File:               /etc/httpd/conf.d/pnp4nagios.conf
  

  注意修改/etc/httpd/conf.d/pnp4nagios.conf中的验证
  重启Http服务,访问http://localhost/pnp4nagios
  如果提示“PHP GD extension PHP GD extension not available”yum install php-gd -y ,然后再重启http服务即可
  去除启动自检页面mv /usr/local/pnp4nagios/share/install.php mv /usr/local/pnp4nagios/share/install.php.bak
  

  2.创建配置文件
nagios $> cd /usr/local/pnp4nagios/etc
nagios $> mv misccommands.cfg-samplemisccommands.cfg
nagios $> mv nagios.cfg-samplenagios.cfg
nagios $> mv npcd.cfg-sample npcd.cfg
nagios $> mv process_perfdata.cfg-sampleprocess_perfdata.cfg
nagios $> mv rra.cfg-sample rra.cfg
nagios $> cd pages
nagios $> mv web_traffic.cfg-sample web_traffic.cfg
nagios $> cd ../check_commands
nagios $> mv check_all_local_disks.cfg-samplecheck_all_local_disks.cfg
nagios $> mv check_nrpe.cfg-samplecheck_nrpe.cfg
nagios $> mv check_nwstat.cfg-samplecheck_nwstat.cfg  3. 重启服务

  nagios $> /etc/init.d/npcd restart
  4.修改 nagios 的配置文件.打开performance_data
nagios $> cd /usr/local/nagios/etc
nagios $> vim nagios.cfg
process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata  5.修改 commands.cfg
  nagios $> cd /usr/local/nagios/etc/objects
  nagios $> vim commands.cfg
  ##添加
# 'process-host-perfdata' command definition
define command{
      command_name    process-host-perfdata
      command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl-d HOSTPERFDATA
#注意,此处后面要加 -d HOSTPERFDATA,不然在web界面点localhost边上的小太阳是报错“XML file"/usr/local/pnp4nagios/var/perfdata/66/_HOST_.xml" not found. ReadFAQ online”
      }
# 'process-service-perfdata' command definition
define command{
      command_name    process-service-perfdata
      command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl
      }  6. 添加小太阳模版,镶嵌在nagios页面上。
  nagios $> vim templates.cfg
## 在最后添加
define host {
name       host-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_
register   0
}
define service {
name       srv-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
register   0
}  7,修改 hosts.cfg 和色services.cfg
  #修改hosts.cfg
nagios $> vim hosts.cfg
define host{
      use                     linux-server,host-pnp
      host_name         eric.com
      alias                     eric.com
      address               192.168.6.101
      }
# 修改 services.cfg
define service{
      use                                     local-service,srv-pnp   
      host_name                     eric.com
      service_description      PING
      check_command            check_ping!100.0,20%!500.0,60%
}  8.重启 nagios 服务
  nagios $> /etc/init.d/nagios restart
  9.重启 http服务
  

  

  10.实现原理
  PNP出图的数据来自脚本在系统打印出来的字符串,而Nagios源码提供的check_procs脚本系统输出字符串不符合数据格式规范(没有包含性能数据),所以就无法出图了。
  在源码中加上性能数据的输出,这样就可以出图了。
  

  11.nagios性能数据格式
  例:cpu_user:OK-0% cpu_system:OK-0% cpu_idle:WARNING-99>70%| cpu_user=0%;120;90; cpu_system=0%;100;70;cpu_idle=99%;100;70;
  其中性能数据为|后面的斜体部分,格式如下:
  ‘label’=value;;;;
  注意事项:
  1.空格分割标签/值对 例如cpu_user=0%;100;90; cpu_system=0%;100;70;cpu_idle=99%;100;70;
  2.label可以包含任何字符
  3.单引号可省略,如果label中使用空格、等号和单引号,则需要需要单引号把label括起来。例如’a ‘b’ = c’=0%;100;90;
  4.标签可以为任意长度,但最好少于19个字符并且唯一,(RRD有相关方面的限制),并且需要注意NRPE的返回值的限制(译者:好像是4K限制)
  5.两个单引号为指定的转义字符?
  6.warn, crit, min or max 可以为空(比如,如果没有定义阀值,最大最小值则不适用)并且最后的分号可以省略
  7.如果UOM为%,则不需要最大最小值
  8.value, min and max只能为负号“-” “0到9” 和小数点“.” 并且单位必须统一 例如:cpu_user=0.5%;99.9;-9;
  9.warn and crit必须在某个区间格式,参见2.5章。单位也必须统一
  10.UOM必须为以下其中之一
  1.如果未指定,默认为数字(整数和浮点数)(比如用户数,进程数,负载等)
  2.   s – 秒 (可以为纳秒us或毫秒ms) cpu_user=0s;100;90; cpu_system=0us;100;70;cpu_idle=0ms;100;70;
  3. % – 百分号 cpu_user=0%;100;90; cpu_system=0%;100;70;cpu_idle=99%;100;70;
  4.   B – 字节(可可以是KB ,MB TB)cpu_user=0KB;100;90; cpu_system=0MB;100;70;cpu_idle=0B;100;70;
  5. c – 一个计数器 (比如网卡的流量)cpu_user=10c;100;90;
  




页: [1]
查看完整版本: pnp4nagios的安装配置