grafana alert 细节。

78 阅读1分钟

当我们在 grafana 进行查询的时候,一般是范围查询。

range query 的参数:

  • start, end timestamp (通常为整数, 比如 5 minutes)
  • step, 步长。

如下图所示:

截屏2024-09-26 下午4.05.41.png

如上的例子,实际返回十一个时间点。

  • 12:00:00.获取从 11:58:30 到 12:00:00 的数据
  • 12:10:00.获取从 12:08:30 到 12:10:00 的数据

grafana alert 例子

对 go_gc_duration_seconds 进行查询,值为 0.00641。

每 1minute 一个点,查询五分钟,总共六个点。

截屏2024-09-26 下午4.11.17.png

将告警条件设置为 sum,对这六个点聚合,值为 0.03847。

截屏2024-09-26 下午4.11.52.png

如果将查询改成 sum_over_time,那么查询的值为 0.0256 = 0.00641 * 4。

这是因为原始的 scrape interval 是每 15s 一个点,1minutes 刚好四个点。

截屏2024-09-26 下午4.14.05.png

此时告警条件的值为 0.0256 * 6。

如果将 step 修改为 15s,其余条件不变。

那么告警获取的值为 0.13463 = 0.00641 * 21。

21 由 (5 * 60 / 15) + 1 计算得来。

截屏2024-09-26 下午4.41.42.png