分布式监控系统 Zabbix-3.0.3--短信报警设置

Posted 51reboot运维开发

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式监控系统 Zabbix-3.0.3--短信报警设置相关的知识,希望对你有一定的参考价值。


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


Zabbix 服务端的脚本路径设置

[root@zabbix ~]# cat /data/zabbix/etc/zabbix_server.conf|grep alertscripts AlertScriptsPath=/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/bash export LANG=en_US.UTF-8 PHONE=$(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服务器宕机了!"}


分布式监控系统 Zabbix-3.0.3--短信报警设置


Zabbix 的 web 界面里的报警设置


1)报警媒介类型设置


分布式监控系统 Zabbix-3.0.3--短信报警设置


2)用户的报警媒介设置


分布式监控系统 Zabbix-3.0.3--短信报警设置


分布式监控系统 Zabbix-3.0.3--短信报警设置


3)"动作"设置


分布式监控系统 Zabbix-3.0.3--短信报警设置


分布式监控系统 Zabbix-3.0.3--短信报警设置

分布式监控系统 Zabbix-3.0.3--短信报警设置

分布式监控系统 Zabbix-3.0.3--短信报警设置


上面的报警主题如下,这个其实在短信报警信息中没有体现,随便定义即可

故障{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}

手机短信报警截图如下:


分布式监控系统 Zabbix-3.0.3--短信报警设置


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




原文链接:http://www.cnblogs.com/kevingrace/p/7400583.html




运维自动化班 6 期报名开始


课程概述:


理论结合实战,使学员既可掌握快速从零构建一套实用、完整、可扩展的运维自动化平台。


1


深度结合使用流行的 Zabbix、Ansible、Git、Docker、Rancher、ELK 等开源框架与工具, 以为应用最广泛的 Django 框架为基础,构建一站式运维自动化平台。


2


通过深度剖析与二次开发定制,结合 REST API、运维流程化、运维可视化、运维平台化 思想来构造企业级的运维自动化解决方案。


3


在老师带领下大战 Zabbix、CMDB、集群自动化部署上线、ELK 日志大数据分析、Docker 容器管理平台等多个最新实战,天天实战,招招实用。


上课模式:网络直播班    线下面授班


咨询报名联系:

QQ(1):979950755    小月   

QQ(2):279312229    ada   

WeChat : 1902433859   小月

WeChat : 1251743084   小单


开课时间12月10日(周日)


课程大纲http://51reboot.com/course/devops/

(阅读原文,即可跳转)


以上是关于分布式监控系统 Zabbix-3.0.3--短信报警设置的主要内容,如果未能解决你的问题,请参考以下文章

分布式监控系统Zabbix-3.0.3-完整安装记录-解决zabbix监控图中出现中文乱码问题

分布式监控系统Zabbix-3.0.3-添加windows监控主机

分布式监控系统Zabbix-3.0.3-完整安装记录-邮件报警部署

分布式监控系统Zabbix-3.0.3-完整安装记录 -添加进程与端口监控

分布式监控系统Zabbix-3.0.3-完整安装记录 -添加apache监控

分布式监控系统Zabbix-3.0.3-完整安装记录