设为首页 收藏本站
查看: 1097|回复: 0

[经验分享] nagios+apache+php+pnp实现飞信短信报警

[复制链接]

尚未签到

发表于 2018-11-23 11:21:38 | 显示全部楼层 |阅读模式
Technorati 标签: nagios服务器监控
  Nagios监控服务器部署
  Nagios真的是难过死,花了三天时间,终于配置完,下面是配置的操作步骤
  新建一台linux服务器,服务器名称为nagios,操作系统为rhel5.6_64,配置好yum库,ip地址,ntp等服务
DSC0000.jpg

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

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

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

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

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

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

  安装
DSC0007.jpg

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

  解压安装
DSC0009.jpg

  ./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
DSC00010.jpg

DSC00011.jpg

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

  User nagios
  Group nagios
DSC00013.jpg

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

  添加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用户及密码
DSC00015.jpg

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

  登陆进去,看到如下信息
DSC00017.jpg

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

  先安装依赖包
  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
DSC00019.jpg

  安装pnp
DSC00020.jpg

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

  解决方法:
  #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
  正常之后再:
DSC00022.jpg

  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
DSC00023.jpg

  修改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_name  process-host-perfdata
  command_line /usr/local/nagios/libexec/process_perfdata.pl
  }
  # 'process-service-perfdata' command definition
  define command{
  command_name  process-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权限提示
DSC00024.jpg

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

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

DSC00027.jpg

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

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

  # 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)){
  如果还是提示
DSC00030.jpg

  需要重新编译一下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,图表能够正常显示
DSC00031.jpg

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

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

DSC00034.jpg

  测试飞信是否正常运行
DSC00035.jpg

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

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

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

  修改联系人,
DSC00039.jpg

DSC00040.jpg

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

  修改后的内容如下
DSC00042.jpg

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




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-638617-1-1.html 上篇帖子: Apache启动提示:httpd: Could not determine the server's fully qualified domain name 下篇帖子: 修改apache+php上传文件大小限制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表