首页 > 其他分享 >零成本实现Zabbix语音告警

零成本实现Zabbix语音告警

时间:2023-08-04 15:03:13浏览次数:21  
标签:脚本 bat Zabbix zabbix 语音 告警

一、场景模拟

国内某知名大型证券企业A公司,在使用开源Zabbix监控平台时发现Zabbix只能依据告警级别产生相应的声音通知,却无法对告警信息进行语音播报。为此,运维同事小东自告奋勇为公司打造了一套“零成本的最简单的Zabbix语音告警”方案,实现与Zabbix的告警对接,为公司省下10W+的运维费用。

二、实现原理

1、软硬件准备

1)一台带有声音的window操作系统的电脑,作为大屏展示Zabbix系统告警的工具

2)一个zabbix_agent安装包

3)一个bat脚本(调用window系统自带的语音助手内置工具)

4)Bat_To_Exe_Converter.exe。把bat脚本转换成exe的工具。这个工具主要是为了解决bat脚本调用时会有弹窗的问题(即使网上有命令可以把bat脚本放置后台执行,但是还是调用bat还是会有一瞬间窗口闪过,所以需要通过该软件把脚本放到后台运行)

2、实现原理

1)语音播放bat,读取zabbix_server推送过来的告警标题,调用系统内置的语音助手,然后该bat参数接收一个参数为zabbix_server产生告警时,传过来的告警标题。

2)把该语音告警播放bat脚本加到window的计划任务中。注意:zabbix_agent的键值有些命令无法调用,这种情况可以考虑使用把脚本加入到计划任务,然后agent自定义键值调用对应的计划任务。具体原因可能时window操作系统的一些安全限制导致,可能把某些操作会被拦截

3)安装zabbix_agent。自定义一个键值命令,来调用window的语音告警播放的计划任务,用来把接收到的告警语音播放。

4)配置告警动作,zabbix_server产生告警时,执行客户端的命令具体为,zabbix_get -s  客户端的ip -k ‘语音告警的键值’。这样的话,就可以实现告警产生后,调用大屏展示告警的那台window的计划任务,然后由计划任务把接受到的告警标题语音播放出来。

注意:一般传提告警标题参数即可,很多告警标题都判断出具体告警,简洁明了

三、实验过程

1、准备bat脚本(33.bat为语音播放bat脚本)

脚本内容如下:

零成本实现Zabbix语音告警_zabbix

@echo off

for /f %%i in (‘type “G:\alert_mess.txt”‘) do (

  set “alert_mess=%%i”

)

脚本说明:上面命令是必须,G:\alert_mess.txt是每次告警产生后,临时存放告警标题的文件,具体路径可以自定义,这个文件之所以存在,是因为计划任务用cmd调用时无法传入参数,因此为了灵活调用。后续zabbix产生告警时,会做两个操作,第一个就是把告警标题存放到G:\alert_mess.txt这个目录,然后再调用上面的bat脚本,获取文本中的告警标题,进行语音播放,播放完毕后,清空alert_mess.txt的内容,等待下次告警的新内容。

mshta vbscript:createobject(“sapi.spvoice”).speak(%alert_mess%)(window.close)   

脚本说明:上面命令时调用window自带的语音助手,用于语音播报。alert_mess的内容就是告警标题的内容,接收到的告警标题是什么,语音播报就会播放什么

2、把上面的bat脚本转换成exe工具

打开软件

零成本实现Zabbix语音告警_zabbix告警_02

注意:如果上面转换不成功,可能会是系统自带或者杀毒软件拦截,可临时关闭进行转换


零成本实现Zabbix语音告警_zabbix_03

3、添加计划任务

快捷键,win+r,输入taskschd.msc打开计划任务

零成本实现Zabbix语音告警_zabbix_04

零成本实现Zabbix语音告警_zabbix_05

零成本实现Zabbix语音告警_zabbix语音告警_06

零成本实现Zabbix语音告警_zabbix_07

零成本实现Zabbix语音告警_zabbix告警_08

零成本实现Zabbix语音告警_zabbix告警_09

零成本实现Zabbix语音告警_zabbix告警_10

开启agent的远程调用参数。Agent版本如果是3.X或者4.X,开启远程配置参数命令是EnbaleRemoteCommands=1。这个参数开启后,用于接收Zabbix产生的告警标题。

零成本实现Zabbix语音告警_zabbix告警_11

5、配置Zabbix的告警动作和脚本

注意,下面我配置的环境是基于Zabbix6.0的,如果是Zabbix3-5版本配置可能存在差异。

零成本实现Zabbix语音告警_zabbix_12

添加下面的命令

/itops/zabbix/bin/zabbix_get -s 192.168.74.1 -k ‘system.run[echo “[产生告警]{HOST.IP}的{TRIGGER.NAME}”>G:\alert_mess.txt]’

注意:这个文件的路径要和33.exe读取的文件路径一致

/itops/zabbix/bin/zabbix_get -s 192.168.74.1 -k ‘run’

注意:这个键值要和自定义键值一致

零成本实现Zabbix语音告警_zabbix语音告警_13

