请选择 进入手机版 | 继续访问电脑版

IT运维管理,ITIL,ITSS,ITSM,ISO20000-ITIL先锋论坛

 找回密码
 点击获取邀请码 - 立即注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

艾拓先锋
搜索
查看: 639|回复: 1

[Zabbix专区] 如何设置短信报警--分布式监控系统 Zabbix-3.0.3

[复制链接]
来自- 广东广州

参加活动:0

组织活动:12

发表于 2017-10-21 10:42:26 | 显示全部楼层 |阅读模式 来自- 广东广州
本帖最后由 monicazhang 于 2017-10-21 10:51 编辑

HX~O6)WDBE9QEL]@)3R{~NT.png

关于 zabbix 的邮件、微信报警设置,这些都是手机在有网络时才能收到报警信息,那如果手机没有网的情况下怎么办,这就需要考虑使用短信接口报警了。当服务出现故障达到预警级别是通过发送短信的形式告诉运维人员,以便及时处理。公司的短信接口是从短信服务器购买的,并经过公司开发大神调整后使用的。废话不多赘述,下面直接记录配置过程。

Zabbix 服务端的脚本路径设置
[root@zabbix ~]# cat /data/zabbix/etc/zabbix_server.conf|grep alertscriptsAlertScriptsPath=/data/zabbix/alertscripts短信脚本
下面是开发大神对短信服务器提供的接口进行调试之后给运维部分使用的短信接口
curl -H "Content-type: application/json" -X POST 192.168.1.10:8080/sms/send/batch -d '{  "phones": [    "13611789029",    "12310703369",    "13314466149"  ],  "callOrgCode": "YW1001",  "callOrgName": "运维部门",  "callAppCode": "WANG_OPS",  "key": "R13-G294595Y32M24TAD60JK",  "templateId": 6,  "valueMap": {   "msg": "test001服务器出现问题!请尽快修复!"  }}
可以在命令行里手动执行上面的接口进行发信测试,在目标手机查看是否收到短信。

结合上面的短信接口,zabbix短信报警脚本如下:
[root@zabbix alertscripts]# cat zabbixsend_sms.sh#!/bin/bashexport LANG=en_US.UTF-8PHONE=$(echo $1|sed 's/,/",\n"/g')                         #第一个变量($1)。由于多个号码要换行,并且每行要加双引号,故要做匹配转换设置#Message=$(echo $3|sed 's/:/": "/g'|sed 's/,/",\n"/g')#Message=$(echo $3|sed 's/: /": "/g'|sed 's/,/",\n"/g')Message=$3                                                 #第三个变量curl -H "Content-type: application/json" -X POST 192.168.1.10:8080/sms/send/batch -d """          #公司的短信接口地址,这里采用post方式{  \"phones\": [    \"$PHONE\"  ],  \"callOrgCode\":\"YW1001\",                         \"callOrgName\": \"运维部门\",  \"callAppCode\": \"WANG_OPS\",  \"key\": \"R13-G294595Y32M24TAD60JK\",  \"templateId\": \"6\",  \"valueMap\": {   \"msg\": \"$Message\"  }} """                                         #前后三个引号表示引号里的内容输入什么就是什么,变量参数不会被影响。time=`date '+%F %T'`echo "${time}  ${PHONE} $Message" >> /data/log/sendsms_`date +%Y-%m`.log[root@zabbix alertscripts]# chmod 755 zabbixsend_sms.sh可以先手动执行脚本进行发信测试:$1是发信的手机号码$2是发信的主题,这个一般短信报警信息里不显示,如下测试是"报警测试"。上面脚本中没有配置$2的变量$3是发信的内容。三个变量使用空格隔开[root@zabbix alertscripts]# ./zabbixsend_sms.sh 13633767819 报警测试 backup01服务器宕机了!{"totalCnt":1,"successCnt":1,"failCnt":0,"failPhones":[],"failMsg":null,"msgContent":"backup01服务器宕机了!"}
)}_J%J`[%GKT4)UCHNN62.png

Zabbix 的 web 界面里的报警设置

1)报警媒介类型设置

EJP0~9N8S3V~96W10~`562Q.png

2)用户的报警媒介设置

1XPZ4@HK8`BZ]SWQAL79{VM.png



3)"动作"设置

`PB73{}GM7NVK29G%VX4GB7.png

SNDGH8JVF0B6PK(D5}S7$HS.png
(0%2_3)K`5JHCF(2`G$ND4E.png
V_)KXY`@0G0$`N(9U$Y@LZY.png

上面的报警主题如下,这个其实在短信报警信息中没有体现,随便定义即可。
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
报警内容如下(由于开发那边的调整规则,报警内容换行后就发信失败,所以这里只能讲报警内容放在一行)
告警主机:{HOSTNAME1}, 告警时间:{EVENT.DATE} {EVENT.TIME}, 告警等级:{TRIGGER.SEVERITY}, 告警信息: {TRIGGER.NAME}, 告警项目:{TRIGGER.KEY1}, 问题详情:{ITEM.NAME}:{ITEM.VALUE}, 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}, 事件ID:{EVENT.ID}
手机短信报警截图如下:

()`TN8I98I9]3F32N170QSV.png

发信后,可以查看zabbix的web界面里的"报表"->“动作日志”



作者:散尽浮华


$IT8SO@N7OHY_}5[JE6~`ZN.png

本版积分规则

选择云运维时代的王牌讲师-长河老师,助你轻松入门ITIL Foundation培训课程

QQ|小黑屋|手机版|Archiver|ITIL先锋论坛五万运维人社区 ( 粤ICP备17056641号|网站地图

Baidu

GMT+8, 2018-9-21 02:06 , Processed in 0.207223 second(s), 36 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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