问题标签 [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.
monitoring - 在 Prometheus 中获取两个自定义时间戳之间的增量
我有一个名为device_number
. 我想要的是显示现在和一天/一周/一个月等之前的价值差异。这意味着用两个不同的时间戳减去两个值。环顾四周,我没有找到任何有关如何操作的有用文档。
我会做但不起作用的事情是:
prometheus - Prometheus 如何计算过去 24 小时的平均值?
'vip_front_onload_duration[24h] 指定间隔'有 3 个点,我想计算这 3 个点的总和的平均值。
avg_over_time(vip_front_onload_duration{pageid=~"pay.xxx.com/pay.html"}[24h])
结果是
这个表达式 Avg_over_time(vip_front_onload_duration{pageid=~"pay.xxx.com/pay.html"}[24h]) 分别计算 'quantine='0.5|0.9|0.99'' 的平均值,我想获得平均值这三个指标的总和。
prometheus - 如何使用 PromQL 的 hour() 函数?
我正在尝试在 Prometheus 的 alert.rules 文件中设置一个仅在特定时间段内触发的警报。我已经在 expr-tag 中测试了下面没有时间限制的代码块,它工作得非常好。
正如PromQL 文档:hour()状态,hour()
根据当前的 UTC 返回一个介于 0 和 23 之间的值。
但是在这里,不会触发任何警报通知。有谁知道,为什么什么都没有被解雇,我该如何解决?
编辑:我已经解决了。我不明白为什么我必须像我这样做的方式那样做,但以下工作:
替换and hour() > 5 and hour() < 22
为and ON() hour() > 5 < 22
kubernetes - Kubernetes (K8s) - 在一段时间内未创建新容器时从 Prometheus/Grafana 获取警报
我有一个系统,其中每小时创建一个容器,并且我想在 Prometheus 或 Grafana 在一段时间内未创建容器时收到警报。无论如何,如果容器数量较少,是否可以获取最后一个说 X-hr 中创建的容器数量并发送警报?容器有一个名称模板,如:2019-month-date-hour
例如:2019-5-11-23
我尝试使用此查询来获取一个月内创建的容器数,count(count(container_last_seen{container_name=~"2019-5.*", namespace=$namespace}) by (container_name))
但在一段时间内无法在此查询上设置 grafana 警报。
grafana - `label_replace` 引入的基于过滤器向量的新标签
在 Prometheus 中,我试图将多个 http 请求行合并到使用label_replace
.
我写的查询是:
label_replace(http_requests_total, "class", "$1", "handler", "([a-zA-Z0-9]+)Controller.*")
.
这可以正常工作并将class
标签添加到向量:“AAAA”,“BBBB”等。此时我想删除某些类,例如空和BBBB
。
如何使用以下方法进一步过滤向量{class~="BBBBB"}
:
label_replace(http_requests_total, "class", "", "handler", "([a-zA-Z0-9]+)Controller.*"){class~="BBBBB"}
当我尝试这样做时,Prometheus 显示错误。
prometheus - 普罗米修斯翻滚窗口聚合
我想有来自特定时间范围的聚合。例如每小时,每天,但每小时从例如 09:00-10:00(翻滚窗口),而不是 1 小时前(跳跃窗口)。
如果我们可以减去由可变时间偏移的计数器,那将是可能的,例如:
x_count offset (minutes()m) - x_count offset ((minutes()+60)m)
但 offset 似乎没有评估函数。
关于如何做到这一点的建议?
grafana - PromQL 查询变量不返回数据但在硬编码时工作
我遇到了一个问题,CPU 显示高于 100%,解决方案是将它除以可用 CPU 的数量。
以下在仪表板上工作(使用 [ORIGINAL QUERY] / sum(machine_cpu_cores)
):
在图表上,以下将在[ORIGINAL QUERY] / sum(machine_cpu_cores)
) 时不返回任何数据:
但是,在硬编码值 ( [ORIGINAL QUERY] / 12
) 时,以下内容将返回预期数据:
我在这里想念什么?
influxdb - 将 InfluxDB 查询转换为 PromQL
我正在尝试将查询从 InfluxDB Query 重写为 PromQL:
有人能帮忙吗?
grafana - Prometheus 的简单累积增量
我有一个应用程序,它在接收到特定的 HTTP 请求时增加 Prometheus 计数器。该应用程序在 Kubernetes 中运行,具有多个实例并每天重新部署多次。使用该查询http_requests_total{method="POST",path="/resource/aaa",statusClass="2XX"}
会生成一个图表,按预期显示每个实例的累积请求计数。
我想创建一个 Grafana 图表,显示过去 7 天收到的请求的累积频率。
我的第一个想法是用于increase(...[7d])
考虑从 7 天窗口之外开始的任何指标(如显示的图像中所示),然后sum
是这些值。
我已经意识到sum(increase(http_requests_total{method="POST",path="/resource/aaa",statusClass="2XX"}[7d]))
实际上确实给出了时间点的正确答案。但是,结果图并不完全符合要求,因为组件increase(...)
值在一周内增加/减少。
我将如何创建一个图表来显示过去 7 天内这些指标的累计增长总和?例如,给定以下简化数据
如果我要查看第 2 天到第 8 天的图表,我希望图表呈现如下线条,
其中d0表示图中的初始值
谢谢