问题标签 [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.
prometheus - 在 Prometheus/PromQL 中合并/加入两个指标
我有两个不同的(但相关的指标)。
我的最终目标是在 Grafana 中拥有以下内容。我计划使用“即时”值和 Grafana 的表格可视化小部件来显示这些数据。
我应该使用什么查询/加入/重新标记来实现这一点?
先感谢您!:)
grafana - Prometheus 使用 avg_over_time 与缺席
我们已经开始使用 prometheus 来监控我们的基础设施。一项服务配置了以下警报:
- (缺席(up{job="service"}) 或 (up{job="service"} == 0)+1) == 1
这样,如果“up”为零或无法达到任何指标,我们就会收到警报。
现在我们想要一个显示服务“正常运行时间”的 grafana“单一统计”面板,但“缺席”不能与“avg_over_time”一起使用,有一个选项可以在我们的正常运行时间面板中包含“缺席”之类的内容吗?
prometheus - Prometheus - 通过正则表达式聚合和重新标记
我目前有以下 Promql 查询,它允许我查询每个 K8S pod 使用的内存:
sum(container_memory_working_set_bytes{image!="",name=~"^k8s_.*"}) by (pod_name)
Pod 的名称后跟 K8S 定义的哈希:
这都属于同一个应用程序:weave-net
我想要的是聚合属于同一应用程序的所有 pod 的内存。
因此,查询将汇总所有weave-net
pod 的内存并将结果放在名为weave
. 比如结果会是:
代替
是否有可能这样做,如果可以,怎么做?
grafana - 如何使用 Prometheus 和 collectd 导出器绘制 grafana 中的 cpu 使用情况?
promql 的新手,我正在尝试随着时间的推移绘制 cpu 使用情况,我发现以下示例获得了静态使用百分比,但我如何将其转换为 grafana 的速率?
grafana - 如何通过 prometheus promQL 中的某个列连接两个指标(用于 grafana 仪表板)
如何连接两个指标以将其放在 grafana 列的单行上?
我有两个指标:
部署{label="xyz", deploy_time="2019",job="deployments"}
metric1{app="abc", deploy_time="2019"}
如何deploy_time
在 grafana 仪表板的 promQL 中加入这两者,它看起来像这样:
prometheus - Prometheus 查询一个时间间隔下的总体平均值
如何找到时间间隔内指标的总体平均值?
avg(metric) = 总体平均值 ,但
avg_over_time(metrics[interval]) = 每个标签的平均值
avg( avg_over_time(metric[scrape interval]) ) 不会与(当数据不连续且分母值不同时)avg(metric) !!!!
给定一个场景,在一段时间内找到总体平均值的可能方法是什么。
例如:现在求平均响应时间,求过去一小时内触发的所有请求的平均响应时间(总体)。
该数字将有助于通知最新升级的性能问题。
grafana - 在 Prometheus 中显示标签出现次数大于 N 的系列表
在 Prometheus 中,给出了下面的指标定义,我如何为指标系列中排名前 5 位的重复设备呈现表格?
我想在 Grafana 中为上述标签呈现一个表格,以显示设备 1234 是所选时间段内的嘈杂设备。我尝试了 topk 运算符,但它呈现超过 3 个。(我在表中看到 100 行而不是 3 行) https://www.robustperception.io/graph-top-n-time-series-in-grafana声称支持格拉法纳的顶级。但我不明白如何使它适应一张桌子。
kubernetes - 使用 PromQL 分组
我想通过将使用的内核数除以 CPU 限制(可分配的内核数)来计算实际的容器 CPU 使用率。因此,我得到了 4 个 pod 的两个不同指标:
- 每个 pod 使用的核心数
- 每个 pod 的可用核心数
我的问题:
我想获取每个容器的 CPU 使用率(已用内核数/可用内核数)。
我尝试了什么:
这两个查询中的每一个都返回我想要的内容:
- 每个 pod 当前使用的核心数:
(我使用 label_replace 是因为一个指标pod_name
用作指标名称,而另一个用作指标名称pod
)
label_replace(sum(rate(container_cpu_usage_seconds_total{pod_name=~"rewe-bd-palantir-vernemq.*", container_name="vernemq"}[1m])) by (pod_name), "pod", "$1", "pod_name", "(.*)")
回复:https ://monosnap.com/direct/6EPuLF59HBJaYsAmKG6CM0fRPyUXDk
- 每个 pod 的可用核心数:
sum(kube_pod_container_resource_limits_cpu_cores{pod=~"rewe-bd-palantir-vernemq.*", container="vernemq", job="kubernetes-pods"}) by (pod)
回复:https ://monosnap.com/direct/dRBfitwcxHIrTRYDmYHwV5YkomYJjH
此查询不起作用(未返回任何数据点):
我的问题:
如何实现一个查询,返回每个 pod 的 CPU 使用率(已用内核数/可用内核数)?
prometheus - 当需要标量值时,PromQL 小数查询返回“null”
我有一个布尔度量(即样本只有整数0
或1
)称为my_boolean_metric
. 它有各种标签,包括outcome
范围在 values上的标签{"success", "failure"}
。我正在尝试一个分数查询,它应该总是返回一个介于两者之间的浮点0
值1
。
分子查询返回与my_boolean_metric
给定标签匹配的时间序列数,或者0
如果没有这样的时间序列。
(count(my_boolean_metric{app="abc", team=~"foo", instance=~"bar", outcome="success"}) or (1 - absent(my_boolean_metric{app="abc", team=~"nirvana", instance=~"bar", outcome="success"})))
返回的值是介于两者之间的0
整数n
。
分母查询返回与my_boolean_metric
给定标签匹配的时间序列数,与分子查询不同,它不关心“结果”标签。
count(my_boolean_metric{app="abc", team=~"foo", instance=~"bar"})
this 的值始终是整数n
。
以下分数查询返回null
(即 Prometheus/Thanos UI 中的“未找到数据点”),即使每个单独测试的查询都返回一个整数。
(count(my_boolean_metric{app="abc", team=~"foo", instance=~"bar", outcome="success"}) or (1 - absent(my_boolean_metric{app="abc", team=~"foo", instance=~"bar", outcome="success"}))) / count(my_boolean_metric{app="abc", team=~"foo", instance=~"bar"})
以下带有硬编码分母的分数查询确实成功。
(count(my_boolean_metric{app="abc", team=~"foo", instance=~"bar", outcome="success"}) or (1 - absent(my_boolean_metric{app="abc", team=~"foo", instance=~"bar", outcome="success"}))) / 9
我的分数查询有什么问题?
prometheus - 如何使用 `group_left` 语句执行 `count_over_time`?
我想知道基于特定标签在 Kubernetes 中创建的作业数量。以下是我想出的。由于某些间隔之间存在差距,我想随着时间的推移进行计数。
我在哪里放置范围矢量选择器?