PRTG串接Telegram Bot發送警告

我多年來一直都有在用PRTG來監控家裡的所有設備。
有興趣的可以去看看,我這裡就不特別介紹PRTG了
https://www.paessler.com/prtg
這監控系統本身可以被監控的設備發生異常時透過各種方式通知User。
除了自身的PRTG APP可以接收通知,也能發Email…等等之類的。
現在透過Telegram的機器人功能可以在設備有問題的時候讓你立刻知道。


首先,先從透過Telegram來申請一個機器人。
透過搜尋來找一個帳號叫做BotFather。
要建立帳號都必須由它來開始。
找到他按下START 進入聊天畫面就可以開始了。

輸入 /newbot 建立機器人

給個名字吧!

然後要給這個機器人一個使用者名稱,它必須是bot結尾。

然後你就會得到一個機器人的超連結網址以及它的API。
這個API相當於這個機器人地的密碼請注意保存。
如果要發訊息必須透過這一串API來發送。
機器能不能也不會主動傳訊息給你必須要由你先開始。
點機器人的網址然後傳個Test給它

然後到瀏覽器輸入下面的網址(<API Code>請自行更換成你自己的API)
https://api.telegram.org/bot<API Code>/getUpdates

你的剛剛傳送過來的訊息,然後你也會得到你Telegram帳號的ID:
假設是”id”:135724680
然後我們來嘗試由機器人傳送個文字訊息給你。

然後到瀏覽器輸入下面的網址
#<API Code>請自行更換成你自己的API
#chat_id請更換成你剛剛上述畫面得到你自己帳號的ID
假設是”id”:135724680
https://api.telegram.org/bot<API Code/sendmessage?chat_id=135724680&text=你好嗎

然後你就會按到你的Telegram出現它傳送給你訊息。

這樣應該就可以大概了解其機器人運作方式。
那麼我們就回到PRTG裡面來設定。

這裡我很簡單示範單人通知,Telegram是也可以通知群組的只有拿到群組id即可
從選單的Setup > Account Settings > Notification Templates
找到Email and push notification to admin
點進去之後往下捲把Execute HTTP Action啟用

URL輸入:
https://api.telegram.org/bot<API Code/sendmessage

Payload輸入:
chat_id=793746727&text=#XXXX PRTG:#%status SENSOR: #%shortname DEVICE: #%device GROUP: #%group PROBE: #%probe COMMENT:%commentsdevice

#<API Code>請自行更換成你自己的API
#chat_id請更換成你剛剛上述畫面得到你自己帳號的ID
#裡面的文字和變數可以自行修改。
修改完記得按右邊的Save

回到PRTG首頁找上面的Notification Trigger,我們來所短一下它觸發時間,比較好測試。
預設是600秒(10分鐘)我來把它改成60秒,實際狀況請自行判斷

改完記得,打勾勾儲存設定。

我來測試一下我家裡的IP Cam透我Wifi插座把它斷電。60秒的間隔後,我就收到了通知。

接著恢復電力

很快也收到通知了。

以上簡單的介紹,可以透過Trigger還設定不同層級發給不同的人,設備斷線時間超過多久發給主管等等……有很多活用的設定和組合可以發想!