残缺极品 发表于 2018-1-2 07:58:03

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.定义操作

  最后就是触发一下报警进行测试,需要注意的是短信通道一般不能频繁发送短信,大家测试的时候注意发送频率!
页: [1]
查看完整版本: Zabbix实现短信报警设置(实战)