kubernetes - 将 PromQL 'sum(rate(value))' 查询转换为 InfluxQL
问题描述
我正在创建一个自定义 k8s grafana 仪表板,其数据源为 InfluxDB (v1.8.6)。我浏览了 influxdb 文档并认识到prometheus rate() influx 的类比构造是non_negative_derivative(mean(value), interval)。但是在尝试将 prometheus 查询转换为 InfluxQL 时,结果查询值在针对相同时间间隔执行时会有所不同。我基本上是在尝试计算 k8s 集群网络 i/o 压力。
PromQL:
sum (rate (container_network_receive_bytes_total{kubernetes_io_hostname=~"^$Node$", job="kubernetes-nodes-cadvisor"}[1m]))
输出以字节为单位:7321180
涌入QL:
SELECT SUM(bytes_used) FROM (SELECT non_negative_derivative(mean(value), 1s) AS bytes_used FROM container_network_receive_bytes_total WHERE ("job" = 'kubernetes-nodes-cadvisor' AND "kubernetes_io_hostname" =~ /^$Node$/) AND $timeFilter GROUP BY time(1m)) group by time($__interval)
输出以 Mb/s 为单位:36.7 MB/s
有人可以帮助确定问题并纠正我吗?
解决方案
推荐阅读
- c# - 如何修复“每个表只能配置一列'Identity'。在Ef Core和Oracle中调用'ValueGeneratedNever'......
- laravel - Laravel:如何使用模型运行之外的数据创建 groupBy 并使用 where claus
- python - 根据 lambda 函数将 NumPy 整数列表值映射到列表
- vue.js - 无法即时更改过渡组的过渡
- java - 将密钥标识符作为 X509SubjectKeyIdentifier 签名失败的 SOAP XML WS-Security
- django - Django 使用略有不同的模板发送邮件
- encoding - 用于编码“UTF8”的无效字节序列:当我尝试使用 FormData 对象向服务器发布和图像时出现 0x00 响应
- c# - 命名空间“Microsoft”中不存在类型或命名空间名称“AspNetCore”(您是否缺少程序集引用?)
- python - 输入一次而不是多次询问
- build - 编译 grpc 错误 zlib_compress 和 zlib_decompress