Spec-Zone.ru › Elasticsearch 7
›Elasticsearch Руководство [7.17] ›REST API ›API Watcher

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, что означает, что смотритель по умолчанию активен.

Тело запроса

Смотритель имеет следующие поля:

Имя Описание

trigger

Триггер, определяющий, когда должен запуститься смотритель.

input

Входные данные, определяющие данные для смотрителя.

condition

Условие, определяющее, должны ли выполняться действия.

actions

Список действий, которые будут выполнены, если условие совпадает.

metadata

Данные метаинформации в формате JSON, которые будут скопированы в записи истории.

throttle_period

Минимальное время между выполнением действий, значение по умолчанию 5 секунд. Это значение можно изменить в файле конфигурации с настройкой xpack.watcher.throttle.period.default_period. Если указаны оба значения, Watcher использует последнее значение в запросе.

throttle_period_in_millis

Минимальное время в миллисекундах между выполнением действий. Значение по умолчанию — 5000. Если указаны оба значения, Watcher использует последнее значение в запросе.

Примеры

В следующем примере добавляется смотритель с идентификатором 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API