Prometheus Go客户端库
在本页:
简介
下面的快速入门提供了Prometheus Go客户端库的设置说明和预配置的仪表板。在运行完这个快速开始的步骤后,你将有:
设置和配置Go客户端库,以收集Go Prometheus指标,如总预留内存、堆栈内存使用和堆内存。Go客户端库将把这些作为普罗米修斯风格的指标公开。
配置Prometheus抓取Go客户端库指标,并可选地将其发送到Grafana Cloud。
导入Grafana仪表板以可视化您的指标数据。
指标使用
默认情况下,该出口商发布大约45个普罗米修斯时间序列。要查看此导出器默认附带的指标列表,请下载一个示例指标刮集在这里.
注意,根据它的配置,Prometheus Go客户端库可能收集和发布比这个默认设置多得多的指标。要了解有关配置Prometheus Go客户端库和切换其收集器的更多信息,请参阅Prometheus Go客户端库GitHub库.
除了切换Prometheus Go客户端库的设置之外,您还可以通过删除不需要存储在Prometheus或Grafana Cloud中的时间序列来减少指标的使用。要了解如何做到这一点,请参见通过重新标签减少Prometheus度量的使用来自Grafana Cloud文档。
Grafana Cloud的Golang集成
如果您正在使用Grafana Cloud,您可以通过安装Prometheus Go Integration来跳过本指南中的所有步骤,它旨在帮助您在一些命令和单击中启动和运行。免费注册.
要了解如何使用Prometheus Go集成设置Prometheus Go客户端库,请参阅去集成来自Grafana Cloud文档。
在本页:
Prometheus Go客户端库快速入门
在本指南中,您将学习如何设置和配置Prometheus Go客户端库来收集Go指标,如总保留内存和堆栈内存使用,并将它们作为Prometheus风格的指标公开。然后进行配置普罗米修斯抓取Go参数,并可选地将它们发送到Grafana Cloud。最后,您将设置一个预先配置的Grafana指示板.在本指南的最后,你会有一个仪表盘,你可以用它来可视化你的围棋指标。
如果你正在使用Grafana云,去集成可以帮助您快速启动和运行。Go集成将Prometheus度量收集器嵌入到Grafana云剂并自动提供一个仪表板,因此您不必执行本指南中的步骤。要了解如何设置Go集成,请参见去集成来自Grafana Cloud文档。
先决条件
在你开始之前,你应该有以下可用的:
- 安装到您的机器上。要了解更多,请参见下载和安装来自Go文档。
- Prometheus在您的环境中运行或直接在机器上运行。要了解如何安装Prometheus,请参见安装来自普罗米修斯的文件。
- Grafana在您的环境中运行或直接在机器上运行。要了解如何安装Grafana,请参阅安装Grafana来自格拉弗纳的文件。
- (可选)Grafana Cloud帐号。Grafana Cloud托管Grafana和a皮质基于Prometheus度量端点。您仍然需要使用安装在您的环境中的Prometheus或Grafana云剂.要了解更多关于Grafana Cloud的信息,请参见Grafana云.
步骤1:设置Prometheus Go客户端库
在这一步中,您将设置Go客户端库,以Prometheus格式收集和公开Go指标。本指南使用带有Go 1.16.2的Ubuntu 20.04系统。根据操作系统和Go版本的不同,步骤可能略有不同。
本指南将设置一个最小的应用程序来公开默认的Go指标。要检测现有的应用程序,请参阅client_golangGitHub库.
首先为您的最小Go应用程序创建一个名为metrics_test
,cd
成:
Mkdir metrics_test CD metrics_test . sh
接下来,使用。初始化Go模块mod init
:
mod init test_metrics
Go:创建新的Go。Mod: module test_metrics go:添加模块需求和总和:Mod tidy
下载和安装任何必要的client_golang
库的使用去
:
登陆github.com/prometheus/client_golang/prometheus/promhttp
获取:添加了github.com/prometheus/client_golang v1.9.0
接下来,打开一个名为main.go
使用你最喜欢的编辑器,并粘贴以下Go代码:
包主导入("net/http" "github.com/prometheus/client_golang/prometheus/promhttp") func main() {http。句柄("/metrics", promhttp.Handler())ListenAndServe(":2112", nil)}
这段最小的代码设置了一个/指标
公开默认Go指标集的HTTP端点。它监听HTTP请求localhost: 2112
.
完成后,保存并关闭该文件。
编译和测试代码使用去运行
:
快去,主舰,快去
此时,shell应该挂起。打开另一个会话或后台进程来卷曲指标端点:
curl http://localhost: 2112 /指标
……process_start_time_seconds 1.61559003439e+09 # HELP process_virtual_memory_bytes虚拟内存大小(单位为字节)。# TYPE process_virtual_memory_bytes gauge process_virtual_memory_bytes 1.106751488e+09 # HELP process_virtual_memory_max_bytes最大可用虚拟内存的字节数。# HELP promhttp_metric_handler_requests_in_flight当前服务的刮刮数。# TYPE promhttp_metric_handler_requests_in_flight gauge promhttp_metric_handler_requests_in_flight 1 # HELP promhttp_metric_handler_requests_total按HTTP状态码抓取的总数。# prohttp_metric_handler_requests_total counter promhttp_metric_handler_requests_total{code="200"} 0 promhttp_metric_handler_requests_total{code="500"} 0 promhttp_metric_handler_requests_total{code="503"} 0
如果看到上面的输出,就可以开始使用Prometheus收集Go指标了。
使用client_golang
,你也可以让你现有的Go应用程序发出自定义指标。要了解更多有关这些功能的信息,请参阅进入客户端库GitHub存储库.
步骤2:使用Prometheus抓取Prometheus Go客户端库
现在,Prometheus Go客户端库已经启动并在您的机器上运行,您可以配置一个Prometheus刮擦作业来收集和存储Prometheus Go客户端库指标。
将以下刮擦作业配置添加到scrape_configs
你的prometheus.yml
配置文件:
—job_name: go static_configs:—targets: ['localhost:2112']
取代本地主机
与运行你的Go应用程序的机器的IP地址。要了解关于配置Prometheus的更多信息,请参阅配置来自普罗米修斯的文件。
如果你没有prometheus.yml
配置文件,使用您最喜欢的文本编辑器创建一个简单的配置文件。打开您喜欢的文本编辑器,并粘贴以下Prometheus配置:
—job_name: go static_configs:—targets: ['localhost:2112']
这个配置告诉Prometheus每15秒清理一次所有作业。调用唯一配置的抓取作业去
并定义了localhost: 2112
目标。默认情况下,普罗米修斯会刮/指标
端点使用HTTP。
保存并关闭该文件。然后您可以使用以下命令运行Prometheus文件:
/ prometheus.yml /普罗米修斯——config.file =
将指标发送到Grafana Cloud
要将Go指标从Prometheus发送到Grafana Cloud,请配置remote_write
的参数prometheus.yml
配置文件。要了解更多,请参见米米修斯来自Grafana Cloud文档。要了解更多关于remote_write
参数,请参见remote_write
来自普罗米修斯的文件。
步骤3:配置仪表板
这个快速入门包含一个仪表板:
- 进入运行时度量
要了解如何将此仪表板导入Grafana,请参阅导入仪表板来自格拉弗纳的文件。
你可以取回仪表盘在这里.
结论
在这个快速入门中,您在Linux机器上安装并运行了一个最小的Go应用程序,该应用程序使用client_golang
.然后配置Prometheus以刮除由client_golang
.最后,您导入了Grafana仪表板来可视化您的Go指标。
如果您正在使用Grafana Cloud,您可以通过安装与Grafana Cloud Agent的Go集成来跳过本指南中的所有步骤。要了解如何设置Go集成,请参阅Grafana云集成.
仪表板是使用Go Prometheus Mixin生成的。mixin是由主题专家策划和设计的仪表板、记录规则和警报的可重用模板。要了解更多,请参阅去混合存储库。
在本页:
Grafana Cloud提供了一个不断扩展的集成集,可以在几分钟内快速获得可观察性堆栈并运行。内置在Grafana云代理中的围棋集成,将基本的围棋指标剔除,并将它们推到Grafana云上。代理将抓取由client_golang
库,Grafana Cloud将自动提供一个定制的Grafana仪表板,用于可视化和处理这些数据。
要了解更多,请查看Grafana Cloud文档.
它是如何工作的
配置、安装、连接和维护Prometheus监视组件通常涉及大量的领域知识。从设置到仪表板和警报可能需要相当长的时间。作为Grafana的创造者——以及Prometheus和Cortex的核心贡献者——我们构建了简单的集成来抽象一些工作,以便快速开始。它是如何工作的:
- 注册(或登录)一个免费Grafana云帐户.
- 选择你想要观察的目标(一个不断扩大的目录)。
- 运行一行命令安装Grafana Agent。代理嵌入和预配置出口商以公开默认指标,并将它们推到Grafana Cloud指标后端。
- 瞧!您将看到定制的Grafana仪表板,并将受益于正常的缺省提醒。
寻找不同的出口商或集成?查看我们的不断增长的流行组件集成库比如MySQL, Postgres, Redis, Memcached等等。