【发布时间】:2020-03-03 05:04:12
【问题描述】:
我是 Prometheus 和警报的新手,我无法通过查看文档来确定我的答案。
我有一些数据将进入弹性搜索集群。每天,该进程都会在 elasticsearch 上创建一个新索引,并将当天的数据写入该索引(例如,my_index-2019-10-06、my_index-2019-10-05、...)。我想监视今天索引的大小并查看它是否在增长,如果它没有在定义的时间间隔(例如 15 分钟)内增长,我想在 Prometheus 中发出警报。为此,我正在考虑在警报规则中使用这样的expr:
expr: delta(elasticsearch_index_primary_store_size{index_name="my_index-TODAY-DATE"}[15m] <= 0)
TODAY-DATE 应该是动态的,并且每天都会生成。但据我了解,标签值中不能有动态值,也不能有获取日期的函数。
然后我在考虑比较所有以my_index开头的索引大小总和的delta,但是这种方法的问题是保留时间,如果删除了一个索引,总和的delta可能是负数,而新数据将出现在今日指数中。
你有解决这个问题的方法吗?
提前致谢。
【问题讨论】:
标签: elasticsearch prometheus prometheus-alertmanager promql elasticsearch-indices