uptime-kuma 監控應用工具
uptime-kuma 是 node js 及 vue 所開發的監控網站應用程式,是一個類似於 “Uptime Robot” 的管網站監控工具。其具有下功能:
優點
- UI操作簡單易用
- 可以於偵測 HTTP(s)/TCP/Ping/DNS
- 支援主流的聊天系統通知 Telegram、Discord、Gotify、Slack、Pushover、電子郵件等多種通知。
- 支援多語系
- 程式碼開源,且容易改
缺點
- 不支援多次重覆通知(但可以自己擴充)
安裝步驟
1. 首先,先搭建 uptime-kum 容器應用
docker pull louislam/uptime-kuma
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
2. 進入後台,新增監測器 > 輸入要監控網站服務的網址
3. 設定通知( 支援相當多種主流的 notify )
4. 建立 telegram bot ,參考下面文章建立telegram bot , 並將相關的 token 及 chat id 填入
5. 提交後表單,此時己完成網站監測的任務
6. 當網站故障時,就會可以透過 telegram bot 通知團隊。
7. 在模擬網站掛了時發現,僅會通知一次,並不支援重覆通知,不過看了看原始碼是 node js 及 vue ,應該是能輕易的自己擴充。
補充 - telegram 的 message api 算是很方便,而且沒有限制跨域存取,直接透過 URL 帶參數,就可以傳送訊息
取得 telegram bot channel id
https://api.telegram.org/bot{api token}/getUpdates
透過 API 發送 telegram 訊息
https://api.telegram.org/bot{api token}/sendMessage?chat_id={botChannelId}&text='test'