Bootstrap

Zabbix实现短信报警设置(实战)

配置环境:

zabbix 2.2.15

1.配置示警媒介类型

此文件所在位置:/usr/lib/zabbix/alertscripts/

必须拥有执行权限,并且改变所属用户和组

要修改此脚本的路径,需修改zabbix_server.conf

AlertScriptsPath=/usr/lib/zabbix/alertscripts

脚本内容:

#!/bin/bash
#
# Filename: sendSMS.sh
# Revision: 1.0
# Date: 2016/12/13
# Author: wang
# Email:
# Description: zabbix短信告警脚本
# Notes: 短信网关使用了中国网建SMS短信通
#

# 脚本的日志文件
LOGFILE="/tmp/SMS.log"
:>"$LOGFILE"
exec 1>"$LOGFILE"
exec 2>&1

# Uid和Key的值需要自行修改,http://www.smschinese.cn/api.shtml
# Uid 网站用户名
# Key 接口秘钥
Uid="xxxxxx"
Key="xxxxxx"

MOBILE_NUMBER=$1 # 手机号码
MESSAGE_UTF8=$3 # 短信内容
XXD="/usr/bin/xxd"
CURL="/usr/bin/curl"
TIMEOUT=5

# 短信内容要经过URL编码处理,除了下面这种方法,也可以用curl的--data-urlencode选项实现。
MESSAGE_ENCODE=$(echo "$MESSAGE_UTF8" | ${XXD} -ps | sed 's/\(..\)/%\1/g' | tr -d '\n')
# SMS API
URL="http://utf8.sms.webchinese.cn/?Uid=${Uid}&Key=${Key}&smsMob=${MOBILE_NUMBER}&smsText=${MESSAGE_ENCODE}"
# Send it
set -x
${CURL} -s --connect-timeout ${TIMEOUT} "${URL}"

 把链接替换成自己的就可以了,测试中curl不太好用,可以用elinks代替!

2.然后是创建用户

 

3.其次是配置告警动作

  1、选择系统配置----》动作----》Create action 创建动作

  2、配置操作名称和报警邮件内容

主题:{TRIGGER.STATUS}: {TRIGGER.NAME}
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
状态: {TRIGGER.STATUS}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警信息: {TRIGGER.NAME}
告警等级: {TRIGGER.SEVERITY}
Trigger URL: {TRIGGER.URL}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
事件ID: {EVENT.ID}

  3.根据自己的需求设置条件

  4.定义操作

最后就是触发一下报警进行测试,需要注意的是短信通道一般不能频繁发送短信,大家测试的时候注意发送频率!

转载于:https://www.cnblogs.com/webforward/p/6170112.html

;