Условие сравнения Watcher
Используйте условие compare для выполнения простого сравнения со значением в полезной нагрузке наблюдения. Вы можете использовать условие compare без включения динамического скриптирования.
Таблица 84. Поддерживаемые операторы сравнения
| Имя | Описание |
|---|---|
| Возвращает |
| Возвращает |
| Возвращает |
| Возвращает |
| Возвращает |
| Возвращает |
Использование условия сравнения
Для использования условия compare, вы указываете значение в контексте выполнения, которое нужно оценить, оператор сравнения и значение, с которым нужно сравнить. Например, следующее условие compare возвращает true, если количество общих совпадений в результате поиска поиска больше или равно 5:
{
"condition" : {
"compare" : {
"ctx.payload.hits.total" : {
"gte" : 5
}
}
}
} | Используйте обозначение точек для ссылки на значение в контексте выполнения. | |
| Укажите оператор сравнения и значение, с которым нужно сравнить. |
При сравнении дат и времени можно использовать математические выражения для дат вида <{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.
| Имя | Описание |
|---|---|
| Идентификатор наблюдения, которое выполняется в данный момент. |
| Время начала выполнения этого наблюдения. |
| Время срабатывания этого наблюдения. |
| Время, когда это наблюдение должно было сработать. |
| Любые метаданные, связанные с наблюдением. |
| Данные полезной нагрузки, загруженные вводом наблюдения. |
© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/condition-compare.html