添加恢复告警,主要是为了语音告警时,区别告警产生还是恢复

产生告警

零成本实现Zabbix语音告警_zabbix告警_14

恢复告警

零成本实现Zabbix语音告警_zabbix_15

零成本实现Zabbix语音告警_zabbix语音告警_16

零成本实现Zabbix语音告警_zabbix语音告警_17

四、验证成果

零成本实现Zabbix语音告警_zabbix语音告警_18

语音播放视频效果可通过下面链接查看,语音播报大概在37-44s。其他是触发器尚未更新

链接:https://pan.baidu.com/s/1gd87dc02XtrfdUuW8KzyHw

提取码:26pt

五、补充

上面的脚本可以调整语速和音量,还有可以自行替换语音包。

以上就是这一期的Zabbix运维知识分享。大家好,我是乐乐,专注运维技术研究与分享,关注我学习Zabbix等使用技巧。


标签:脚本,bat,Zabbix,zabbix,语音,告警
From: https://blog.51cto.com/lwops/6962683

相关文章

  • 一种新的告警收敛方式“先知预警”,为您的系统健康护航 | 京东云技术团队
    前言简介买基金,上京东基金交易系统是用户使用京东金融APP进行基金交易的核心支撑系统,每天有数十亿元的交易额。在大额的交易面前,系统的稳定性尤其重要,同时基金业务比较复杂,为保障每个地方的稳定,告警埋点很多,加上各种日终检查,看似很完美,实际却有了新的问题,因告警太多,日检滞后,而无法......
  • 一种新的告警收敛方式“先知预警”,为您的系统健康护航
    前言简介买基金,上京东基金交易系统是用户使用京东金融APP进行基金交易的核心支撑系统,每天有数十亿元的交易额。在大额的交易面前,系统的稳定性尤其重要,同时基金业务比较复杂,为保障每个地方的稳定,告警埋点很多,加上各种日终检查,看似很完美,实际却有了新的问题,因告警太多,日检滞后,......
  • Android学习笔记(三十):弹出信息-Toast和告警
    Android提供两个常用的消息弹出框,Toast和Alert。ToastToast是一种短暂的提示框,并不需要用户交互,也不会将focus移过来,因此可以适合大多数的场景,向用户进行信息提示。在之前的学习中,已经多次使用到Toast了。创建一个Toast很简单,使用静态方法makeText(Contextcontext,CharSequencet......
  • 控制台出现lockdown-install.js文件报Removing intrinsics.问题告警
    查的原因是:警告来自MetaMaskChrome扩展。解决方法:关闭MetaMask扩展程序。参考资料:https://www.jdk5.com/ask/282/what-is-causing-the-warning-removing-intrinsics-arrayprototype-toreversed-in......
  • ASR 语音唤醒
    what语音唤醒,即关键词检索(keywordspotting)用语音唤醒设备,让设备由休眠状态切换至工作状态。How持续监听,匹配到唤醒词和声纹后,将应用切换到工作状态。一些实现百度语音唤醒snowboywekws......
  • 4G无线断电断网监测网关可远程告警
    RTU5028E网络故障监测终端是一款功能强大且方便实用的设备,集合了断网、断电、网线故障报警功能。它支持同时监测多达7台网络设备,可以帮助用户快速定位远程网络设备离线的原因。此外,它还具备自动重启和远程重启网络设备的功能,为用户提供了更加便捷的操作方式。一、断网报警功能RTU50......
  • 【今晚7点半】:GVoice 千万在线语音传输的那些事
     GVoice本期主题GVoice,它为腾讯旗下的主流游戏提供低延迟语音通话服务,其特点是高并发、覆盖全球。本次分享的嘉宾许路平是GVoice后台负责人,他会详细介绍游戏业务的特点,以及GVoice针对性的架构与协议的设计原则和方法,高可用保障与成本控制,重点性能突破和未来展望等。讲师信息:许路......
  • 直击运维痛点,大数据计算引擎 EasyMR 的监控告警设计优化之路
    当企业的业务发展到一定的阶段时,在系统中引入监控告警系统来对系统/业务进行监控是必备的流程。没有监控或者没有一个好的监控,会导致开发人员无法快速判断系统是否健康;告警的实质则是“把人当服务用”,用告警通知人的方式去干预系统达到修正的目的。监控告警在企业保障系统的稳定性......
  • 添加zabbix信息,导致zabbix_server无法启动
    1.添加过多的设备,导致zabbix_server假死 zabbixserverisnotrunning,theinformationdisplayedmaynotbecurrent. 2.查看zabbix日志发现/tmp/zabbix_server.log oom了。 三、问题解决1.根据报错中的如下条目,确认为CacheSize参数配置有问题导致9655:20220726......
  • zabbix6.4 邮件告警配置
    1、注意事项QQ邮箱不支持zabbix6以上邮件配置,报拒绝登录建议使用163.com网易邮箱地址2、添加媒介创建媒介类型->  3、添加用户一般情况下,无需创建用户,编辑admin即可报警媒介添加  4、添加动作添加触发器动作->创建动作->添加操作 4.1 、操作一......