API создания или обновления смотрителя
Регистрирует новый смотритель в Watcher или обновляет существующий.
Запрос
PUT _watcher/watch/<watch_id>
Предварительные условия
- У вас должны быть
manage_watcherправа кластера, чтобы использовать этот API. Дополнительную информацию см. в Права доступа.
Описание
При регистрации смотрителя добавляется новый документ, представляющий смотритель, в индекс .watches, и его триггер немедленно регистрируется в соответствующем движке триггеров. Обычно для триггера schedule движком триггеров является планировщик.
Вы должны использовать Kibana или этот API для создания смотрителя. Не добавляйте смотрителя напрямую в индекс .watches с помощью API индексов Elasticsearch. Если функции безопасности Elasticsearch включены, не предоставляйте пользователям write права на индекс .watches.
При добавлении смотрителя вы также можете определить его начальное состояние активности. Для этого нужно установить параметр active.
Интеграция с безопасностью
При включенных функциях безопасности Elasticsearch ваш смотритель может индексировать или искать только в индексах, для которых у пользователя, сохранившего смотрителя, есть права. Если пользователь может читать индекс a, но не индекс b, то это же будет применяться, когда смотритель выполняется.
Параметры пути
-
<watch_id> - (Обязательно, строка) Идентификатор смотрителя.
Параметры запроса
-
active - (Необязательно, булево) Определяет, активен ли смотритель по умолчанию или неактивен. Значение по умолчанию —
true, что означает, что смотритель по умолчанию активен.
Тело запроса
Смотритель имеет следующие поля:
| Имя | Описание |
|---|---|
| Триггер, определяющий, когда должен запуститься смотритель. |
| Входные данные, определяющие данные для смотрителя. |
| Условие, определяющее, должны ли выполняться действия. |
| Список действий, которые будут выполнены, если условие совпадает. |
| Данные метаинформации в формате JSON, которые будут скопированы в записи истории. |
| Минимальное время между выполнением действий, значение по умолчанию 5 секунд. Это значение можно изменить в файле конфигурации с настройкой |
| Минимальное время в миллисекундах между выполнением действий. Значение по умолчанию — |
Примеры
В следующем примере добавляется смотритель с идентификатором my-watch, имеющий следующие характеристики:
- Расписание смотрителя срабатывает каждую минуту.
- Входные данные смотрителя ищут любые HTTP-ответы 404, произошедшие в течение последних пяти минут.
- Условие смотрителя проверяет, были ли найдены результаты поиска.
- При обнаружении смотритель отправляет электронное письмо администратору.
PUT _watcher/watch/my-watch
{
"trigger" : {
"schedule" : { "cron" : "0 0/1 * * * ?" }
},
"input" : {
"search" : {
"request" : {
"indices" : [
"logstash*"
],
"body" : {
"query" : {
"bool" : {
"must" : {
"match": {
"response": 404
}
},
"filter" : {
"range": {
"@timestamp": {
"from": "{{ctx.trigger.scheduled_time}}||-5m",
"to": "{{ctx.trigger.triggered_time}}"
}
}
}
}
}
}
}
}
},
"condition" : {
"compare" : { "ctx.payload.hits.total" : { "gt" : 0 }}
},
"actions" : {
"email_admin" : {
"email" : {
"to" : "admin@domain.host.com",
"subject" : "404 recently encountered"
}
}
}
} При добавлении смотрителя вы также можете определить его начальное состояние активности. Для этого нужно установить параметр active. Следующая команда добавляет смотритель и устанавливает его по умолчанию в неактивное состояние:
PUT _watcher/watch/my-watch?active=false
Если параметр active опущен, смотритель по умолчанию активен.
© 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/watcher-api-put-watch.html