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检查是否有匹配项。

相关推荐
IT界的老黄牛1 天前
Prometheus TSDB 拆不出来、也存不了一年:4 条外部存储出路 + 容量测算
prometheus·时序数据库·监控·thanos·victoriametrics·remote_write
Ningcode_cloud2 天前
Kubernetes 弹性伸缩实验手册:从集群搭建到 HPA / VPA 自动扩缩容
云原生·k8s·prometheus
2601_962097363 天前
可观测性实战:Prometheus+Grafana+OTel构建监控
grafana·prometheus·微服务架构·可观测性·opentelemetry
IT界的老黄牛3 天前
Jenkins 监控一条龙:接入、看板 9964、11 条告警规则直接抄走
jenkins·grafana·prometheus·监控·ci-cd·告警规则
陈皮糖..4 天前
基于 Keepalived 的传统 Web 高可用架构的容器化改造与可观测性升级
运维·docker·性能优化·架构·云计算·prometheus
heimeiyingwang4 天前
【Prometheus·部署篇】存储与容量规划:本地存储、远程存储与长期保存
prometheus
heimeiyingwang4 天前
【Prometheus·可视化篇】Grafana 集成:数据源配置与 Dashboard 设计原则
grafana·prometheus
IT界的老黄牛4 天前
Jenkins 构建卡了 23 天,abort 按钮点了没用
jenkins·maven·prometheus·告警·排查·ci-cd
heimeiyingwang6 天前
【Prometheus·告警篇】告警规则:Recording Rules 与 Alerting Rules 最佳实践
prometheus
AAA@峥7 天前
从零搭建 Prometheus 完整监控告警体系|Linux 部署 + node_exporter+Grafana 可视化
云原生·grafana·prometheus