我正在运行bosun
以提醒elasticsearch
数据集。
场景是有许多 cron 作业可以做各种事情。如果这些成功执行,它们将记录成功消息。如果它们因任何原因死亡/无法运行并且未能记录成功消息,我们需要了解它。
我的问题是0
如果没有找到记录,而不是null
. 这是基本查询:
nv(sum(escount(esls("logs"), "context.taskname", esand(esgte("context.elapsed_time", 0), esor(esquery("context.taskname", "Task1 or Task2 or Task3 or Task4"))), "360m", "360m", "")), 0)
如果给定任务已在指定的时间间隔内运行,则查询应为该任务记录的成功消息数返回一个非零值。
这可行,但我希望仅在任务未运行时触发警报。问题是如果Task1
没有运行并记录完成消息,它只是从最终分组中删除而不是返回0
计数。
有没有办法确保返回的每个任务都esor
返回一些东西,即使它是零值?