使用 Prometheus 和 Grafana 监控 Golang 应用
目录
本指南教你如何容器化 Golang 应用并使用 Prometheus 和 Grafana 对其进行监控。
致谢
Docker 感谢 Pradumna Saraf 对本指南的贡献。
概览
为了确保你的应用按预期工作,监控非常重要。最流行的监控工具之一是 Prometheus。Prometheus 是一个开源的监控和警报工具包,旨在提供可靠性和可伸缩性。它通过抓取(scraping)被监控目标的 HTTP 度量端点来收集度量数据。要可视化度量数据,你可以使用 Grafana。Grafana 是一个用于监控和可观测性的开源平台,无论你的度量数据存储在哪里,它都可以让你查询、可视化、发出警报并理解它们。
在本指南中,你将创建一个带有某些端点的 Golang 服务器,以模拟真实世界的应用。然后,你将使用 Prometheus 暴露(expose)服务器的度量数据。最后,你将使用 Grafana 可视化这些度量数据。你将容器化 Golang 应用,并使用 Docker Compose 文件连接所有服务:Golang、Prometheus 和 Grafana。
你将学到什么?
- 创建一个带有自定义 Prometheus 度量数据的 Golang 应用。
- 容器化 Golang 应用。
- 使用 Docker Compose 运行多个服务并将它们连接起来,以使用 Prometheus 和 Grafana 监控 Golang 应用。
- 使用 Grafana 控制面板可视化度量数据。
前提条件
- 本指南假设你对 Golang 有很好的理解。
- 你必须熟悉 Prometheus 以及如何在 Grafana 中创建控制面板。
- 你必须熟悉 Docker 的基本概念,例如容器(containers)、镜像(images)和 Dockerfile。如果你是 Docker 的新手,可以从Docker 基础知识指南开始学习。
下一步
你将创建一个 Golang 服务器并使用 Prometheus 暴露度量数据。
模块
- 了解应用
学习如何创建 Golang 服务器以向 Prometheus 注册度量数据。
- 容器化你的应用
学习如何容器化 Golang 应用。
- 使用 Docker Compose 连接服务
学习如何使用 Docker Compose 连接服务以使用 Prometheus 和 Grafana 监控 Golang 应用。
- 开发你的应用
学习如何使用 Docker 开发 Golang 应用。