当前位置: 首页 > news >正文

prometheus直方图实践

目录

1.简介

2.方案


1.简介

Prometheus提供了Counter、Gauge、Histogram、Summary四类指标(详见Metric types | Prometheus),可以通过"github.com/prometheus/client_golang/prometheus"自定义采集指标、注册、采集数据、发布URL,以上步骤即构成exporter,发布后创建Service、ServiceMonitor即可。

 

2.部署介绍

  • 定义指标

定义指标,如下定义为直方图类型,需要注意的是Buckets需按照实际要求调整参数,示例中Buckets: prometheus.LinearBuckets(0, 1, 4), 表示从0开始统计,桶宽为1,统计4个桶,实际包含6个桶,即0~1,1~2,2~3,3~4,>4;

var (PodCpuHistogram = prometheus.NewHistogram(prometheus.HistogramOpts{Name: "PodCpuHistogram",Help: "pod_cpu_histogram ",ConstLabels: map[string]string{"metric":          "PodCpuHistogram","namespace":       pod.GetNamespace(),"pod_name":        pod.GetName(),},Buckets: prometheus.LinearBuckets(0, 1, 5),})
)
  • 注册

将定义的指标注册到prometheus

prometheus.MustRegister(PodCpuHistogram)
  • 统计指标

拿到实时数据(示例中data即为拿到的pod CPU实时数据)后通过PodCpuHistogram.Observe方法进行统计;

PodCpuHistogram.Observe(data)
  • 发布metrics地址

http.Handle("/metrics", promhttp.Handler())
log.Fatal(http.ListenAndServe(":8080",nil))

exporter构建示例可参考https://www.cnblogs.com/makelu/p/11082485.html

exporter构建好后可以进行部署,创建对应Service和ServiceMonitor。

ServiceMonitor中可以定义采集周期、metrics地址和端口。

  • 验证ServiceMonitor

登录p8s,验证p8s是否成功进行服务发现。

检查targets页面是否有对应endpoint,在p8s查询窗口输入PodCpuHistogram检查是否有匹配项。

http://www.lryc.cn/news/97331.html

相关文章:

  • 【C语言进阶篇】指针都学完了吧!那回调函数的应用我不允许还有人不会!
  • 专注:如何提高专注力和注意力的简要指南
  • Linux查看内存的几种方法
  • selenium定位rect元素
  • uniapp <textarea>组件的踩坑
  • README.md 文档使用 treer 生成树形项目结构
  • 朝花夕拾思维导图怎么画?看看这种绘制方法
  • Python - OpenCV、OCR识别摄像头中的文字
  • 金融中的数学:贝叶斯公式
  • ClickHouse单节点安装配置
  • AtcoderABC231场
  • opengauss数据库快速安装
  • 前端中的LocalStorage和SessionStorage
  • 论文工具——写论文好用的绘图工具(甘特图+流程图+网络模型图+泳道图)
  • Vite构建的vue3项目修改网站标题和图标
  • 平安私人银行受邀慈善服务高质量发展会议,分享慈善规划服务
  • MySQL主从复制、读写分离
  • Redis配置与优化
  • leetCode刷题记录3-面试经典150题
  • MySQL优化(面试)
  • 华为鸿蒙HarmonyOS4发布即巅峰,车机系统、多模态交互等实现突破
  • Camtasia2023电脑录屏视频自动生成字幕软件
  • List有值二次转换给其他对象报null
  • 电脑新装系统优化,win10优化,win10美化
  • 实现PC端微信扫码native支付功能
  • MSP432自主开发笔记4:DS3115舵机的0~180全角度驱动
  • 【Matlab】基于卷积神经网络的时间序列预测(Excel可直接替换数据)
  • Ansible安装部署与应用
  • 重生之我要学C++第四天
  • 创建一个简单的 Servlet 项目