问题标签 [metricsql]

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 投票
1 回答
462 浏览

promql - PromQL 或 MetricsQL 中的线性插值

我正在评估 VictoriaMetrics 的 IoT 应用程序,由于硬件或通信问题,我们有时会在系列中出现差距。在某些时间序列报告情况下,为缺失的时间间隔插入值对我们很有帮助。我看到MetricsQL(它扩展了 PromQL)有一个keep_last_value()函数可以通过保持最后一个观察到的值直到出现新的值来填补空白(这对我们有帮助),但在某些情况下,间隙之前和之后的值之间存在线性插值是对缺失部分的更现实的估计。PromQL 或 MetricsQL 中是否有一个函数可以对系列中的缺失数据进行线性插值,或者是否可以构建一个更复杂的查询来实现这一点?

阐明所需的插值

我想要的是在间隙前后的点之间进行简单的插值;我相信这就是 TimescaleDB 的interpolate()函数所做的。换句话说,如果我的时间序列是:

我希望插值 3:00 为4.5,即前后点之间的一半。我不希望它是 6(这是我通过从缺失点之前的点推断得到的,忽略之后的点)并且我不想要如果我对整体进行线性回归会得到任何值系列并在 3:00 进行插值(大概是 3,或接近它)。

当然,这只是一个简单的说明,间隔也有可能持续超过一个时间步长。但在那种情况下,我仍然希望插值仅基于间隙之前和之后的点,忽略系列的其余部分。

0 投票
1 回答
1179 浏览

prometheus - 在 PromQL/MetricsQL 中按时间分组和聚合

我有一个度量标准,例如 x,类型规,并且每 5m 报告一次值。

现在我想做一个查询,这样我得到一天中每个小时的值总和。

示例:从下午 3 点到下午 5 点,仪表值是 1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2 ,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1 ,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2 每 5 分钟报告一次 - 总共 60 个值

我的查询结果应该是 3PM-4PM -> 45 和 4PM-5PM -> 45(一小时内所有值的总和)

TIA

0 投票
1 回答
443 浏览

prometheus - 使用 PromQL 计算事件发生或指标报告的次数

我使用 Victoria Metrics 来跟踪 IOT 设备。每当设备连接/断开连接时,我都会在 Victoria Metrics 中插入一个指标。我的指标名称是 devcon_s。我可以使用这个查询数据 - devcon_s{device_id="something"}

但我想知道一天中设备断开连接的频率。我尝试这样的查询 - sum_over_time(count_values without(kd_id) ("value", devcon_s{kd_id="something"} == 0)[1d:])

count_over_time((devcon_s{kd_id="something"} == 0)[1d:])

步长等于 1d 或 1h。但它并没有给我报告事件的实际计数,而是其他对我没有意义的东西。难道我做错了什么 ?还是无法计算 promQL 中的实际值数

0 投票
1 回答
267 浏览

promql - PromQL/Victoria Metrics - 将时间序列与不同分辨率相乘

我有一个关于 promql 级数乘法的问题。我有 2 个时间序列,它们有不同的采样(5 分钟和 15 分钟)。我需要以相同的分辨率将它们相乘并求和

就像是:

这不起作用,但输出将是:

  • 使 metric1 和 metric2 具有相同的分辨率(15 分钟)
  • 逐个样本相乘
  • 1h 时的合计(总和)

这可能吗?

谢谢!

0 投票
1 回答
83 浏览

metricsql - MetricsQL 中的 rollup_rate (avg) 和 rate 有什么区别?

如标题所述,avg来自MetricsQLrollup_rate()rate()in MetricsQL 有什么区别?

从官方文档中我不清楚。

0 投票
1 回答
596 浏览

prometheus - 获取每个时间序列的最新值

如何在 MetricsQL 或 PromQL 中查询每个时间序列的最新值?

例如,查询为长范围metric_name返回两个时间序列:metric_name{job="foo"}metric_name{job="bar"}

有没有办法获得每个标签的最新值?因此该响应将仅包含两个时间戳——一个用于 job="foo",另一个用于 job="bar":

0 投票
2 回答
1599 浏览

prometheus - 范围向量上的 PromQL avg()

在范围向量上应用 avg() 是什么意思,例如:

根据此处的文档,它仅在即时向量上运行。metric_name[1d] 返回一个范围向量。此查询仍然在范围向量上运行并返回结果,而不会抱怨错误。

0 投票
1 回答
162 浏览

prometheus - promQL API 端点

根据此处的文档,有 2 个 API 端点用于查询,一个用于范围查询(GET /api/v1/query_range),一个用于即时查询(GET /api/v1/query)

同时,我一直在向即时 API 端点发布这样的查询:

上面查询的返回范围向量(矩阵结果类型)具有指定的持续时间。我假设由于查询需要一个范围向量结果,尽管 API 端点用于即时查询,但这是返回的结果。开始时间是执行时间之前的 5 分钟,可以在 API 的“时间”URL 参数中指定,这实际上也是结束时间。不太清楚这一步是什么,我猜它正在收集所有可用的原始数据点?

这种对正在发生的事情的分解是否正确?

0 投票
1 回答
88 浏览

prometheus - 您可以在 Grafana 查询检查器中显示多个响应吗

我在 Grafana 的编辑面板中有多个 promQL 和 influxQL 查询。所有结果都显示在查询上方的图表中。我还想在 Grafana 的查询检查器窗口中查看这些查询的结果,但只显示其中一个结果。我可以看到 Grafana 计算了所有结果,但在查询检查器窗口中覆盖了它们。有没有办法在查询检查器中显示所有查询的结果?

0 投票
1 回答
92 浏览

prometheus - 将流入百分位函数转换为 promQL

我需要将以下流入查询翻译为 promQL