API для запуска datafeed
Запускает один или несколько datafeed.
Запрос
POST _ml/datafeeds/<feed_id>/_start
Предварительные требования
- Прежде чем запустить datafeed, работа по выявлению аномалий должна быть открыта. В противном случае произойдет ошибка.
- Требуется привилегия кластера
manage_ml. Эта привилегия включена в встроенную рольmachine_learning_admin.
Описание
Datafeed должен быть запущен, чтобы получить данные из Elasticsearch. Datafeed можно запускать и останавливать несколько раз на протяжении его жизненного цикла.
Если вы перезапускаете остановленный datafeed, по умолчанию он продолжает обработку входных данных с миллисекунды, следующей за моментом остановки. Если новые данные были индексированы в эту же миллисекунду между остановкой и запуском, они будут проигнорированы.
Когда включены функции безопасности Elasticsearch, ваш datafeed запоминает, какие роли имел последний пользователь, создавший или обновивший его в момент создания/обновления, и выполняет запрос с использованием тех же самых ролей. Если при создании или обновлении datafeed были предоставлены заголовки дополнительной авторизации, эти учетные данные используются вместо этого.
Параметры пути
-
<feed_id> - (Обязательно, строка) Числовая строка, уникально идентифицирующая datafeed. Этот идентификатор может содержать строчные буквенно-цифровые символы (a-z и 0-9), дефисы и символы подчеркивания. Он должен начинаться и заканчиваться буквенно-цифровыми символами.
Параметры запроса
-
end -
(Необязательно, строка) Время, до которого datafeed должен работать, которое можно указать, используя один из следующих форматов:
- Формат ISO 8601 с миллисекундами, например
2017-01-22T06:00:00.000Z - Формат ISO 8601 без миллисекунд, например
2017-01-22T06:00:00+00:00 - Миллисекунды с начала эпохи, например
1485061200000
Аргументы даты и времени, использующие любой из форматов ISO 8601, должны иметь обозначение часового пояса, где
Zпринимается как сокращение для UTC.Когда ожидается URL (например, в браузерах),
+, используемый в обозначениях часового пояса, необходимо закодировать как%2B.Это значение является исключительным. Если вы не укажете время окончания, datafeed будет работать непрерывно.
- Формат ISO 8601 с миллисекундами, например
-
start -
(Необязательно, строка) Время, с которого datafeed должен начать работу, которое можно указать, используя те же форматы, что и параметр
end. Это значение включительно.Если вы не укажете время начала и datafeed связан с новой задачей обнаружения аномалий, анализ начнется с самого раннего времени, для которого доступны данные.
Если вы перезапускаете остановленный datafeed и указываете значение
start, которое раньше, чем отметка времени последней обработанной записи, datafeed будет продолжен с 1 миллисекунды после отметки времени последней обработанной записи. -
timeout - (Необязательно, время) Указывает время ожидания запуска datafeed. Значение по умолчанию — 20 секунд.
Тело запроса
Вы также можете указать параметры запроса (такие как end и start) в теле запроса.
Тело ответа
-
node - (строка) ID узла, на котором был запущен datafeed. Если datafeed разрешено открываться лениво и пока не назначен узлу, это значение — пустая строка.
-
started - (Булево) Для успешного ответа это значение всегда
true. В случае ошибки возвращается исключение.
Примеры
POST _ml/datafeeds/datafeed-total-requests/_start
{
"start": "2017-04-07T18:22:16Z"
} При запуске datafeed вы получаете следующие результаты:
{
"started" : true,
"node" : "node-1"
}
© 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/ml-start-datafeed.html