go metrics的数据如何收集展示
在 Go 中收集和展示 metrics指标数据最主流和标准化的方案是使用Prometheus生态系统即使用prometheus/client_golang库暴露指标由 Prometheus 服务抓取存储最后在 Grafana 中展示。第一步在 Go 应用中暴露 Metrics 端点你需要先在你的 Go 应用中集成 Prometheus 客户端库创建一个 HTTP 端点通常是/metricsPrometheus 会从这个端点拉取数据。1. 安装依赖首先安装所需的库bashgo get github.com/prometheus/client_golang/prometheus go get github.com/prometheus/client_golang/prometheus/promauto go get github.com/prometheus/client_golang/prometheus/promhttp2. 暴露默认的 Go 运行时指标只需几行代码你就可以将 Go 应用自身的运行时指标如 Goroutine 数量、内存使用、GC 次数等暴露出来gopackage main import ( net/http github.com/prometheus/client_golang/prometheus/promhttp ) func main() { // 将 /metrics 路径交给 promhttp 处理 http.Handle(/metrics, promhttp.Handler()) http.ListenAndServe(:2112, nil) // 监听端口 }启动后访问http://localhost:2112/metrics就能看到一大串文本格式的指标数据了。3. 自定义业务指标除了默认指标你通常需要记录自己业务的监控数据。下面的例子创建了一个Counter类型的指标用来统计处理的总操作数gopackage main import ( net/http time github.com/prometheus/client_golang/prometheus github.com/prometheus/client_golang/prometheus/promauto github.com/prometheus/client_golang/prometheus/promhttp ) // 定义一个全局的 Counter 指标 var ( opsProcessed promauto.NewCounter(prometheus.CounterOpts{ Name: myapp_processed_ops_total, Help: The total number of processed events, }) ) func recordMetrics() { go func() { for { opsProcessed.Inc() // 每2秒将计数器加1 time.Sleep(2 * time.Second) } }() } func main() { recordMetrics() http.Handle(/metrics, promhttp.Handler()) http.ListenAndServe(:2112, nil) }你还可以使用Gauge可增可减的仪表盘、Histogram统计分布如请求延迟和Summary等其他指标类型以满足不同的监控需求。第二步部署 Prometheus 服务抓取指标现在你的应用已经暴露了指标但它是被动的。你需要部署一个 Prometheus 服务来定期抓取这些数据并存储起来。配置 Prometheusprometheus.yml添加一个抓取任务scrape job指向你的 Go 应用地址yamlscrape_configs: - job_name: my-go-app static_configs: - targets: [你的Go应用IP:2112] # 这里的端口需要与代码中一致第三步使用 Grafana 展示数据Prometheus 存储了数据但查看和探索数据的最佳伴侣是Grafana。添加数据源在 Grafana 的配置中添加 Prometheus 作为数据源填写其地址。创建仪表盘Dashboard你可以基于 Prometheus 的查询语言PromQL创建图表例如查询myapp_processed_ops_total的增长率或go_goroutines的实时数量。你也可以在 Grafana 官网找到许多现成的 Go 应用监控仪表盘模板。除了 Prometheus Grafana 这个组合另外两个工具也值得了解go-metrics库如果你需要一个更轻量、嵌入式的方案go-metrics库是另一个选择。它提供了更丰富的指标类型并支持直接输出到控制台、文件或发送到 Graphite、InfluxDB 等后端但生态和可视化能力不如 Prometheus 强大。pprof这是 Go 语言自带的性能剖析工具。它更侧重于“深度调试”如 CPU 热点、内存分配而非“日常监控”。通常将 pprof 用于问题定位与监控系统互补。总结对于 Go 应用 metrics 的收集和展示首选方案是 Prometheus Grafana 这套标准组合。通过prometheus/client_golang库你可以轻松地标准化地暴露指标从而无缝融入现代监控体系。

相关新闻

解密map-vectorizer核心流水线:从GIMP阈值化到R多边形简化的6个关键步骤

解密map-vectorizer核心流水线:从GIMP阈值化到R多边形简化的6个关键步骤

解密map-vectorizer核心流水线:从GIMP阈值化到R多边形简化的6个关键步骤 【免费下载链接】map-vectorizer An open-source map vectorizer 项目地址: https://gitcode.com/gh_mirrors/ma/map-vectorizer 把一张泛黄的历史扫描地图,变成可编辑、可…

2026/10/12 9:23:29 阅读更多 →
2026单轴转台选购指南:精度、传动与厂家盘点

2026单轴转台选购指南:精度、传动与厂家盘点

适用场景:惯导标定产线、陀螺仪测试、高校惯性技术实验室入门选型。本文从工程指标出发,讲清单轴转台的选型逻辑,并梳理国内厂家格局。一、单轴转台是什么(定义与用途)单轴转台,也叫速率转台或位置转台&…

2026/10/2 3:08:44 阅读更多 →
QSYM 核心架构全解析:从 PIN 插桩到 Z3 求解

QSYM 核心架构全解析:从 PIN 插桩到 Z3 求解

QSYM 核心架构全解析:从 PIN 插桩到 Z3 求解 【免费下载链接】qsym QSYM: A Practical Concolic Execution Engine Tailored for Hybrid Fuzzing 项目地址: https://gitcode.com/gh_mirrors/qs/qsym QSYM 是一款面向混合模糊测试(Hybrid Fuzzing&…

2026/9/15 15:11:30 阅读更多 →

最新新闻

自己动手实现TreeMultiSet:基于TreeMap的有序可重复集合

自己动手实现TreeMultiSet:基于TreeMap的有序可重复集合

1. 从一个真实的数据统计需求说起去年帮一个做电商的朋友处理订单数据时&#xff0c;遇到一个挺典型的问题&#xff1a;他们需要统计每个商品在一天内的被下单次数&#xff0c;并且要按商品ID排序输出。第一反应是用TreeMap<Long, Integer>&#xff0c;key 是商品ID&…

2026/10/12 9:22:58 阅读更多 →
PS5折腾指南:系统配置、存储扩展、远程游玩与散热维护

PS5折腾指南:系统配置、存储扩展、远程游玩与散热维护

PS5到手三个月后&#xff0c;我发现自己陷入了一个尴尬循环&#xff1a;开机看一眼、随便通关一个进度、然后切出去看手机&#xff0c;主机外壳摸起来都能煎鸡蛋。直到我给自己定了个"AnyPS5"计划——不把这台机器当普通游戏机&#xff0c;而是当成一台可折腾的娱乐终…

2026/10/12 9:22:58 阅读更多 →
边缘实时分析系统架构设计与实践:边缘计算下的轻量级数据处理与智能化决策

边缘实时分析系统架构设计与实践:边缘计算下的轻量级数据处理与智能化决策

1. 项目背景与整体设计思路拆解1.1 项目代号“rea”从哪来&#xff0c;到底解决了什么问题先说结论&#xff1a;这个代号在我这边是Real-time Edge Analytics的缩写&#xff0c;中文可以叫“实时边缘分析”。最初立项的时候&#xff0c;它其实是某物联网数据平台项目里的一个子…

2026/10/12 9:22:58 阅读更多 →
Python+Vue前后端分离学生选课管理系统开发实战

Python+Vue前后端分离学生选课管理系统开发实战

这几年高校教务系统一直是很多开发者练手的热门方向&#xff0c;尤其是学生选课管理系统&#xff0c;业务场景清晰、技术栈覆盖广、坑点也很典型。我之前完整做了一套基于 Python 和 Vue 的前后端分离版本&#xff0c;用 PyCharm 作为主力开发工具&#xff0c;框架层面对比过 D…

2026/10/12 9:22:58 阅读更多 →
Vivo手机数据备份与恢复全指南:换机迁移防丢数据实操

Vivo手机数据备份与恢复全指南:换机迁移防丢数据实操

手机里最贵的东西&#xff0c;从来不是手机本身&#xff0c;而是里面那些联系人、聊天记录和照片。这句话我在帮朋友迁移数据时说过很多次。很多人以为Vivo系统自带的备份功能随便点一下就行&#xff0c;结果换机之后才发现微信聊天记录没了、照片原图缺了不少&#xff0c;想找…

2026/10/12 9:22:57 阅读更多 →
Windows环境下MapServer与GDAL发布包部署指南

Windows环境下MapServer与GDAL发布包部署指南

简介&#xff1a;这份发布包面向 Java 地理信息开发者&#xff0c;定位是固定版本的 GIS 开发运行环境&#xff0c;基于 x64 Windows&#xff0c;对应 GDAL 3.8.5 与 MapServer 8.0.1&#xff0c;可用于解析 TIFF 等栅格数据并搭建网络地图服务。包内不仅带 GDAL 的 Java 绑定与…

2026/10/12 9:21:57 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天&#xff0c;画面可以做到绝对的锐利、平滑与无瑕。然而&#xff0c;当一张秋日手账插画或拍立得照片过于“平整无瑕”时&#xff0c;往往会散发出一种冰冷生硬的“数码塑料感&#xff08;Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中&#xff0c;横排&#xff08;Horizontal Layout&#xff09;早已经成为了绝对的主流。然而&#xff0c;当我们翻开泛黄的线装古籍、宋版木刻诗集&#xff0c;或是欣赏一张茶道雅集的手写便签时&#xff0c;那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点&#xff0c;很多人心里都会悄悄亮起一盏警示灯。 在心理学上&#xff0c;这种现象有一个专门的称谓——“周日夜晚焦虑症&#xff08;Sunday Scaries&#xff09;”。明天又是周一&#xff0c;闹钟又要重新在七点响彻卧房&#xff1b;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →