You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Timestream与Grafana设置数据上报缺失告警的技术问询

Timestream查询优化与Grafana告警配置方案

一、调整Timestream查询语句(检测设备上报缺失)

你的初始查询仅获取符合条件的上报数据,要实现“连续10分钟未上报”的告警,需要查询最后一次上报时间与当前时间的间隔,筛选出间隔超过10分钟的设备。

多设备场景(按设备标识分组)

假设你的设备标识字段为device_name(替换为实际表中的设备字段,比如device_id),使用以下查询:

SELECT
  device_name,
  MAX(time) AS last_report_time,
  DATE_DIFF('minute', MAX(time), CURRENT_TIMESTAMP) AS minutes_since_last_report
FROM $__database.$__table
WHERE 
  measure_name = 'Main' 
  AND measure_value::bigint = 51
  AND time >= ago(15 minutes) -- 限定查询最近15分钟数据,提升性能
GROUP BY device_name
HAVING DATE_DIFF('minute', MAX(time), CURRENT_TIMESTAMP) >= 10

单设备场景

如果只监控单个设备,无需分组,简化查询:

SELECT
  DATE_DIFF('minute', MAX(time), CURRENT_TIMESTAMP) AS minutes_since_last_report
FROM $__database.$__table
WHERE 
  measure_name = 'Main' 
  AND measure_value::bigint = 51
  AND time >= ago(15 minutes)
HAVING DATE_DIFF('minute', MAX(time), CURRENT_TIMESTAMP) >= 10

二、Grafana告警规则配置

  1. 面板与查询配置:新建Grafana面板,选择Timestream数据源,粘贴上述查询。
  2. 告警条件设置:
    • 切换到「Alert」标签页,点击「Create alert rule」。
    • 在「Condition」中,选择你的查询,设置判断逻辑为minutes_since_last_report >= 10(多设备场景可选择「Any」或「All」设备满足条件时触发)。
    • 「Evaluation interval」设为1分钟(控制告警检查频率)。
    • 「For」字段设为0(因为查询已直接筛选出超过10分钟的情况,无需额外等待;若需避免误报,可设为1分钟,确保连续两次检查都符合条件)。
  3. 通知配置:添加通知渠道(邮件、Slack等),在告警消息中可使用变量{{ $values.device_name }}、{{ $values.last_report_time }}等,展示具体设备和上报信息。

注意事项

  • 如果存在从未上报过符合条件数据的设备,上述查询不会返回结果,需结合设备清单表(若有)做LEFT JOIN来覆盖这种场景。
  • 调整ago(15 minutes)的时间范围,确保能覆盖设备正常上报的周期,同时避免不必要的全表扫描。

内容的提问来源于stack exchange,提问作者Jyoti Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 23:35:10