Share feedback
Answers are generated based on the documentation.

使用 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 暴露指标。

Modules

  1. 了解应用程序

    学习如何创建一个 Golang 服务器来向 Prometheus 注册指标。

  2. 容器化你的应用

    了解如何容器化一个 Golang 应用。

  3. 使用 Docker Compose 连接服务

    了解如何使用 Docker Compose 连接服务,以通过 Prometheus 和 Grafana 监控 Golang 应用程序。

  4. 开发你的应用

    学习如何使用 Docker 开发 Golang 应用程序。