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 中的实际值数
解决方案
MetricsQL提供函数,该函数返回每个时间序列匹配的时间范围内count_le_over_time(m[d], le)
值小于或等于le
时间范围的原始数据点的数量。[d]
m
以下查询应返回最后一天 value<=0 的原始数据点的数量:
count_le_over_time(devcon_s{k_id="something"}[1d])
推荐阅读
- c++ - Zlib 通货膨胀流未在 PNG IDAT 数据末尾设置为 Z_STREAM_END
- sql - SQL 从查询结果中删除重复的数据行
- python - 构建一个贪婪的任务调度器 - Python 算法
- python - python beatifulsoup webscrape循环中的不同元素
- java - 在 Spring Batch 中读取一个项目并将项目列表写入文件
- php - Woocommerce 中带有空 $order 参数的 woocommerce_email_attachments 钩子
- c# - 有没有办法通过 Android 和 iOS 的 Xamarin 中的步进器更改整个应用程序中的字体大小?
- ffmpeg - 在 Python 上保存动画
- android-studio - 如何从 Android Studio 运行 Spring Boot 服务?
- amazon-web-services - ELB日志解读