今天要介紹的 Telegram 原理是採用 Webhook ,我們已經有 LINE 有群組通知了,Telegram 是正在打算製作互動式機器人,不過其實原理是一樣的,所以也來一篇 Zabbix 用 Telegram 通知。
官方資料:
https://www.zabbix.com/integrations/telegram
真正要自己實作研究後,發現官方的文件寫的好仔細 XD,我以我們就開始照他的實作吧~
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/media/telegram?at=refs%2Ftags%2F5.0.15
- 設定 Telegram
- 在 Zabbix Server 上設定 Webhook
- 在管理介面上,新增 media
- 將 聊天室ID 綁定在 一位使用者上
- 將 Telegram 通知功能與觸發問題連線
現在開始設定 Telegram 設定的詳細步驟
首先 跟LINE取的權杖一樣 要拿到 Token ,但做法就有點不一樣,繼續往下看吧
第一步請加入 @BotFather 機器人,跟加入好友一樣的方式,請認明大頭貼與帳號,以免受騙。
輸入 /newbot 跟他說你要建機器人
然後輸入你想要的機器人名字,記得結為要是 bot (截圖 有相關的測試)
成功後會獲得 Token
取得 Token 以後 要取得傳到哪個聊天室的 ID
第二步請加入 @myidbot 機器人,請他跟你說 聊天室 ID
將 @myidbot 、 @Zabbix20210915bot (剛透過 @BotFather建的機器人) 加入到 想要傳送通知的聊天室。
輸入 /getgroupid 就會取得 聊天室 ID
需要的資料就告一段落了。
詳細API 文件 https://core.telegram.org/api
(使用完可以把 IDBot 退出群組,避免被收集資料)
再來在 Zabbix Server 上設定 Webhook 了,在 5.0 版本很剛好 Media 內建 Telegram 樣板,所以我們只需要設定上就好了~ 開心 (4.0 沒有這樣的預設)
需要調整的參數:
ParseMode(支援 Markdown / HTML / MarkdownV2): 這邊選擇 Markdown
Token:在 @BotFather 機器人 視窗可以找到,這是範例不是我的唷
填入下面表格
送出就設定好了~
測試~ To 改成 聊天室ID -> 送出
成功測試
將 機器人 Token 綁定在 一位使用者上
接下來要到 Administration → Users
選擇需要 通知的使用者(我是都偷懶 Administrator ) → 選擇 Media 分頁 → Media Add
Type: Telegram
Send to : 貼上 聊天室ID
記得Add完要 Update 不然會沒有存到喔
將 Telegram 通知功能與觸發問題連線 (如果 Mail or LINE 有設定過,這可以跳過)
到 Configuration → Actions
因為我是設定Admin 所以將 Report problems to Zabbix administrators → Enabled
若是使用其他帳號在clone Report problems to Zabbix administrators 進行設定即可。
完成後就大功告成~
圖為製造發生問題時的通知
一同時發送還蠻困擾的 XD,每次測試用虛擬機一開機就一直叮咚。
內容如有介紹不周的地方,再麻煩大家提點,感激不盡。
同步發表 2021鐵人賽 再麻煩大家多多指教 謝謝