今天要介紹的 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

  1. 設定 Telegram
  2. 在 Zabbix Server 上設定 Webhook
  3. 在管理介面上,新增 media
  4. 將 聊天室ID 綁定在 一位使用者上
  5. 將 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鐵人賽 再麻煩大家多多指教 謝謝

By zyxu