热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nagios配合飞信发短信

nagios的安装在此页面 http:bbotte.blog.51cto.com62053071403997 提示:飞信接口已经不可用nagios要添加飞信报警功能,尽管网上有

nagios的安装在此页面 http://bbotte.blog.51cto.com/6205307/1403997 

提示:飞信接口已经不可用

nagios要添加飞信报警功能,尽管网上有很多教程,不过许多都需要瞎折腾才能正常用飞信,所以下面记录一下,供参考

系统centos6.4 64位

安装飞信

下载地址 http://pan.baidu.com/s/1sXpGj 找到linux安装包 > 飞信 >fetiontar.zip

# unzip fetiontar.zip
# cd fetiontar
# ls
fetion  lib
# mkdir /usr/local/fetion
# cp fetion /usr/local/fetion/
# chmod 755 /usr/local/fetion/fetion


# ls lib/   #lib文件夹下的so文件
ld-2.5.so            libcap.so.1          libcrypt.so.1          libpcre.so.0.0.1
ld-linux.so.2        libcap.so.1.10       libc.so.6              libproc-3.2.7.so
ld-lsb.so.3          libcidn-2.5.so       libeay32.dll           libpthread-2.5.so
ld.so.conf           libcidn.so.1         libnss_ldap-2.5.so     libpthread.so.0
libACE-5.6.5.so      libcom_err.so.2      libnss_ldap.so.2       libssl.so.0.9.7a
libACE-5.6.8.so      libcom_err.so.2.1    libpamc.so.0           libssl.so.0.9.8
libACE-5.7.2.so      libcrypt-2.5.so      libpamc.so.0.81.0      libssl.so.4
libACE_SSL-5.6.5.so  libcrypto.so.0.9.7a  libpam_misc.so.0       libstdc++.so.6
libACE_SSL-5.6.8.so  libcrypto.so.0.9.8   libpam_misc.so.0.81.2  libstdc++.so.6.0.8
libACE_SSL-5.7.2.so  libcrypto.so.0.9.8b  libpam.so.0            readme
libc-2.5.so          libcrypto.so.4       libpam.so.0.81.5
libcap.so            libcrypto.so.6       libpcre.so.0



设置fetion的库文件

# cp -r lib/ /lib64/fetion
# vim /etc/ld.so.conf.d/fetion.conf
/lib64/fetion


# ldconfig -v|grep fetion
ldconfig: /etc/ld.so.conf.d/kernel-2.6.32-431.11.2.el6.x86_64.conf:6: duplicate hwcap 1 nosegneg
ldconfig: /lib64/fetion/libstdc++.so.6 is not a symbolic link
ldconfig: /lib64/fetion/libpamc.so.0 is not a symbolic link
ldconfig: /lib64/fetion/libpam_misc.so.0 is not a symbolic link
ldconfig: /lib64/fetion/libpcre.so.0 is not a symbolic link
ldconfig: /lib64/fetion/ld-linux.so.2 is not a symbolic link
ldconfig: /lib64/fetion/libcom_err.so.2 is not a symbolic link
ldconfig: /lib64/fetion/libcap.so.1 is not a symbolic link
ldconfig: /lib64/fetion/libpam.so.0 is not a symbolic link
/lib64/fetion:


查看缺少哪些库,然后依次安装

# ldd /usr/local/fetion/fetion 
linux-gate.so.1 =>  (0x00e41000)
libACE-5.7.2.so => /lib64/fetion/libACE-5.7.2.so (0x007ec000)
libACE_SSL-5.7.2.so => /lib64/fetion/libACE_SSL-5.7.2.so (0x002ad000)
libssl.so.4 => /lib64/fetion/libssl.so.4 (0x0069d000)
libstdc++.so.6 => /lib64/fetion/libstdc++.so.6 (0x004f8000)
libm.so.6 => /lib/libm.so.6 (0x00c7d000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00dfe000)
libc.so.6 => /lib/libc.so.6 (0x002c2000)
libcrypto.so.4 => /lib64/fetion/libcrypto.so.4 (0x03e4a000)
librt.so.1 => /lib/librt.so.1 (0x001d0000)
libdl.so.2 => /lib/libdl.so.2 (0x001d9000)
libgssapi_krb5.so.2 => not found
libkrb5.so.3 => not found
libcom_err.so.2 => /lib64/fetion/libcom_err.so.2 (0x001de000)
libk5crypto.so.3 => not found
libresolv.so.2 => /lib/libresolv.so.2 (0x001e1000)
/lib/ld-linux.so.2 (0x0070f000)
libz.so.1 => not found
libgssapi_krb5.so.2 => not found
libkrb5.so.3 => not found
libk5crypto.so.3 => not found
libz.so.1 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0x0079e000)

如果缺少libgcc_s.so.1,出现下面情况,那么 yum install libgcc_s.so.1

