【问题标题】:InfluxDB query to PromQLInfluxDB 查询 PromQL
【发布时间】:2021-01-24 23:08:04
【问题描述】:

我需要将 InfluxDB 查询翻译成 PromQL,请帮忙。这些是请求: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/diskio

计算每个磁盘和主机的 IO 利用率百分比:

SELECT non_negative_derivative(last("io_time"),1ms) FROM "diskio" WHERE time > now() - 30m GROUP BY "host","name",time(60s)

计算平均队列深度:iops_in_progress 会给你一个 瞬时值。这将为您提供轮询之间的平均值 间隔。

SELECT non_negative_derivative(last("weighted_io_time"),1ms) from "diskio" WHERE time > now() - 30m GROUP BY "host","name",time(60s)

【问题讨论】:

    标签: prometheus promql


    【解决方案1】:

    假设this conversion scheme is used for converting InfluxDB data to Prometheus data,以下 PromQL 查询应该可以工作:

    max(rate(diskio_io_time[60s])/1000) by (host, name)
    
    max(rate(diskio_weighted_io_time[60s])/1000) by (host, name)
    

    需要除以 1000 才能将相应时间序列的毫秒数转换为秒数 - diskio_io_timediskio_weighted_io_time

    Prometheus 接受查询的时间范围,通过 startend args 传递给 /api/v1/query_range Prometheus 查询 API 处理程序,因此上述查询没有时间过滤器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-25
      • 2020-10-29
      • 2022-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-20
      • 1970-01-01
      相关资源
      最近更新 更多