Watcher 比较条件
编辑Watcher 比较条件编辑
使用 compare
条件对监视器有效负载中的值执行简单比较。您可以在不启用动态脚本的情况下使用 compare
条件。
表 82. 支持的比较运算符
名称 | 描述 |
---|---|
|
当解析后的值等于给定值时返回 |
|
当解析后的值不等于给定值时返回 |
|
当解析后的值大于给定值时返回 |
|
当解析后的值大于或等于给定值时返回 |
|
当解析后的值小于给定值时返回 |
|
当解析后的值小于或等于给定值时返回 |
使用比较条件编辑
要使用 compare
条件,您需要指定要在执行上下文中评估的值、一个 比较运算符 以及要比较的值。例如,以下 compare
条件如果 搜索结果 中的总命中数大于或等于 5,则返回 true
比较日期和时间时,可以使用 <{expression}>
形式的日期数学表达式。例如,以下表达式如果监视器在过去五分钟内执行,则返回 true
{ "condition" : { "compare" : { "ctx.execution_time" : { "gte" : "<{now-5m}>" } } } }
您还可以通过将比较值指定为 {{path}}
形式的路径来比较执行上下文中的两个值。例如,以下条件将 ctx.payload.aggregations.status.buckets.error.doc_count
与 ctx.payload.aggregations.handled.buckets.true.doc_count
进行比较
{ "condition" : { "compare" : { "ctx.payload.aggregations.status.buckets.error.doc_count" : { "not_eq" : "{{ctx.payload.aggregations.handled.buckets.true.doc_count}}" } } } }
访问执行上下文中的值编辑
您使用“点表示法”访问执行上下文中的值。由输入加载到执行上下文中的值以 ctx.payload
为前缀。
您可以使用它们的基于零的数组索引引用数组中的条目。例如,要访问 ctx.payload.hits.hits
数组的第三个元素,请使用 ctx.payload.hits.hits.2
。
名称 | 描述 |
---|---|
|
当前正在执行的监视器的 ID。 |
|
此监视器开始执行的时间。 |
|
此监视器被触发的時間。 |
|
此监视器应该被触发的時間。 |
|
与监视器关联的任何元数据。 |
|
监视器输入加载的有效负载数据。 |