可觀測性 基礎

Prometheus 的工作原理是什麼?與 Grafana 如何配合使用?

AI 練習作答

Prometheus 工作原理

Prometheus 是拉取式(Pull-based)監控系統,主動定期去抓取(Scrape)各服務暴露的 metrics 端點。

核心元件

Prometheus Server:核心,負責抓取、儲存 metrics 資料,支援 PromQL 查詢

Exporters:將非原生 Prometheus 格式的 metrics 轉換並暴露,如:

  • node_exporter:系統指標(CPU、記憶體、磁碟)
  • mysqld_exporter:MySQL 指標
  • blackbox_exporter:探測 HTTP/TCP 端點可用性

Alertmanager:接收 Prometheus 的告警規則觸發通知,負責去重、靜音、路由到 Slack/PagerDuty

Pushgateway:供批次任務推送 metrics(短期任務無法被 scrape)

Metrics 格式

Prometheus 的 metrics 以文字格式暴露在 /metrics 端點:

http_requests_total{method="GET",status="200"} 1234 http_requests_total{method="POST",status="500"} 5

格式:metric_name{label1="value1"} value [timestamp]

PromQL 基礎

rate(http_requests_total[5m]) # 5分鐘請求速率 histogram_quantile(0.99, http_duration) # P99 延遲 sum by (service) (up) # 按服務分組統計存活實例數

Grafana 的角色

Grafana 是可視化工具,以 Prometheus 作為資料來源,透過 PromQL 查詢繪製 Dashboard 圖表和設定視覺化告警。

典型架構:應用程式 → Prometheus 抓取 → Grafana 展示

✦ AI 模擬面試

輸入你的答案,AI 即時分析精準度與改進空間

登入後即可使用 AI 評分