使用 Prometheus 和 Grafana 監控 Golang 應用程式

本指南教您如何容器化一個 Golang 應用程式,並使用 Prometheus 和 Grafana 對其進行監控。

致謝

Docker 謹此感謝 Pradumna Saraf 對本指南的貢獻。

概述

為了確保您的應用程式按預期工作,監控非常重要。最流行的監控工具之一是 Prometheus。Prometheus 是一個開源的監控和警報工具包,專為可靠性和可擴充套件性而設計。它透過抓取目標上的指標 HTTP 端點來收集指標。要視覺化這些指標,您可以使用 Grafana。Grafana 是一個用於監控和可觀察性的開源平臺,無論您的指標儲存在哪裡,它都允許您查詢、視覺化、發出警報並理解您的指標。

在本指南中,您將建立一個 Golang 伺服器,其中包含一些端點以模擬真實世界的應用程式。然後,您將使用 Prometheus 從伺服器公開指標。最後,您將使用 Grafana 視覺化這些指標。您將容器化 Golang 應用程式,並使用 Docker Compose 檔案連線所有服務:Golang、Prometheus 和 Grafana。

您將學到什麼?

  • 建立一個帶有自定義 Prometheus 指標的 Golang 應用程式。
  • 容器化一個 Golang 應用程式。
  • 使用 Docker Compose 執行多個服務並將它們連線在一起,以透過 Prometheus 和 Grafana 監控 Golang 應用程式。
  • 使用 Grafana 儀表盤視覺化指標。

先決條件

  • 假設您對 Golang 有很好的理解。
  • 您必須熟悉 Prometheus 以及在 Grafana 中建立儀表盤。
  • 您必須熟悉 Docker 概念,如容器、映象和 Dockerfile。如果您是 Docker 新手,可以從 Docker 基礎指南開始。

後續步驟

您將建立一個 Golang 伺服器並使用 Prometheus 公開指標。

模組

  1. 瞭解應用程式

    學習如何建立一個 Golang 伺服器以向 Prometheus 註冊指標。

  2. 容器化您的應用

    學習如何容器化一個 Golang 應用程式。

  3. 使用 Docker Compose 連線服務

    學習如何使用 Docker Compose 連線服務,以透過 Prometheus 和 Grafana 監控 Golang 應用程式。

  4. 開發您的應用

    學習如何使用 Docker 開發 Golang 應用程式。