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

简介:

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

一、zabbix服务端的脚本路径设置

1
2
[root@zabbix ~] # cat /data/zabbix/etc/zabbix_server.conf|grep alertscripts
AlertScriptsPath= /data/zabbix/alertscripts

二、短信脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
--------------------------------------------------------------------------------------------------------
下面是开发大神对短信服务器提供的接口进行调试之后给运维部分使用的短信接口
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短信报警脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
[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)"动作"设置

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

1
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

报警内容如下(由于开发那边的调整规则,报警内容换行后就发信失败,所以这里只能讲报警内容放在一行)

1
告警主机:{HOSTNAME1}, 告警时间:{EVENT.DATE} {EVENT.TIME}, 告警等级:{TRIGGER.SEVERITY}, 告警信息: {TRIGGER.NAME}, 告警项目:{TRIGGER.KEY1}, 问题详情:{ITEM.NAME}:{ITEM.VALUE}, 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}, 事件ID:{EVENT.ID}

手机短信报警截图如下:

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

***************当你发现自己的才华撑不起野心时,就请安静下来学习吧***************
本文转自散尽浮华博客园博客,原文链接:http://www.cnblogs.com/kevingrace/p/7400583.html,如需转载请自行联系原作者
相关文章
|
1月前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
135 30
|
3月前
|
存储 运维 安全
盘古分布式存储系统的稳定性实践
本文介绍了阿里云飞天盘古分布式存储系统的稳定性实践。盘古作为阿里云的核心组件,支撑了阿里巴巴集团的众多业务,确保数据高可靠性、系统高可用性和安全生产运维是其关键目标。文章详细探讨了数据不丢不错、系统高可用性的实现方法,以及通过故障演练、自动化发布和健康检查等手段保障生产安全。总结指出,稳定性是一项系统工程,需要持续迭代演进,盘古经过十年以上的线上锤炼,积累了丰富的实践经验。
184 7
|
3月前
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
125 7
|
2月前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
52 0
|
4月前
|
运维 监控 BI
zabbix强大的报警系统
zabbix强大的报警系统
162 8
|
5月前
|
存储 运维 负载均衡
构建高可用性GraphRAG系统:分布式部署与容错机制
【10月更文挑战第28天】作为一名数据科学家和系统架构师,我在构建和维护大规模分布式系统方面有着丰富的经验。最近,我负责了一个基于GraphRAG(Graph Retrieval-Augmented Generation)模型的项目,该模型用于构建一个高可用性的问答系统。在这个过程中,我深刻体会到分布式部署和容错机制的重要性。本文将详细介绍如何在生产环境中构建一个高可用性的GraphRAG系统,包括分布式部署方案、负载均衡、故障检测与恢复机制等方面的内容。
338 4
构建高可用性GraphRAG系统:分布式部署与容错机制
|
4月前
|
机器学习/深度学习 存储 运维
分布式机器学习系统:设计原理、优化策略与实践经验
本文详细探讨了分布式机器学习系统的发展现状与挑战,重点分析了数据并行、模型并行等核心训练范式,以及参数服务器、优化器等关键组件的设计与实现。文章还深入讨论了混合精度训练、梯度累积、ZeRO优化器等高级特性,旨在提供一套全面的技术解决方案,以应对超大规模模型训练中的计算、存储及通信挑战。
244 4
|
5月前
|
机器学习/深度学习 人工智能 分布式计算
【AI系统】分布式通信与 NVLink
进入大模型时代后,AI的核心转向大模型发展,训练这类模型需克服大量GPU资源及长时间的需求。面对单个GPU内存限制,跨多个GPU的分布式训练成为必要,这涉及到分布式通信和NVLink技术的应用。分布式通信允许多个节点协作完成任务,而NVLink则是一种高速、低延迟的通信技术,用于连接GPU或GPU与其它设备,以实现高性能计算。随着大模型的参数、数据规模扩大及算力需求增长,分布式并行策略,如数据并行和模型并行,变得至关重要。这些策略通过将模型或数据分割在多个GPU上处理,提高了训练效率。此外,NVLink和NVSwitch技术的持续演进,为GPU间的高效通信提供了更强的支持,推动了大模型训练的快
130 0
|
6月前
|
消息中间件 中间件 数据库
NServiceBus:打造企业级服务总线的利器——深度解析这一面向消息中间件如何革新分布式应用开发与提升系统可靠性
【10月更文挑战第9天】NServiceBus 是一个面向消息的中间件,专为构建分布式应用程序设计,特别适用于企业级服务总线(ESB)。它通过消息队列实现服务间的解耦,提高系统的可扩展性和容错性。在 .NET 生态中,NServiceBus 提供了强大的功能,支持多种传输方式如 RabbitMQ 和 Azure Service Bus。通过异步消息传递模式,各组件可以独立运作,即使某部分出现故障也不会影响整体系统。 示例代码展示了如何使用 NServiceBus 发送和接收消息,简化了系统的设计和维护。
126 3
|
6月前
|
存储 开发框架 .NET
C#语言如何搭建分布式文件存储系统
C#语言如何搭建分布式文件存储系统
142 2

推荐镜像

更多
下一篇
oss创建bucket