yzq 发表于 2018-11-23 11:21:38

nagios+apache+php+pnp实现飞信短信报警

Technorati 标签: nagios服务器监控
  Nagios监控服务器部署
  Nagios真的是难过死,花了三天时间,终于配置完,下面是配置的操作步骤
  新建一台linux服务器,服务器名称为nagios,操作系统为rhel5.6_64,配置好yum库,ip地址,ntp等服务

  使用ssh登陆到nagios服务器
  首先创建一个nagios用户和组

  下载nagios,
  下载:http://jaist.dl.sourceforge.net/project/nagios/nagios-4.x/nagios-4.0.1/nagios-4.0.1.tar.gz

  解压安装nagios-4.1
  cd /usr/local/src
  tar zxvf nagios-4.0.1.tar.gz

  指定nagios安装目录,系统提示没有安装gcc java编译工具,安装编译工具及依赖包

  配置安装nagios
  Cd nagios-4.1.0
  ./configure –prefix=/usr/local/src
  Make all
  Make install
  Make install-init
  Make install-commandmode
  Make install-config

  把安装完的nagios配置成开启启动,启动级别为35
  下载安装nagios插件
  下载地址:https://www.nagios-plugins.org/download/nagios-plugins-1.5.tar.gz

  安装

  下载安装nagios汉化插件
  下载地址:
  http://nchc.dl.sourceforge.net/project/nagios-cn/sourcecode/zh_CN%203.2.3/nagios-cn-3.2.3.tar.bz2

  解压安装

  ./configure
  Make all&make install
  安装下载apache和php
  Apache下载地址:http://optimate.dl.sourceforge.net/project/apachehttp.mirror/httpd-2.4.4.tar.bz2
  解压安装apache
  Tar jxvf httpd-2.4.4.tar.bz2
  Cd httpd-2.4.4.tar.bz2
  ./configure --prefix=/usr/local/apache --enable-rewrite --enable-so --enable-mods-shared=all
  Make&make install
  如果无法安装apache请检查apache安装所需的依赖包apr是否安装
  如果安装之后还是无法安装apache 这是由于apr包版本太低
  先卸载
  yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-util apr-util-docs
  yum install expat
  yum remove apr-util-devel apr apr-util-mysql apr-docs apr-devel apr-u
  wget http://1wt.163disk.com:612/file/fc/80/fc80cb54f158c2674f9eeb47a1f672cd/apr-1.4.2.tar.gz?key=bd9ae7d900953d601236034c4323c24f&uid=0&id=161468&t=1382602148&type=html
  wget http://27.221.16.25/1/ishare.down.sina.com.cn/27639331.gz?ssig=staKZm53YL&Expires=1382716800&KID=sina,ishare&fn=apr-util-1.4.1.tar.gz cd /usr/local/src
tar xzvf apr-1.4.2.tar.gz
cd apr-1.4.2
./configure –prefix=/usr/local/apr
make
make install
cd /usr/local/src
tar xzvf apr-util-1.3.9.tar.gz
cd apr-util-1.3.9
./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr
make
make install
cd /usr/local/src
tar xzvf apr-iconv-1.2.1.tar.gz
cd apr-iconv-1.2.1
./configure –with-apr=/usr/local/apr
make
make install
  安装php
  下载地址:http://cn2.php.net/distributions/php-5.4.21.tar.bz2
  /configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-gd


  安装完后 配置apache
  找到apache配置文件/usr/local/apache/conf/httpd.conf

  User nagios
  Group nagios

  添加index.html.var改为index.php

  添加apache php模块
  增加nagiosweb界面,在httpd.conf文件中增加如下信息
  #setting for nagios
  ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
  
  AuthType Basic
  Options ExecCGI
  AllowOverride None
  Order allow,deny
  Allow from all
  AuthName "Nagios Access"
  AuthUserFile /usr/local/nagios/etc/htpasswd
  Require valid-user
  
  Alias /nagios "/usr/local/nagios/share"
  
  AuthType Basic
  Options None
  AllowOverride None
  Order allow,deny
  Allow from all
  AuthName "Nagios Access"
  AuthUserFile /usr/local/nagios/etc/htpasswd
  Require valid-user
  
  创建web登陆nagios用户及密码

  重启apache,会得到如下登陆信息

  登陆进去,看到如下信息

  Nagios性能分析图表配置
  安装rrdtool包和pnp包
  Rrdtool下载地址:http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz

  先安装依赖包
  yum –y install libart_lgpl-devel
  yum –y install pango-devel* cairo-devel*
  pnp下载地址:http://optimate.dl.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.21.tar.gz

  安装pnp

  如果在./configure过程中出现如下错误

  解决方法:
  #cd /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi
  #cp RRDs.pm /usr/lib/perl5/5.8.8/i386-linux-thread-multi/
  #cp /usr/local/rrdtool/lib/perl/5.8.8/i386-linux-thread-multi/auto/RRDs/RRDs.so /usr/lib/perl5/5.8.8/i386-linux-thread-multi/
  然后再:#./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
  安装完rrd和pnp之后
  再配置pnp
  设置pnp
  cd /usr/local/nagios/etc/
  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
  修改process_perfdata.cfg文件
  LOG_FILE = /usr/local/nagios/var/perfdata.log
  # Loglevel 0=silent 1=normal 2=debug
  LOG_LEVEL = 2
  这里将日志级别改为2,即为debug模式。
  修改nagios配置文件、
  增加小太阳标示:
  修改templates.cfg,增加一个定义的pnp的hosts和services

  修改nagios.cfg
  找到如下几项,去掉注释,修改后信息如下:
  process_performance_data=1
  host_perfdata_command=process-host-perfdata
  service_perfdata_command=process-service-perfdata
  修改commands.cfg
  # 'process-host-perfdata' command definition
  define command{
  command_nameprocess-host-perfdata
  command_line /usr/local/nagios/libexec/process_perfdata.pl
  }
  # 'process-service-perfdata' command definition
  define command{
  command_nameprocess-service-perfdata
  command_line /usr/local/nagios/libexec/process_perfdata.pl
  }
  登陆到nagios,系统提示无权查看任何主机的信息。 请检查HTTP服务器关于该CGI的访问权限设置。
  解决方法:
  vi /usr/local/nagios/etc/cgi.cfg
  将use_authentication的值改为0.
  Use_authentication=0
  然后重启nagios服务
  service nagios restart
  use_authentication=0
  按照上面修改将默认的1 改为0,但是改这个之后在服务操作的界面,在想调整服务检测的时候就会出现这样的一个提示:
