问题标签 [promql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
9406 浏览

prometheus - 正确检测 Prometheus 计数指标的变化

我试图编写一个 PromQL 查询来检测计数指标的变化。

我的抓取间隔是 15 秒。

我这样查询指标:

它显示了有多少http_server_requests不是重定向并且没有成功。

我尝试使用此指标编写警报表达式如下所示:

我的想法是 [1m] 乘以 60 秒的速率将是1发生变化时,但据我所知,我得到了2

这些图表清楚地表明了这一点:

普罗米修斯图

上图是求和表达式,下图是服务器请求计数的变化。当底部图计数 +1 时,顶部图也应该暂时上升1(但实际上它上升到2)。

我究竟做错了什么?我是不是误会了什么?如何编写一个查询,1在发生更改时为我提供值?我应该期望能够编写这样的查询吗?

谢谢!

0 投票
1 回答
224 浏览

prometheus - Prometheus 指标比较警报

我正在尝试创建一个警报表达式,如果给定指标在所有目标中都不相同,则会触发该表达式。my_gauge让我们在表达式控制台输出显示的地方调用我的指标:

我对低于最高阈值的目标结果感兴趣。所以我最初的想法是将它与max (my_gauge)结果进行比较:

然而my_gauge < max(my_gauge)返回no data(这里的预期结果将是 luey)。如何编写一个返回具有不同指标的目标的表达式?

0 投票
1 回答
884 浏览

prometheus - Prometheus:如何使用 probe_http_duration_seconds 从黑盒导出器创建 SLI/SLO?

几天以来,我尝试基于对 http 端点的延迟创建 SLI,但没有成功。我有一个黑盒导出器和 3 天的数据。

我尝试了很多这样的事情:count_over_time(probe_http_duration_seconds{target_url="xxxx",phase="connect"}[7d] > 0.01) 我得到:二进制表达式必须只包含标量和即时向量类型”我明白错误消息是什么说但真的不明白如何获得我想要的信息。

我的平均“probe_http_duration_seconds”请求大约为 10 毫秒,所以我想计算每次,黑盒得到超过 10 毫秒的答案。假设超过 10 毫秒的请求是失败的。我需要衡量这些失败。

0 投票
2 回答
466 浏览

prometheus - 什么 PromQL 查询给出了任意指标列表的最小当前值?

我在 Prometheus 中有三个指标;我们称它们为 metric1、metric2 和 metric3。

我想确定这三个指标的当前值的最小值,但我无法计算出 PromQL。

MIN(metric1)作品; 它返回 metric1 的当前值

我试过MIN(metric1, metric2, metric3),MIN([metric1, metric2, metric3])等,但我不能让它工作。

0 投票
1 回答
1236 浏览

kubernetes - 有没有办法通过字符串值过滤指标,其中一部分来自普罗米修斯查询中另一个查询的结果?

我想在最近的 cronjob 作业失败时收到警报。expr kube_job_status_failed{job_name=~"cronjobname.*"}==1大部分时间都有效。但是如果一个作业失败并保留,即使下一个作业成功,我仍然会收到警报,因为prometheus中有两条记录,一条是失败记录,另一条是成功记录。

我发现我可以从中获取最新的作业时间戳kube_cronjob_status_last_schedule_time{cronjob="cronjobname"},然后用于kube_job_status_failed{job_name="cronjobname-TIMESTAMP"}查询最后的作业状态。

我想知道我们是否有办法在一个查询中连接第一个查询jobname的结果并在第二个查询中过滤?喜欢 kube_job_status_failed{job_name=string_concatenate("cronjobname-", kube_cronjob_status_last_schedule_time{cronjob="cronjobname"})}

0 投票
1 回答
4913 浏览

prometheus - 如何划分两个 Prometheus 计数器

我有两个指标,确切地说是计数器,可以说它们被称为

  • 访客人数
  • 登录次数

在 grafana 中,我想绘制的是登录次数除以访问者数量(或相反)随时间的变化。所以我尝试了

但这会导致错误

执行查询时出错:无效参数“查询”:在字符 46 处解析错误:调用函数“rate”时的预期类型范围向量,得到即时向量

我不确定这一切意味着什么。希望这样的事情是可能的。任何帮助,将不胜感激

0 投票
1 回答
4076 浏览

grafana - Relabelling in prometheus

I am trying to relabel after copying the existing metrics for Kafka only for below match

Kafka_log_size{partition=“1”, topic=“ab_bc_cd_12345_ef_001”,} 10

I want output as : Kafka_log_size{partition=“1”, topic=“ab_bc_cd_12345_ef_001”,} 10 Kafka_log_size_uniq{partition=“1”, uniq=“12345”,} 10

From reading multiple articles , it seems this can be achieved by relabeling . But not sure how to start with please advise . Thanks

0 投票
2 回答
1753 浏览

kubernetes - PromQL 以图表形式每小时创建的 Kubernetes POD 数量

我将 Kubernetes 与 kube-state-metrics 和 Prometheus/grafana 一起使用来绘制 Kubernetes 集群的各种指标。

现在,我想绘制图表,随着时间的推移,每小时创建了多少新POD。

Metrickube_pod_created包含 Creation-Timestamp 作为值,但由于每个 Time-Slot 中都有一个 Value,因此以下查询还为未创建新 POD 的 Time-Slot 返回 Results >0:

我可以在某种标准中使用 Value 来仅计算 Value 是否在“当前”时间段内吗?

0 投票
1 回答
247 浏览

prometheus - 在 peometheus 查询中忽略 old 系列

我有一个示例程序,可以总结为以下问题:

我想跟踪篮子中“球”的数量。所以我为每个篮子都有一个 Prometheus 计数器,可以跟踪其中的球数量。让我们称这个计数器 Balls(basket_name="name"),所以我有一个系列 Balls 和一个带有篮子名称的标签。现在要显示所有篮子中的球总数,我在 promql sum(Balls) 中执行以下操作,它会显示篮子中的球总数。问题是我每次都可以用不同的篮子重新启动我的程序,但是查询 sum(Balls) 将继续计算以前运行的“旧”篮子。

问题:我如何将查询设置为仅计算最后一个“球”的数量让我们说 5 分钟。?即忽略以前的所有系列。

0 投票
1 回答
343 浏览

grafana - 使用 Prometheus 表达收入指标

什么是一种好的 Prometheus 指标来表示应用程序产生的收入(以欧元为单位)(业务指标)?我的应用程序中的每笔交易都代表一笔欧元,加起来就是该应用程序的总收入。

我想在 Grafana 中绘制我们每小时赚多少钱以及我们进行了多少交易的图表。我应该使用哪些 PromQL 公式?

我目前正在使用一个不断增加的仪表(使用 Prometheus 仪表的 inc() 函数),当应用程序重新启动时它会被重置。我不确定是不是最好的类型,我仍然找不到在 Grafana 中显示我们正在制作多少“EUR/h”的方法。