部落格: https://bit.ly/docker-gatus
影片: https://www.youtube.com/watch?v=Fdgp3NpsPIs
## 前言
不知道大家在部署網站後,怎麼明確讓大家清楚知道現在網站的運行狀況,就像 GitHub
就是提供整體運行的網頁,監控常用的操作指令,像是 Git Operations, Webhooks 或
GitHub Actions 等服務狀況。讓開發者遇到問題的時候,可以即時查看現在狀態做出相
對應動作。而類似這樣的線上服務很多,像是 Atlassian 的 Statuspage 或 PingPong
等,更多免費服務可以直接參考 awesome-status-pages。而本篇要介紹一套開源軟體
Gatus,它是用 Go 語言撰寫出來的,非常輕量。
## 什麼是 Gatus
Gatus 提供一個輕量的監控服務健康網頁,讓開發者透過簡單的 HTTP, ICMP, TCP 等
Protocol 來監控服務狀況,並且根據網頁回應的 Status Code 或 Response time 及
Body 內容來決定網站是否健康,如果發生異常,可以設定不同的 Alert 像是 Slack,
Email, Teams, Discord 或 Telegram 等常用的即時軟體。可以參考此連結看看
Dashboard 實際狀況。
## 為什麼選擇 Gatus
> Why would I use Gatus when I can just use Prometheus, Alertmanager,
Cloudwatch or even Splunk?
第一點各位開發者可以想看看,如何監控整個服務的狀況,而不是等到客戶遇到問題,你
才知道狀況的發生。而 Gatus 可以從客戶角度對每個功能進行配置檢查,團隊可以根據
重要的服務或接口進行監控,即時數據整理,才可以讓團隊比客戶更早知道狀況。
第二點團隊可以想看看,如果從 Prometheus 開始入手,是不是門檻過高,團隊真的有多
餘的時間跟人力可以做到完整的監控,用 Prometheus + Alert 到 Grafana 監控頁面,
需要花費不少時間跟人力才能完成,而這些指標,真的是客戶想看到的嗎?以及是否可以
正確收到警報,這些配置都需要層層關卡,而 Gatus 透過簡單的設定,讓團隊可以快速
監控整個服務,即時的通知設定,都可以在幾個小時內完成。
## 心得
我選擇此套原因就是簡單設定跟方便部署,除了監控網站服務之外,測試團隊其實可以拿
這套,去寫大量的測試監控所有服務及效能,光是這點就可以替團隊省下不少時間做測試
。另外每個服務還可以看到 response time 結果。
中間省略一段安裝及使用說明,詳細可以參考部落格: https://bit.ly/docker-gatus
--
AppleBoy Blog: http://blog.wu-boy.com
--