開源易用的網站監控工具 - uptime-kuma ,並支援多種方式發送通知

uptime-kuma 監控應用工具

uptime-kuma 是 node js 及 vue 所開發的監控網站應用程式,是一個類似於 “Uptime Robot” 的管網站監控工具。其具有下功能:

優點

  • UI操作簡單易用
  • 可以於偵測 HTTP(s)/TCP/Ping/DNS
  • 支援主流的聊天系統通知 Telegram、Discord、Gotify、Slack、Pushover、電子郵件等多種通知。
  • 支援多語系
  • 程式碼開源,且容易改

缺點

  • 不支援多次重覆通知(但可以自己擴充)

Github

安裝步驟

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 填入

建立 bot 教學文章

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'