分布式监控系统Zabbix-3.0.3--短信报警设置
时间:2022-04-23
本文章向大家介绍分布式监控系统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的web界面里的报警设置
1)报警媒介类型设置
2)用户的报警媒介设置
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的web界面里的"报表"->“动作日志”
- vue获取DOM元素并设置属性
- koa2入门学习
- 记一个node实现的图形验证码从0到1
- FHQ Treap小结(神级数据结构!)
- vuex在页面中以对象展开运算符形式引入报错解决
- 手机网页调用相机拍照或者图库
- P1903 【模板】分块/带修改莫队(数颜色)
- 前端如何获取http状态码400的返回值
- 不确定行数的多行文本垂直水平居中的css
- Vue slot简单理解
- css实现图片横向排列滚动
- windows下nvm安装node之后npm命令找不到问题解决办法
- 元素加了position:absolute则该元素的text-align:center居中失效的解决办法
- Chrome设置断点的各种姿势
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- mysqlbinlog命令详解 Part 5 通过位置和时间查看日志
- mysqlbinlog命令详解 Part 6 读取远程MySQL服务器日志
- mysqlbinlog命令详解 Part 7 备份二进制日志文件
- mysqlbinlog命令详解 Part 8 指定 Server ID
- mysqlbinlog命令详解 Part 9 MySQL备份策略
- mysqlbinlog命令详解 Part 10 恢复MySQL
- mysqldump命令详解 Part 2- 建立触发器 事件
- mysqlbinlog命令详解 Part 11 其他的一些参数
- mysqldump命令详解 Part 1 -MySQL测试数据的构造
- mysqldump命令详解 Part 3- 备份全库
- mysqldump命令详解 Part 4-备份单表
- mysqldump命令详解 Part 5-按条件备份表数据
- mysqldump命令详解 Part 6-导出事件,函数和存储过程
- StampedLock知识点梳理
- ReentrantReadWriteLock知识点梳理