IT 監控與告警系統(Monitoring & Alerting)
這是現代 IT 系統中不可或缺的一環,尤其是對軟體維運(SRE/DevOps)或雲端架構來說更是核心關鍵。
- 什麼是監控(Monitoring)?
是持續蒐集系統運作狀態(如 CPU 使用率、記憶體、網路流量、錯誤率、API 回應時間等),幫助技術團隊了解系統是否健康運作。 - 什麼是告警(Alerting)?
是當系統監控到某個指標異常(例如延遲超過閾值或伺服器當機)時,主動通知工程師(例如透過 Email、Slack、Opsgenie、PagerDuty 等),以便及時處理。
常見的工具與概念:
- Prometheus + Grafana:開源的指標型監控工具組合。
- ELK Stack(Elasticsearch, Logstash, Kibana):以日誌為主的監控。
- Cloud 原生工具:如 AWS CloudWatch、Google Cloud Monitoring。
- AIOps 平台:利用 AI 判斷異常(如 Datadog、New Relic)。
1. Grafana — 可視化儀表板工具
▍用途
Grafana 是一個開源的 資料視覺化工具,可以把各種監控資料(如 CPU 使用率、流量、錯誤率)畫成圖表、儀表板。▍常見用途
- 搭配 Prometheus、InfluxDB、CloudWatch 等監控工具使用。
- 在一個介面上查看整個系統的健康狀況。
- 幫助技術團隊迅速發現異常(例如突如其來的高流量或系統資源耗盡)。
2. ELK Stack — 日誌型監控分析工具
▍ELK 是什麼?
ELK 是三個工具的組合,主要是處理大量日誌資料:

▍常見用途
- 查看系統錯誤訊息、API 存取紀錄、用戶行為記錄等。
- 做事件調查(像是安全事件、異常操作、資料遺失等)。
3. Opsgenie — 告警通知與值班排程工具
▍用途
Opsgenie 是一個專門負責「誰該被通知」的工具,常與監控系統搭配使用。
▍常見功能
- 告警通知(整合 CloudWatch、Prometheus、Datadog 等監控工具)。
- 值班表管理(例如誰這週 on-call)。
- 通知路由(不同類型的問題通知不同的人,例如後端錯誤通知後端、資安事件通知資安人員)。
- 支援多種通知方式(Email、App、簡訊、電話、Slack)。
額外補充:Logstash — 日誌收集與處理工具
▍用途
- 從不同來源(伺服器、資料庫、應用程式)收集 log。
- 做格式轉換、過濾,例如把原始 log 中的 IP、錯誤碼挑出來。
- 傳送到 Elasticsearch、Kafka、Amazon S3、或其他儲存服務。
▍舉例
像是應用程式產生的日誌格式五花八門,Logstash 可以把這些整理成一致的格式,送到 Elasticsearch,方便後續查詢與分析。
4. Datadog — 雲端監控平台
▍定位
Datadog 是一個 雲端原生的一站式監控平台,功能涵蓋:
- 指標監控(CPU、記憶體、流量等)
- 日誌管理(Log)
- 分散追蹤(APM:Application Performance Monitoring)
- 安全監控(Security Monitoring)
- 告警管理
▍特色
- 圖形化介面好用,支援自動儀表板。
- 很適合多雲、多微服務架構。
- 整合非常多(AWS、GCP、Kubernetes、Docker、Jenkins…)。
另外在文中提到的 SRE / DevOps
SRE / DevOps — 現代維運的兩大角色
🧠 一句話分別
- DevOps 是一種文化與方法論,讓「開發」和「維運」能更快、更頻繁、更穩定地交付產品。
- SRE 是一種實作角色與工程方法,用來實現穩定、高可用、可預測的服務。
🔍 DevOps:文化、流程、工具整合
▍核心理念
- 打破開發與維運的隔閡
傳統上,開發負責寫程式,維運負責上線與處理事故,但雙方常常互相指責。DevOps 強調一起對系統品質負責。 - 全面自動化
包括程式建置、自動測試、自動部署(CI/CD)、基礎建設自動化(IaC)。 - 持續交付、快速回饋
功能一寫完就能快速進入測試→部署→上線→回饋,讓產品更靈活、風險更低。
▍常見工具

🛠️ SRE:以工程方式確保系統可靠
▍由 Google 提出,核心目標是:
「讓系統穩定、可預測,並能承受改變與錯誤。」
▍核心觀念
- 定義服務水準:
- SLA(Service Level Agreement):對外承諾的可用性(例如 99.9%)。
- SLO(Service Level Objective):對內設定的目標(例如 API 每月錯誤率 < 0.1%)。
- SLI(Service Level Indicator):實際量測的指標(如錯誤率、延遲率)。
- 錯誤預算(Error Budget):
- 如果服務達不到 SLO,可以「暫停部署」,專注修穩定性。
- 如果有多的錯誤預算,團隊可加快部署新功能。
- 自動化維運:
- 自動修復腳本(auto-healing)
- 自動擴縮(Auto Scaling)
- 實施容錯架構(如 multi-AZ, failover)
▍SRE 跟 DevOps 有何不同?
