zj2092 发表于 2019-1-13 09:54:56

Nagios监控之6:pnp4nagios安装(Synchronous Mode)

  pnp4nagios是在Nagios和rrdtool正常安装的基础上进行的,详情请移步本人相关博文.
  pnp4nagios是一款强大的工具,它可以通过process_perfdata.pl脚本调用rrdtool对nagios的性能数据进行分析并绘制成相应的性能图。
  pnp4nagios有5种工作模式(Synchronous Mode、Bulk Mode、Bulk Mode with NPCD、Bulk Mode with npcdmod、Gearman Mode),这里安装的是Synchronous Mode.
  1.依赖包检测
  #rpm -q perl-Time-HiRes php-gd
  #yum install perl-Time-HiRes php-gd
  2.编译安装
  # tar -xzvf pnp4nagios-0.6.22.tar.gz
  # cd pnp4nagios-0.6.22
  # ./configure \
  --prefix=/usr/local/pnp4nagios \
  --with-nagios-user=nagios \
  --with-nagios-group=nagios \
  --with-rrdtool=/usr/local/rrdtool/bin/rrdtool \
  --with-httpd-conf=/etc/httpd/conf.d/
  # make all
  # make fullinstall
  提示 RRDs Perl Modules Not FOUND 时候可以执行下面的操作
  i386:
  cp/usr/local/rrdtool/lib/perl/版本号/i386-linux-thread-multi/* -r /usr/lib/perl5/版本号/i386-linux-thread-multi/
  x86_64:
  cp/usr/local/rrdtool/lib/perl/版本号/x86_64-linux-thread-multi/* -r /usr/lib64/perl5/版本号/x86_64-linux-thread-multi/
  如果嫌以上方法麻烦或不生效则在编译时指定RRDs的路径
  --with-perl_lib_path=/usr/local/rrdtool/lib/perl/版本号/
  然后从新编译安装
  3.服务配置(默认的Synchronous Mode)
  3.1 修改nagios的nagios.cfg配置文件
  # vim /usr/local/nagios/etc/nagios.cfg
  #启用nagios环境变量输出
  enable_environment_macros=1
  #使nagios性能数据输出
  process_performance_data=1
  #服务性能数据输出命令名
  service_perfdata_command=process-service-perfdata
  #主机性能数据输出命令名
  host_perfdata_command=process-host-perfdata
  3.2 修改nagios的commands.cfg配置文件
  (在文件的末行添加下面两行,并删除原有对process-host-perfdata和process-service-perfdata进行定义的字段)
  #定义主机性能数据输出命令
  define command {
  command_name    process-service-perfdata
  command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
  }
  define command {
  command_name    process-host-perfdata
  command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
  }
  说明:如果不想某项服务性能数据输出,可在服务中增加如下代码将process_performance_data关闭
  define service {
  ...
  process_perf_data 0
  ...
  }
  3.3 修改nagios的template 配置文件
  (在文件末尾追加如下几行)
  define host {
  name         host-pnp
  action_url       /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_
  register      0
  process_perf_data1
  }
  define service {
  name         srv-pnp
  action_url       /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
  register      0
  process_perf_data1
  }
  3.4 修改nagios的hosts.cfg
  这个文件默认是不存在的,是用来定义你要监控的主机,需要你手工创建。
  这里我们新加入web01和pub_oracle 2个主机信息,并配置画图(host-pnp)
  define host{
  use         linux-server,host-pnp
  host_name       web01
  alias         pub_web01
  address      192.168.0.51
  }
  define host{
  use         linux-server,host-pnp
  host_name       oracle
  alias         pub_oracle
  address      192.168.0.180
  }
  3.5 修改nagios的services.cfg
  这个文件默认是不存在的,是用来定义你要监控的服务,需要你手工创建。
  这里我们为新加入web01主机添加3个服务监控项,并配置画图(srv-pnp)
  ########   web01   #######
  define service{
  use                local-service,srv-pnp
  host_name             web01
  service_description      PING
  check_command          check_ping!100.0,20%!500.0,60%
  }
  define service{
  use               local-service,srv-pnp
  host_name             web01
  service_description      SSH
  check_command          check_ssh
  }
  define service{
  use               local-service,srv-pnp
  host_name             web01
  service_description      http
  check_command          check_http
  }
  4.验证配置文件,重启服务
  4.1 验证pnp4nagios配置文件,这个脚本默认没有,需要到官网下载
  wget http://verify.pnp4nagios.org/verify_pnp_config
  perl verify_pnp_config --mode sync --config=/usr/local/nagios/etc/nagios.cfg
  --pnpcfg=/usr/local/pnp4nagios/etc
  4.2 验证nagios配置文件
  #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  5.重启nagios、httpd及相关的npcd、ndoutils等服务
  #/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
  #service httpd restart
  #/etc/init.d/npcd restart
  6.修改pnp4nagios自检页
  在网页中正常登录到nagios中,发现被添加了pnp4nagios标签的host和service都多了一个图标,
  点击新增的图标进入pnp4nagios自检页,这里对pnp4nagios依赖的配置和软件包做了检测;在
  页面最下边有修改install.php的提示,但要保证所有检查项都通过,最后重命名 install.php
  为其它任何名字,修改完后不需要重启,再次点击新增图标是就进入了实时监控图。
  如果看到“PHP magic_quotes_gpc is deprecated”,那么到php.ini文件中找到相应的设置并off掉。
  # mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php_bak
  鸣谢:本人参考了多篇文章后总结而得,在此感谢各位网络分享者!



页: [1]
查看完整版本: Nagios监控之6:pnp4nagios安装(Synchronous Mode)