熱門搜索 Zabbix技術資料 Zabbix常見問、答討論 成功案例 Zabbix交流區 Prometheus交流區
國內某知名大型企業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的計劃任務,然后由計劃任務把接受到的告警標題語音播放出來。
注意:一般傳提告警標題參數即可,很多告警標題都判斷出具體告警,簡潔明了
腳本內容如下:
@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的內容就是告警標題的內容,接收到的告警標題是什么,語音播報就會播放什么
打開軟件
注意:如果上面轉換不成功,可能會是系統自帶或者殺毒軟件攔截,可臨時關閉進行轉換
快捷鍵,win+r,輸入taskschd.msc打開計劃任務
開啟agent的遠程調用參數。Agent版本如果是3.X或者4.X,開啟遠程配置參數命令是EnbaleRemoteCommands=1。這個參數開啟后,用于接收zabbix產生的告警標題。
注意,下面我配置的環境是基于zabbix6.0的,如果是zabbix3-5版本配置可能存在差異。
添加下面的命令
/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’
注意:這個鍵值要和自定義鍵值一致
添加恢復告警,主要是為了語音告警時,區別告警產生還是恢復
產生告警
恢復告警
語音播放視頻效果可通過下面鏈接查看,語音播報大概在37-44s。其他是觸發器尚未更新
鏈接:http://pan.baidu.com/s/1gd87dc02XtrfdUuW8KzyHw
提取碼:26pt
上面的腳本可以調整語速和音量,還有可以自行替換語音包。
以上就是這一期的zabbix運維知識分享。大家好,我是樂樂,專注運維技術研究與分享,關注我學習zabbix等使用技巧,更多運維問題還可以到尊龍時凱社區留言提問哦~
該企業預采購一套高效穩定的運維監控平臺,用于排除一系列運維障礙。于是客戶找到了尊龍時凱,希望我們幫助其打造一套專業的解決方案。
View details尊龍時凱監控實現對城建學院復雜網絡環境的直觀、透明式展示和管理,實時、準確了解整個網絡的動態運行情況,給信息部門的決策提供依據。
View details