# /usr/local/fetion/fetion 
/usr/local/fetion/fetion: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory


# yum install krb5-libs libgssapi_krb5.so.2 libz.so.1 -y
# /usr/local/fetion/fetion 
 ************************ IMPORTANT STATEMENT ************************
 **                                                                 **
 **   PLEASE DON'T USE THIS SOFTWARE TO SEND JUNK SHORT MESSAGES.   **
 **   OTHERWISE PLEASE BEAR YOUR OWN CONSEQUENCES.                  **
 **                                                                 **
 **                                Version:[20101205002-linux]      **
 *********************************************************************
 This program is the console version of China Fetion!
 It's free for personal user.
 This project website: http://www.it-adv.net/
 AUTHOR:KelvinH MSN/EMAIL:shichangguo@msn.com
 Usage:
    --mobile=[mobile]
    --sid=[sid]
    --pwd=[pwd]
    --cOnfig=[config file] *format:index mobile password
    --index=[index no in config file,refer to sample.conf]
    --debug  *debug mode on
    --hide  *login fetion in hidden state
    --to=[mobile/sid]
    --command-path=[command file path]
    --robotmode
    --daemon(linux only)
    --proxy-ip(http proxy ip)
    --proxy-port(http proxy port)
    --msg-gb=[gb2312/gbk message]
    --msg-utf8=[utf8 message]
    --msg-type=[0/1/2 sms longsms smartmsg]
    --file-gb=[gb2312/gbk file]
    --file-utf8=[utf8 file]
    --query-cmcc-no
    --auto-retry
    --exit-on-verifycode
    --t3key=[http://www.tui3.com/page/smssend/]


ok,飞信已经安装好了,下面测试

# /usr/local/fetion/fetion --mobile=你的手机号 --pwd=飞信密码 --to=对方的手机号 --msg-utf8="hello  hero"

HTTP/1.1 200 OK

Connection: close

Date: Sat, 23 Aug 2014 09:50:19 GMT

Server: Microsoft-IIS/6.0

X-Powered-By: ASP.NET

Content-Location: nav.fetion.com.cn

X-AspNet-Version: 4.0.30319

Cache-Control: private

Content-Type: text/html; charset=utf-8

Content-Length: 2473


#这里是提示输入验证码,验证码到目录,即下面的手机号.jpg 文件

# cd /usr/local/fetion/

# ls

1591425****.cache  1591425****.jpg  fetion

Nagios配合飞信发短信

下面就可以给飞信的好友发送信息了

# /usr/local/fetion/fetion --mobile=1591425**** --pwd=****** --to=****** --msg-utf8="hello  hero,you are a man"

SIP-C/4.0 280 Send SMS OK

T: sip:1056282019@fetion.com.cn;p=7019

I: 3

Q: 1 M

RQ: 56602213092

L: 112

XI: 7df854ffd4ff4abeb840b878110fec25


----以上确定飞信可以正常使用,下面详细说明配置内容----


下面几个配置文件相互关联,commands.cfg中定义飞信发送短信的命令,contacts.cfg中说明发送短信的用户和组,templates.cfg定义触发后要执行的动作,比如发飞信或邮件,什么时候发,用那个用户发送,timeperiods.cfg定义时间,工作日或者7x24,这里我使用默认的7x24,linuxhost.cfg为自己创建的文件,定义监控的服务和主机,监控的动作


cd /usr/local/nagios/etc/objects
commands.cfg    #定义飞信的发送命令
define command {
  command_name notify-host-by-fetion
  command_line /usr/local/fetion/fetion --mobile=1591425**** --pwd=123456 --to=1591425**** --msg-utf8="$NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"  --msg-type=1
}
define command {
  command_name notify-service-by-fetion
  command_line /usr/local/fetion/fetion --mobile=1591425**** --pwd=123456 --to=1591425**** --msg-utf8="$NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"   --msg-type=1
}


contacts.cfg   #创建用户和用户组,定义使用飞信发送通知信息
define contact{
        contact_name                        linux
        use                                 linux-contact
        alias                               linux server1
        service_notification_period         24x7
        host_notification_period            24x7
        service_notification_options        w,u,c,r,f,s
        host_notification_options           d,u,r,f,s
        service_notification_commands       notify-service-by-fetion
        host_notification_commands          notify-host-by-fetion
        }
define contactgroup{
        contactgroup_name           linux
        alias                       linux group1
        members                     linux
        }
templates.cfg    #在模板中定义检测后所要执行的选择
define contact{
        name                            linux-contact
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-fetion
        host_notification_commands      notify-host-by-fetion
        register                        0
        }
define host{
        name                            mylinux-server   
        use                             generic-host    
        check_period                    24x7            
        check_interval                  5               
        retry_interval                  1               
        max_check_attempts              10              
        check_command                   check-host-alive
        notification_period             24x7                                                                                                                  
        notification_interval           120             
        notification_options            d,u,r           
        contact_groups                  linux    
        register                        0               
        }
define service{
        name                            linux-service
        active_checks_enabled           1
        passive_checks_enabled          1
        parallelize_check               1
        obsess_over_service             1
        check_freshness                 0
        notifications_enabled           1
        event_handler_enabled           1
        flap_detection_enabled          1
        failure_prediction_enabled      1
        process_perf_data               1
        retain_status_information       1
        retain_nonstatus_information    1
        is_volatile                     0
        check_period                    24x7
        max_check_attempts              3
        normal_check_interval           1
        retry_check_interval            2
        contact_groups                  linux
        notification_options            w,u,c,r
        notification_interval           60
        notification_period             24x7
         register                        0
        }
linuxhost.cfg     #定义主机和监控的服务
define host{
        use                     mylinux-server           
        host_name               webserver1
        alias                   webserver1
        address                 192.168.22.241
        }
define hostgroup{
        hostgroup_name  group1 
        alias           Linux group1 
        members         webserver1    
        }
define service{
        use                             linux-service
        host_name                       webserver1
        service_description             check users
        check_command                   check_nrpe!check_users
        }
define service{
        use                             linux-service
        host_name                       webserver1
        service_description             check load
        check_command                   check_nrpe!check_load
        }
define service{
        use                             linux-service
        host_name                       webserver1
        service_description             check zombie proce
        check_command                   check_nrpe!check_zombie_procs
        }
define service{
        use                             linux-service
        host_name                       webserver1
        service_description             check total proce
        check_command                   check_nrpe!check_total_procs
        }
define service{
        use                             linux-service
        host_name                       webserver1
        service_description             check rootdisk
        check_command                   check_nrpe!check_rootdisk
        }
define service{
        use                             linux-service
        host_name                       webserver1
        service_description             check swap
        check_command                   check_nrpe!check_swap
        }
define service{
        use                             linux-service
        host_name                       webserver1
        service_description             check sda1
        check_command                   check_nrpe!check_sda1
        }
define service{
        use                             linux-service
        host_name                       webserver1
        service_description             check sda3
        check_command                   check_nrpe!check_sda3
        }
define service{
        use                             linux-service
        host_name                       webserver1
        service_description             check mysql
        check_command                   check_nrpe!check_mysql
        }



测试service发送短信

被监控端user设置 check_users -w 3 -c 3 现在5人登录,稍后再登出

nagios日志,SERVICE NOTIFICATION: linux;webserver1;check users;CRITICAL;notify-service-by-fetion;USERS CRITICAL - 5 users currently logged in

[1409704648] SERVICE ALERT: webserver1;check users;CRITICAL;SOFT;1;USERS CRITICAL - 4 users currently logged in
[1409704768] SERVICE ALERT: webserver1;check users;CRITICAL;SOFT;2;USERS CRITICAL - 5 users currently logged in
[1409704888] SERVICE ALERT: webserver1;check users;CRITICAL;HARD;3;USERS CRITICAL - 5 users currently logged in
[1409704888] SERVICE NOTIFICATION: linux;webserver1;check users;CRITICAL;notify-service-by-fetion;USERS CRITICAL - 5 users currently logged in
[1409704948] SERVICE ALERT: webserver1;check users;OK;HARD;3;USERS OK - 1 users currently logged in
[1409704948] SERVICE NOTIFICATION: linux;webserver1;check users;OK;notify-service-by-fetion;USERS OK - 1 users currently logged in


测试host发送短信:

把被监控端关机的nagios日志,HOST NOTIFICATION: linux;webserver1;DOWN;notify-host-by-fetion;CRITICAL - Host Unreachable (192.168.22.241)

[1409705298] HOST ALERT: webserver1;DOWN;HARD;10;CRITICAL - Host Unreachable (192.168.22.241)
[1409705298] HOST NOTIFICATION: linux;webserver1;DOWN;notify-host-by-fetion;CRITICAL - Host Unreachable (192.168.22.241)
[1409705307] Warning: Return code of 255 for check of service 'check sda3' on host 'webserver1' was out of bounds.
[1409705307] SERVICE ALERT: webserver1;check sda3;UNKNOWN;HARD;3;(Return code of 255 is out of bounds)
[1409705310] Warning: Return code of 255 for check of service 'check users' on host 'webserver1' was out of bounds.
[1409705310] SERVICE ALERT: webserver1;check users;UNKNOWN;HARD;3;(Return code of 255 is out of bounds)
[1409705313] Warning: Return code of 255 for check of service 'check load' on host 'webserver1' was out of bounds.
[1409705313] SERVICE ALERT: webserver1;check load;UNKNOWN;HARD;3;(Return code of 255 is out of bounds)
[1409705319] SERVICE ALERT: webserver1;check sda1;OK;HARD;3;DISK OK - free space: /boot 158 MB (86% inode=99%):
[1409705331] SERVICE ALERT: webserver1;check swap;OK;HARD;3;DISK OK - free space: / 17097 MB (91% inode=94%): /dev/shm 245 MB (100% inode=99%): /boot 158 MB (86% inode=99%):
[1409705335] SERVICE ALERT: webserver1;check zombie proce;OK;HARD;3;PROCS OK: 0 processes with STATE = Z
[1409705335] HOST ALERT: webserver1;UP;HARD;1;PING OK - Packet loss = 0%, RTA = 0.79 ms
[1409705335] HOST NOTIFICATION: linux;webserver1;UP;notify-host-by-fetion;PING OK - Packet loss = 0%, RTA = 0.79 ms
[1409705338] SERVICE ALERT: webserver1;check rootdisk;OK;HARD;3;DISK OK - free space: / 17097 MB (91% inode=94%):


无图无真相

Nagios配合飞信发短信

Nagios配合飞信发短信

Nagios配合飞信发短信

Nagios配合飞信发短信


推荐阅读
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 本文探讨了如何通过编程手段在Linux系统中禁用硬件预取功能。基于Intel® Core™微架构的应用性能优化需求,文章详细介绍了相关配置方法和代码实现,旨在帮助开发人员有效控制硬件预取行为,提升应用程序的运行效率。 ... [详细]
  • 在 CentOS 6.7 系统维护中,常用的巡检命令包括:`uname -a` 用于查看内核、操作系统和 CPU 信息;`head -n 1 /etc/issue` 用于查看操作系统的版本;`cat /proc/cpuinfo` 用于获取详细的 CPU 信息;`hostname` 用于显示当前主机名;`ls` 命令则用于列出目录内容。这些命令可以帮助系统管理员快速了解系统的运行状态和配置信息,确保系统的稳定性和安全性。 ... [详细]
  • 在Ubuntu上安装MySQL时解决缺少libaio.so.1错误及libaio在MySQL中的重要性分析
    在Ubuntu系统上安装MySQL时,遇到了缺少libaio.so.1的错误。本文详细介绍了如何解决这一问题,并深入探讨了libaio库在MySQL性能优化中的重要作用。对于初学者而言,理解这些依赖关系和配置步骤是成功安装和运行MySQL的关键。通过本文的指导,读者可以顺利解决相关问题,并更好地掌握MySQL在Linux环境下的部署与管理。 ... [详细]
  • 基于Dubbo与Zipkin的微服务调用链路监控解决方案
    本文提出了一种基于Dubbo与Zipkin的微服务调用链路监控解决方案。通过抽象配置层,支持HTTP和Kafka两种数据上报方式,实现了灵活且高效的调用链路追踪。该方案不仅提升了系统的可维护性和扩展性,还为故障排查提供了强大的支持。 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 本文详细解析了使用C++实现的键盘输入记录程序的源代码,该程序在Windows应用程序开发中具有很高的实用价值。键盘记录功能不仅在远程控制软件中广泛应用,还为开发者提供了强大的调试和监控工具。通过具体实例,本文深入探讨了C++键盘记录程序的设计与实现,适合需要相关技术的开发者参考。 ... [详细]
  • 在VS2013中编译FFMPEG时遇到的问题及解决方案
    在使用VS2013编译旧版本FFMPEG库时遇到了一些问题,因为官方并未提供预编译的LIB和DLL文件。由于对Linux环境不熟悉,只能在Windows环境下进行配置和编译。具体步骤如下:首先,下载FFMPEG的源代码;然后,安装必要的编译工具和依赖项;接着,配置Visual Studio 2013的项目设置;最后,解决编译过程中出现的各种错误和警告。通过这些步骤,最终成功编译出所需的FFMPEG库文件。 ... [详细]
  • 本文探讨了利用Python实现高效语音识别技术的方法。通过使用先进的语音处理库和算法,本文详细介绍了如何构建一个准确且高效的语音识别系统。提供的代码示例和实验结果展示了该方法在实际应用中的优越性能。相关文件可从以下链接下载:链接:https://pan.baidu.com/s/1RWNVHuXMQleOrEi5vig_bQ,提取码:p57s。 ... [详细]
  • 在MFC框架中,存在多个全局函数,用于在不同对象间获取信息或创建新对象。其中,`afxGetApp`函数尤为关键,它能够帮助开发者轻松获取当前应用程序的实例指针。本文将详细解析`afxGetApp`函数的内部机制及其在MFC应用程序中的具体应用场景,探讨其在提升代码可维护性和灵活性方面的优势。此外,还将介绍其他常用全局函数如`AfxWinInit()`和`AfxBeginThread()`的功能和使用方法,为开发者提供全面的参考。 ... [详细]
author-avatar
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有