Nginx下构建Nagios监控平台Nagios+nrpe+nagios-plugins+pnp安装

Nginx下构建Nagios监控平台Nagios+nrpe+nagios-plugins+pnp安装文档

系统环境:CentOS release 5.8 x86_64

一:监控端安装

1,安装perl模块:

(1)、先安装FCGI模块

  1. wget http://search.cpan.org/CPAN/authors/id/F/FL/FLORA/FCGI-0.73.tar.gz
  2. tar xvzf FCGI-0.73.tar.gz
  3. cd FCGI-0.73
  4. perl Makefile.PL
  5. make
  6. make install

(2)、安装FCGI-ProcManager模块

  1. wget http://mirrors.ustc.edu.cn/CPAN/authors/id/B/BO/BOBTFISH/FCGI-ProcManager-0.24.tar.gz
  2. tar xvzf FCGI-ProcManager-0.19.tar.gz
  3. cd FCGI-ProcManager-0.19
  4. perl Makefile.PL
  5. make
  6. make install

 

(3)、安装IO和IO::ALL模块

  1. wget http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/IO-1.25.tar.gz
  2. tar zxvf IO-1.25.tar.gz
  3. cd IO-1.25
  4. perl Makefile.PL
  5. make
  6. make install
  7. wget http://mirrors.xmu.edu.cn/CPAN/authors/id/I/IN/INGY/IO-All-0.44.tar.gz
  8. tar zxvf IO-All-0.41.tar.gz
  9. cd IO-All-0.41
  10. perl Makefile.PL
  11. make
  12. make install

(4)、下载Perl脚本

这个脚本的目的就是产生一个PERL的FastCGI接口,让Nginx可以以CGI方式处理Perl。注:建议把这个脚本放在Nginx安装目录,修改脚本权限为777

  1. http://www.chlinux.net/perl-fcgi.zip
  2. unzip perl-fcgi.zip
  3. cp perl-fcgi.pl /usr/local/nginx/
  4. chmod 755 /usr/local/nginx/perl-fcgi.pl

(5)、建立一个CGI启动/停止脚本

这个SHELL脚本只是为了方便管理上面的Perl脚本。脚本中的nobody为nginx的运行用户,请据自己的实际情况调整。

注意事项:不能用root用户执行(会提示). 要用与Nginx相同身份的用户执行。否则可能会在Nginx Log中提示 Permision Denied。

  1. vi /usr/local/nginx/start_perl_cgi.sh
  2. #!/bin/bash
  3. #set -x
  4. dir=/usr/local/ nginx/
  5. stop ()
  6. {
  7. #pkill -f $dir/perl-fcgi.pl
  8. kill $(cat $dir/logs/perl-fcgi.pid)
  9. rm $dir/logs/perl-fcgi.pid 2>/dev/null
  10. rm $dir/logs/perl-fcgi.sock 2>/dev/null
  11. echo "stop perl-fcgi done"
  12. }
  13. start ()
  14. {
  15. rm $dir/now_start_perl_fcgi.sh 2>/dev/null
  16. chown nobody.nobody $dir/logs
  17. echo "$dir/perl-fcgi.pl -l $dir/logs/perl-fcgi.log -pid $dir/logs/perl-fcgi.pid -S $dir/logs/perl-fcgi.sock" >>$dir/now_start_perl_fcgi.sh
  18. chown nobody.nobody $dir/now_start_perl_fcgi.sh
  19. chmod u+x $dir/now_start_perl_fcgi.sh
  20. sudo -u nobody $dir/now_start_perl_fcgi.sh
  21. echo "start perl-fcgi done"
  22. }
  23. case $1 in
  24. stop)
  25. stop
  26. ;;
  27. start)
  28. start
  29. ;;
  30. restart)
  31. stop
  32. start
  33. ;;
  34. esac

修改SHELL脚本权限

chmod 755 /usr/local/nginx/start_perl_cgi.sh

启动脚本

/usr/local/nginx/start_perl_cgi.sh start

正常情况下在/usr/local/nginx/logs下生成perl-fcgi.sock这个文件,如果没有生成,请检查下上面的步聚。

相关推荐