Условие сравнения Watcher
Используйте условие compare, чтобы выполнить простое сравнение со значением в полезной нагрузке наблюдения. Вы можете использовать условие compare, не активируя динамический скриптинг.
Таблица 77. Поддерживаемые операторы сравнения
| Имя | Описание |
|---|---|
| Возвращает |
| Возвращает |
| Возвращает |
| Возвращает |
| Возвращает |
| Возвращает |
Использование условия сравнения
Чтобы использовать условие 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/7.17/condition-compare.html