温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

nagios短信监控

发布时间:2020-03-21 16:03:22 来源:网络 阅读:660 作者:654wangzai321 栏目:移动开发

首先编写messages.sh

如果是yum安装的nagios,cd /usr/lib64/nagios/plugins/

编译安装的话,就cd /usr/local/nagios/libexec

内容如下:

#! /bin/bash


LOGFILE="/usr/local/nagios/var/sms_send_.log"  #定义发送短信的日志信息 文件

:>>"$LOGFILE"

exec 1>>"$LOGFILE"

exec 2>&1


#Uid="luyuanz"    #接口的用户名,这个使用接口时对方会提供,我这里的test是随意写的

#Key="Tcl123456"  #接口的用户名,这个使用接口时对方会提供,我这里的test是随意写的


MOBILE_NUMBER=$1 # 接受短信的手机号码

CURL="/usr/bin/curl"

TIMEOUT=5

MESSAGE_ENCODE=$(echo $(/usr/local/php/bin/php -r "echo urlencode(\"$2\");"; ) )  #这里的$2是nagios发送短信的第二个变量,即发送的内容

#URL="http://192.168.1.252:8083/common/SendSM/?userCode=${Uid}&userPass=${Key}&DesNo=${MOBILE_NUMBER}&Msg=${MESSAGE_ENCODE}&Channel=0"

#我这里的URL是胡乱写的,我不可能暴漏自己公司的接口哈,但是格式大体是这样的,到时候接口方会提供URL的格式的,你可以问你们自己公司负责短信接口的(这边是需要用户名和密码)

# Send it 

URL="http://192.168.1.252:8083/common/send?mobile=${MOBILE_NUMBER}&content=${MESSAGE_ENCODE}"

set -x 

DATE=`date +%T" "%F`

echo $DATE

${CURL} -s --connect-timeout ${TIMEOUT} "${URL}"

#/usr/bin/curl  "${URL}"


最后可以通过检测 bash messages.sh "186********" "内容",如果没收到信息,查看sms_send_.log日志。


然后在/usr/local/nagios/etc/objects/commands.cfg添加一下内容

define command {
       command_name notify-host-by-sms
       command_line messages.sh $CONTACTPAGER$ "$HOSTNAME$ $HOSTSTATE$ $SHORTDATETIME$"
       }

define command {
       command_name notify-service-by-sms
       command_line messages.sh $CONTACTPAGER$ "$SERVICESTATE$ $SERVICEOUTPUT$ $HOSTALIAS$/$SERVICEDESC$ $SHORTDATETIME$"
       }


接着编写vim /usr/local/nagios/etc/objects/contacts.cfg

添加内容如下:

define contact{

        contact_name                    quotaadmin              

        use                          generic-contact         

        alias                         Nagios Admin            

        email                         wangzai@****.cn

        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-email,notify-service-by-sms 

        host_notification_commands      notify-host-by-email,notify-host-by-sms   

        pager 186******** (多个用逗号相隔)

        }


define contactgroup{

        contactgroup_name       quotaadmins

        alias                   web Administrators

        members                 quotaadmin

        }

最后重启service nagios restart

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI