首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

prometheus描点原理

大家好,我是蓝胖子,关于prometheus的入门教程有很多,拿我之前学prometheus的经历来讲,看了很多教程,还是会对prometheus的描点以及背后的统计原理感到迷惑,所以今天我们就来分析下这部分...histogram_quantile 表达式如何描点的?上面的描点例子比较简单,我们来看一个复杂点的,这个也是Histogram 指标类型统计的原理。...如下,我们通常会用到histogram_quantile去计算服务接口时间的耗时情况。...也就是说,每个小的时间段也都会执行一次histogram_quantile 函数得到描点值,但histogram_quantile的样本值从哪里得来呢?...这就涉及到了histogram_quantile计算分为数的逻辑,有空我会在下篇文章继续分析。

23430

prometheus Histogram 统计原理

大家好,我是蓝胖子,书接上文,我在prometheus描点原理那一篇文章里,留了一个思考题:我们通常会用到histogram_quantile去计算服务接口时间的耗时情况。...Histogram指标内容在解释统计原理之前,我们先看看Histogram指标指标究竟是如何存储的,当我们用prometheus 客户端创建一个Histogram监控数据类型时,其本质上会创建一组指标,...如下所示: 注意概念,在prometheus中,如果指标名和标签完全相同,那么将会认为他们是同一个指标,将携带有时间戳的指标 称为指标的样本。...prometheus server web控制台查询出来的就是样本。...注意下概念,在prometheus中,向量vector是指 单个时间点的指标样本,矩阵matrix是一组时间点的样本。

32830

一文搞懂 Prometheus 的直方图

Prometheus 中提供了四种指标类型(参考:Prometheus 的指标类型),其中直方图(Histogram)和摘要(Summary)是最复杂和难以理解的,这篇文章就是为了帮助大家加深对这 histogram...上节内容告诉我们,Prometheus 中的 histogram 是累积的,这是很奇怪的,因为通常情况下非累积的直方图更容易理解。Prometheus 为什么要这么做呢?...通过这种方法,你可以丢弃任意的 bucket,但不能丢弃 le="+Inf" 的 bucket,因为 histogram_quantile 函数需要使用这个标签。...分位数计算 Prometheus 通过 histogram_quantile 函数来计算分位数(quantile),而且是一个预估值,并不完全准确,因为这个函数是假定每个区间内的样本分布是线性分布来计算结果值的...关于 histogram_quantile 函数的详细使用方式,请参考:PromQL 内置函数。 4.

12.7K21

如何在Ubuntu 14.04第2部分上查询Prometheus

介绍 Prometheus是一个开源监控系统和时间序列数据库。在如何在Ubuntu 14.04第1部分中查询Prometheus,我们设置了三个演示服务实例,向Prometheus服务器公开合成度量。...我们将在此处使用histogram_quantile()函数进行百分位数计算。我们将在下一节中解释这个功能的确切作用。目前,它只计算每个子维度的第90百分位延迟。...如果你的直方图桶足够精细,你可以使用histogram_quantile()函数计算它。此函数需要直方图度量(一组带有le桶标签的系列)作为其输入并输出相应的分位数。...histogram_quantile(0.9, demo_api_request_duration_seconds_bucket{job="demo"}) 这不是非常有用或可靠。...幸运的是,Prometheus的sum聚合运算符可以与histogram_quantile()函数一起组合,以允许我们在查询时间内聚合维度!

2.8K00

我们是如何用 Prometheus 对网关进行监控的

抛弃 Open falcon 拥抱 Prometheus 在决定使用 Prometheus 之前,我们的 Gateway 使用的是 Open falcon,但是一直存在着一个对于我们而言的痛点,就是作为网关程序...// 过去1分钟 95% 请求最大耗时统计 // histogram_quantile 1000* histogram_quantile(0.95, sum(rate(api_request_cost_status_bucket...{service_name="gateway",handler=~"v1.app.+"}[1m])) by (handler, le)) histogram_quantile(φ float, b instant-vector...histogram_quantile() 上面是官方对于 histogram_quantile 函数的解释,关注的是 设置 φ 分位数 对应的 bucket 桶,但是实际中有 分位数计算误差的问题。...目前的解决方案就是做分布式,采用 prometheus 联邦集群的方式来解决指标收集过大的问题,采用了分布式,就可以将机器分组收集汇总,之后就可以成倍速的缩小 prometheus 拉取的压力。

1.9K20

一文了解Prometheus