Sorry Dave, I can't let you do that...
其实并不需要降低cgi 的安全性,你只需要把你的nagios 管理员账户添加到cgi.cfg 文件就可
以了,比如我的nagios 管理用户是nagios(这个命令生成的账户 htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios
  只有添加第一个账户要用-c 参数)
  就需要在cgi.cfg 文件中修改如下几项:
将每项的nagiosadmin 更改为nagios 即可,多用户用”,”分割。
authorized_for_system_information=nagios
authorized_for_configuration_information=nagios
authorized_for_system_commands=nagios
authorized_for_all_services=nagios
authorized_for_all_hosts=nagios
authorized_for_all_service_commands=nagios
authorized_for_all_host_commands=nagios
  重启服务,再打开控制界面,系统已经没有上面cgi权限提示

  打开主机,里面的服务选项

  打开发现并未有图表选项,前面做了小太阳的那个模板关联,这个就是生产图表的,现在需要把那两个图表模板的services-pnp和host—pnp添加到主机和服务上,自动生产模板,修改/usr/local/nagios/etc/objects/localhost文件


  Pnp添加方法官方网站上有配置手册http://docs.pnp4nagios.org/pnp-0.4/webfe

  现在主机正常,已经有小太阳图表,点击小太阳图表会自动生产图表,但是提示这个错误,死活出不了图表

  # vi /usr/local/nagios/share/pnp/include/function.inc.php
line 556: 添加:date_default_timezone_set('UTC');
line 1033:修改为$pdf = new PDF('P', 'mm', 'A4'); 删除&
line 1543: 修改为if($level == 2 && $type == "complete" && preg_match("/^NAGIOS_/",$tag)){
  如果还是提示

  需要重新编译一下php
  /configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-zlib --with-gd
  Make&&make install
  安装完PHP提示
  You may want to add: /usr/local/php/lib/php to your php.ini include_path
  /root/rpm/php-5.3.23/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
  ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar
  Installing PDO headers:   /usr/local/php/include/php/ext/pdo/
  解决方法 :cp php.ini-production /usr/local/php/lib/php.ini
  重启 apache和nagios,图表能够正常显示

  利用飞信实现nagios短信事实报警
  前往飞信机器人论坛,下载飞信linux包
  http://www.it-adv.net/fetion/downng/fetion20091117-linux.tar.gz

  解压飞信安装程序 tar zxvf fetion91117-linux.tar.gz
  Cp fx/* /usr/local/fetion
  配置飞信所需的动态链接库
  Vi /etc/ld.so.conf
  增加如下信息


  测试飞信是否正常运行

  得到如下信息可以证实飞信可以正常运行

  给自己发送一封短信看手机是否能够正常收到,前提是手机号码是要加入飞信或是飞信好友
  /usr/local/fetion/fetion –mobile=13534****** --pwd=****** --msg-gd =“this is test” –debug
  短信发送成功会得到如下放回信息
  SIP –C/2.0 280 Send SMS OK
  提示:飞信密码如果过于简单,需要输入验证信息,验证图片在飞信安装目录下自动生成
  接下来的工作就是需要把飞信加载到nagios中,实现自动发送发送报警短信

  增加主机发生故障事报警短信的指令

  修改联系人,


  修改/usr/local/nagios/etc/contacs.cfs文件

  修改后的内容如下

  保存后退出,nagios。
  到此nagios基本配置已经完成,现在nagios有了如下功能,主机图表显示,飞信短信报警 邮箱报警等功能
  下面的工作就需要把客户端主机添加nagios服务端上来监控主机



页: [1]
查看完整版本: nagios+apache+php+pnp实现飞信短信报警