【语音告警】Zabbix语音播报-报警媒介部分配置-语音报警灯|声光报警器|网络信号灯

阅读说明

本文为博灵语音通知终端与Zabbix报警媒介的配置,对接完成后可以实现Zabbix的声光语音告警,播报效果可以参考
Modbus-博灵语音通知终端与PLC联动告警介绍

对接前需配置好通知终端的IP地址,设备参数参见

其他完整的Zabbix语音播报报警联动参见博文,Zabbix与声光报警灯语音告警语音播报

设备参数

博灵语音通知终端产品参数

旧方案联动无法在Zabbix容器工作下的原因

原始文章的方案中,给Zabbix内置了一个告警程序,当发生告警时执行该脚本,实现与博灵语音通知终端联动的效果。
由于很多场景下使用了容器化安装Zabbix,导致脚本在容器中无法运行。
原因在于Zabbix使用了Alpine Linux发行版,该发行版基于musl库,而告警py脚本打包的可执行文件是依赖于glibc库的,通过ldd命令可以发现缺少很多符号依赖,所以无法执行,故采用新方案对接。

新方案

使用Zabbix报警媒介中的Webhook,并编写JavaScript

  1. 添加报警媒介,配置如下
    Zabbix报警媒介
    脚本内容如下
try {Zabbix.Log(4, 'Webhook script value='+value);params = JSON.parse(value),// 修改Key为报警灯的Keykey = "1qaz2wsx"sign_time = parseInt(new Date().valueOf() / 1000)// 这里为博灵通知终端自定义Api的参数,// 可以参考https://www.eyegroup.cc/a4_help/md_doc/common_api.htmlsign_data = {"led_style":15,  "color":"[\"#ff00ff\"]", "led_flag":"[0.03,1]",  "play_time":0,"text":params.msg,"tone":"000"};sign_data['token'] = keysign_data['time'] = sign_timekeys = Object.keys(sign_data);keys.sort();sign_temp = '';for (var i in keys){if(keys[i] == 'sign') continue;if(keys[i] == 'time'){sign_temp += 'time' + sign_time;continue;}sign_temp += keys[i] + sign_data[keys[i]];}Zabbix.Log(4, 'raw str=' + sign_temp);Zabbix.Log(4, 'sign str=' + md5(sign_temp));sign_data['sign'] = md5(sign_temp);delete sign_data['token']req = new CurlHttpRequest(),req.AddHeader('Content-Type: application/x-www-form-urlencoded');resp = {};// 构造urlencode字符串,构造www-form-urlencoded bodykeys = Object.keys(sign_data);keys.sort();raw_data = ""for(var i in keys){raw_data += keys[i] + "=" + encodeURIComponent(sign_data[keys[i]]) + "&"}raw_data = raw_data.substring(0, raw_data.length - 1)Zabbix.Log(4, "raw data: " + raw_data)resp = req.Post("http://" + params.url+ "/api/api/send_msg",raw_data);if (req.Status() != 200) {throw 'Response code: '+req.Status();}Zabbix.Log(4, resp)} catch (error) {Zabbix.Log(4, 'Issue creation failed : '+error);}return 'OK';
  1. 之后选择Message Template选项卡(消息模板),点击添加,添加一个模板填写对应内容,本文填写的内容如下。消息模板是通知使用的模板,本文配置中,我们只播报消息模板中消息中内容,也就是刚刚参数中的{ALERT.MESSAGE}
    其中的{HOST.NAME}等为宏变量。关于宏变量说明,请参考Zabbix宏变量相关文档。
    在这里插入图片描述
  2. 保存后,可以进行测试,url改为通知终端报警灯实际的IP地址
    博灵语音通知终端Zabbix对接
  3. 测试完成后,点开Open Log可以查看日志
    在这里插入图片描述
  4. 此时报警灯将会收到一个测试信息
    博灵语音通知终端播报日志
  5. 测试通过后,报警媒介配置完成,其他完整的Zabbix语音播报报警联动参见,Zabbix与声光报警灯语音告警语音播报

补充说明

提供的代码中,sign_data的值可以根据需求自行修改,参数详见设备的说明书,可以修改报警灯样式、语音速度、音色等多种功能。
本方案仅使用了常规Api,其中的脚本内置签名计算逻辑,可以参考。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/342932.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AMPL下载安装于基本使用

1 注册安装 先去AMPL官网用邮箱注册 注册后按照提示下载社区版,社区版中,各种求解器都有30天的免费试用权限。下载安装包的时候,如果觉得太慢,可以将下载链接复制到迅雷,迅雷下载起来快很多。 2 新建文件并运行 安…

史上最全,呕心沥血总结oracle推进SCN方法(五)

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG数据库运维(如安装迁移,性能优化、故障应急处理等) 公众号:老苏畅谈运维 欢迎关注本人公众号,更多精彩与您分享。前面介…

【大事件】docker可能无法使用了

今天本想继续学习docker的命令,突然发现官方网站的文档页面打不开了。 难道是被墙了? 我用同事的翻了一下,能进,果然! 正好手头的工作告一段落,将代码上传,然后通过jenkins将服务器自动部署到…

基于pytorch的车牌识别

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、导入数据 from torchvision.transforms import transforms from torch.utils.data import DataLoader from torchvision import datase…

RocketMQ可视化界面安装

RocketMQ可视化界面安装 **起因:**访问rocketmq-externals项目的git地址,下载了源码,在目录中并没有找到rocketmq-console文件夹。 git下面文档提示rocketMQ的仪表板转移到了新的项目中,点击仪表板到新项目地址; 下载…

计算机视觉与模式识别实验2-2 SIFT特征提取与匹配

文章目录 🧡🧡实验流程🧡🧡SIFT算法原理总结:实现SIFT特征检测和匹配通过RANSAC 实现图片拼接更换其他图片再次测试效果(依次进行SIFT特征提取、RANSAC 拼接) 🧡🧡全部代…

ROG CETRA II 降临2代RGB版 使用体验!

现在Type-C接口的设备越来越多,不仅是台式机开始普及,像NUC、笔记本、Switch、安卓手机等也都是Type-C接口了,所以游戏耳机方面也开始迭代。Type-C还有一个好处就是供电足以撑起降噪处理和RGB灯效,你懂的。今天跟大家分享的就是RO…

CentOS 7~9 救援模式恢复root密码实战指南

在管理Linux服务器时,忘记root密码是一件棘手的事情,但幸运的是,CentOS提供了救援模式来帮助我们重置root密码。本文将详细介绍如何通过GRUB引导菜单进入紧急模式(或称为救援模式),进而恢复root用户的密码。…

【ArcGISProSDK】 读取多面体信息并导出XML

结果展示 代码 using ArcGIS.Core.CIM; using ArcGIS.Core.Data; using ArcGIS.Core.Data.DDL; using ArcGIS.Core.Geometry; using ArcGIS.Core.Internal.CIM; using ArcGIS.Desktop.Catalog; using ArcGIS.Desktop.Core; using ArcGIS.Desktop.Editing; using ArcGIS.Deskto…

StableDiffusion简单使用教程

以下是一个简单的Stable Diffusion使用教程 一:准备工作 1. 安装所需软件:下载并安装 Stable Diffusion 相关程序。 2. 配置硬件:建议具备一定性能的显卡,以确保流畅运行。 二、启动软件 1. 打开 Stable Diffusion 应用程序。…

tomcat服务器之maxHttpHeaderSize

背景:在OA流程表单中,填写了200条数据,一提交,秒报400错误,且请求没有打到后端中(无报错日志),一开始以为是谷歌浏览器的问题,可百度上关于这个错误的解决方案都是清除缓…

用ConcurrentHashMap+锁 优化synchronized方法

1、问题发现 虽说,synchronized 关键字万能的,在并发上去之后,这个插入就显得很慢了。仔细观察发现,其实锁的粒度还是再细点,可以根据AlarmRules对象的ID来锁。 2、解决过程 很明显synchronized(rules) 这个写法是有问…

问题:棕色试剂瓶用于盛装见光易分解的试剂或溶剂。 #其他#学习方法#微信

问题:棕色试剂瓶用于盛装见光易分解的试剂或溶剂。 A、正确 B、错误 参考答案如图所示

Flutter基础 -- Flutter常用组件

目录 1. 文本组件 Text 1.1 基础用法 1.2 Text 定义 1.3 Text 示例 1.4 Text.rich、RichText 、TextSpan 1.5 RichText 示例 2. 导入资源 2.1 加入资源 2.2 加入图片 3. 图片组件 image 3.1 colorBlendMode 混合参数 3.2 fit 图片大小适配 3.3 ImageProvider 图片…

(CVPRW,2024)可学习的提示:遥感领域小样本语义分割

文章目录 相关资料摘要引言方法训练基础类别新类别推理 相关资料 论文:Learnable Prompt for Few-Shot Semantic Segmentation in Remote Sensing Domain 代码:https://github.com/SteveImmanuel/OEM-Few-Shot-Learnable-Prompt 摘要 小样本分割是一项…

开源低代码平台技术为数字化转型赋能!

实现数字化转型升级是很多企业未来的发展趋势,也是企业获得更多发展商机的途径。如何进行数字化转型?如何实现流程化办公?这些都是摆在客户面前的实际问题,借助于开源低代码平台技术的优势特点,可以轻松助力企业降低开…

落地护眼台灯有什么作用?性能卓越的五款大路灯分享

近期,我频繁收到来自粉丝朋友的热切问题,询问落地护眼台灯有什么作用?落地护眼台灯哪个牌子好的问题。随着人们的护眼意识更强,了解到了光线对台灯的影响,纷纷都用起落地护眼台灯来,护眼落地灯能够通过技术…

vue3+elementPlus实现Radio单选切换显示不同内容

el-radio-group 组件方法&#xff1a; <template><el-radio-group v-model"radio"><el-radio :value"0">阶梯达标</el-radio><el-radio :value"1">限时达标</el-radio></el-radio-group> </templ…

Mixly UDP局域网收发数据

一、开发环境 软件&#xff1a;Mixly 2.0在线版 硬件&#xff1a;ESP32-C3&#xff08;立创实战派&#xff09; 固件&#xff1a;ESP32C3 Generic(UART) 测试工具&#xff1a;NetAssist V5.0.1 二、实现功能 ESP32作为wifi sta连接到路由器&#xff0c;连接成功之后将路由器…

SPRM6-A-0B3、SPRM10-A-1C3三位四通比例方向阀放大器

SPRM6-A-0C3、SPRM6-A-0C1、SPRM6-A-0C10、SPRM6-A-0C30、SPRM6-A-0B1、SPRM6-A-0B3、SPRM10-A-1C1、SPRM10-A-1C3、SPRM10-A-1C10、SPRM10-A-1C30、SPRM10-A-1B1、SPRM10-A-1B3直动式操作比例换向阀:安装连接尺寸符合IS04401;用于液压执行器的方向与速度控制:带螺纹安装比例电…