在直方图中,还可以通过histogram_quantile函数求出百分位数,比如P50,P90,P99等数据 Summary摘要 Summary也是用来做统计分析的,和Histogram区别在于,Summary...histogram_quantilePrometheus服务端计算求出 指标导出 指标导出有两种方式,一种是使用Prometheus社区提供的定制好的Exporter对一些组件诸如MySQL,Kafka...函数做数据统计:可以用来统计百分位数:第一个参数是百分位,第二个histogram指标,这样计算出来的就是中位数,即P50 histogram_quantile(0.5,go_gc_pauses_seconds_total_bucket...我用histogram_quantile函数计算下:计算结果是1.25,其实已经不对了。...histogram_quantile(0.5,my_histogram_bucket_bucket) 我在计算下P99,等于2.475 histogram_quantile(0.99,my_histogram_bucket_bucket

79930

保姆级别的 PromQL 教程

使用函数的顺序问题 在计算 P99 的时候,我们会使用下面的查询: histogram_quantile(0.9, sum by (le) (rate(http_request_duration_seconds_bucket...[10m])) ) 首先,Histogram 是一个 Counter,所以我们要使用 rate 先处理,然后根据 le 将 labels 使用 sum 合起来,最后使用 histogram_quantile...这三个函数的顺序是不能调换的,必须是先 rate 再 sum,最后 histogram_quantile。 为什么呢?这个问题可以分成两步来看: rate 必须在 sum 之前。...histogram_quantile 必须在最后。在《P99 是如何计算的?[11]》这篇文章中介绍了 P99 的原理。...也就是说 histogram_quantile 计算的结果是近似值,去聚合(无论是 sum 还是 max 还是 avg)这个值都是没有意义的。

5.1K51

一文带你了解 Prometheus

在直方图中,还可以通过 histogram_quantile 函数求出百分位数,比如 P50,P90,P99 等数据 Summary 摘要 Summary 也是用来做统计分析的,和 Histogram...Summary 的百分位数是客户端计算好直接让 Prometheus 抓取的,不需要 Prometheus 计算,直方图是通过内置函数 histogram_quantilePrometheus 服务端计算求出...函数做数据统计:可以用来统计百分位数:第一个参数是百分位,第二个 histogram 指标,这样计算出来的就是中位数,即 P50 histogram_quantile(0.5,go_gc_pauses_seconds_total_bucket...我用histogram_quantile 函数计算下:计算结果是 1.25,其实已经不对了。...histogram_quantile(0.5,my_histogram_bucket_bucket) 我在计算下 P99,等于 2.475: histogram_quantile(0.99,my_histogram_bucket_bucket

1.1K42

一文带你了解 Prometheus

在直方图中,还可以通过 histogram_quantile 函数求出百分位数,比如 P50,P90,P99 等数据 Summary 摘要 Summary 也是用来做统计分析的,和 Histogram...Summary 的百分位数是客户端计算好直接让 Prometheus 抓取的,不需要 Prometheus 计算,直方图是通过内置函数 histogram_quantilePrometheus 服务端计算求出...函数做数据统计:可以用来统计百分位数:第一个参数是百分位,第二个 histogram 指标,这样计算出来的就是中位数,即 P50 histogram_quantile(0.5,go_gc_pauses_seconds_total_bucket...我用histogram_quantile 函数计算下:计算结果是 1.25,其实已经不对了。...histogram_quantile(0.5,my_histogram_bucket_bucket) 我在计算下 P99,等于 2.475: histogram_quantile(0.99,my_histogram_bucket_bucket

87720

腾讯游戏原来是这样使用 Prometheus 的!(上)

我们将拆分成基础篇和实战篇两期文章,为您详细介绍腾讯游戏是如何使用 Prometheus 的。期望能给您的开发运维之路,带来一些启发~ 基础篇 标题:腾讯游戏原来是这样使用 Prometheus 的!...Prometheus 预聚合、标签、变量、可视化等基础介绍; 实战篇 标题:腾讯游戏原来是这样使用 Prometheus 的!(下) 内容大纲: 1. 腾讯游戏业务背景介绍; 2. ...PromeQL 是 Prometheus 实战的核心,是 Prometheus 的必修课。数据展示、告警都离不开它。 1. ...Summary 的百分位数是客户端计算好直接让 Prometheus 抓取的,不需要 Prometheus 计算,直方图是通过内置函数 histogram_quantilePrometheus 服务端计算求出...Histogram 的 bucket(桶)要设置合理,histogram_quantile 计算的逻辑是假定你的样本是线性分布的,如果 bucket 设置不合理,可能结果会相差很大。

68620
领券