5.6.2. TaskStart¶
Описание¶
Создание и запуск задач.
При запуске задачи обязательным полем является uri
, остальные настройки задачи передаются опционально.
Настройки мониторинга передаются двумя частями …
Архитектура Boro подразумевает, что некоторые настройки передаются задаче индивидуально, а другая часть настроек объединена в профиль порогов. Это позволяет назначить типовой задаче один из предустановленных профилей. Настройки порогов, описанные в методе ProfileInfo, должны быть переданы задаче путем выбора необходимого профиля, а не прямым указанием значения. Все возможные настройки описаны в главе Конфигурация задачи.
Если настройки не передаются, сервер назначит настройки задачи согласно следующим правилам:
профили уведомлений, порогов, записи и доступности сервиса задаются согласно типу запускаемого сервиса. Значения по умолчанию задаются пользователем в web-интерфейсе, смотрите подробности в Руководстве пользователя;
Настройки, не попадающие в профиль порогов, устанавливаются согласно значениям по умолчанию, описанным в главе Конфигурация задачи.
Чтобы отказаться от автоматического назначения и отключить профиль, передайте в запросе пустой массив для соответствующих типов настроек:
{
"profiles":{
"email":[],
"record":[],
"kpi":[],
...
},
}
Важно
Профиль порогов зонда невозможно отключить, это обязательный профиль.
Важно
Следующие профили могут быть назначены задаче только по одному: Alarm оповещения, пороги зонда, доступность сервиса.
Запрос¶
{
"user_id":(number),
"methods":[
{
"method":"TaskStart",
"params":{
"project_id":(number),
"app_id":(number),
"tasks":[
{
"uri":(string),
"name":(string),
"service":(string),
"tags":(string),
"profiles":{
"alarm":[(number)],
"email":[(number)],
"threshold":[(number)],
"pagerduty":[(number)],
"record":[(number)],
"snmp":[(number)],
"webhook":[(number)],
"telegram":[(number)],
"kpi":[(number)]
},
"task_config":{
...
}
}
]
}
}
]
}
user_id - целое число, идентификатор пользователя;
project_id - целое число, идентификатор проекта пользователя;
app_id - целое число, идентификатор зонда;
uri - строка, путь к анализируемому потоку (сервису, файлу);
name - строка, имя потока (например, название канала);
service - строка, идентификационное имя сервиса (канала) для консолидации состояний и ошибок сервиса из разных точек мониторинга. Данное поле связывает задачи проекта от разных зондов на виде MosaicView;
tags - строка, список тегов, разделенный запятыми. Теги применяются для фильтрации отображения на различных видах;
- profiles - объект, перечень идентификаторов профилей настроек системы оповещения, записи и доступности сервиса:
alarm - массив целых чисел, идентификатор профиля настроек триггеров Alarm оповещения. Текущая реализация позволяет задать только один профиль данного типа;
email - массив целых чисел, идентификаторы профилей настроек триггеров E-mail оповещения;
threshold - массив целых чисел, идентификатор профиля настроек и пороговых значений зонда. Текущая реализация позволяет задать только один профиль данного типа;
pagerduty - массив целых чисел, идентификаторы профилей настроек триггеров оповещения в систему PagerDuty;
record - массив целых чисел, идентификаторы профилей настроек записи;
snmp - массив целых чисел, идентификаторы профилей настроек триггеров SNMP оповещения;
webhook - массив целых чисел, идентификаторы профилей настроек триггеров Webhook оповещения;
telegram - массив целых чисел, идентификаторы профилей настроек триггеров оповещения в мессенджер Telegram;
kpi - массив целых чисел, идентификатор профиля настроек доступности сервиса. Текущая реализация позволяет задать только один профиль данного типа.
task_config - объект, настройки и дополнительная информация о задаче. Смотрите описание структуры в разделе Конфигурация задачи. Некоторые настройки необходимо передавать через профиль thresholds, см. описание метода ProfileInfo.
Ответ¶
{
"reply":[
{
"method":"TaskStart",
"result":[
{
"task_id":(number),
"app_id":(number),
"uri":(string),
"name":(string),
"status":(string),
"start":(string),
"start_f":(number),
"service":(string),
"tags":(string),
"profiles":{
"alarm":[(number)],
"email":[(number)],
"threshold":[(number)],
"pagerduty":[(number)],
"record":[(number)],
"snmp":[(number)],
"webhook":[(number)],
"telegram":[(number)],
"kpi":[(number)]
},
"task_config":{
...
}
}
]
}
]
}
task_id - целое число, идентификатор задачи;
app_id - целое число, идентификатор зонда;
uri - строка, путь к анализируемому потоку (сервису, файлу);
name - строка, имя потока (например, название канала);
status - строка, состояние задачи:
Scheduled
- задача поставлена на запуск. Данное состояние назначается задачам, запускаемым через API. Далее состояние изменяется, в зависимости от успешности запуска задачи;start - строка, дата и время создания задачи;
start_f - вещественное число, дата создания задачи в формате Unix time с дробной частью (для увеличения точности отсчетов);
service - строка, идентификационное имя сервиса (канала) для консолидации состояний и ошибок сервиса из разных точек мониторинга. Данное поле связывает задачи проекта от разных зондов на виде MosaicView;
tags - строка, список тегов, разделенный запятыми. Теги применяются для фильтрации отображения на различных видах;
- profiles - объект, перечень идентификаторов профилей настроек системы оповещения, записи и доступности сервиса:
alarm - массив целых чисел, идентификатор профиля настроек триггеров Alarm оповещения. Текущая реализация позволяет задать только один профиль данного типа;
email - массив целых чисел, идентификаторы профилей настроек триггеров E-mail оповещения;
threshold - массив целых чисел, идентификатор профиля настроек и пороговых значений зонда. Текущая реализация позволяет задать только один профиль данного типа;
pagerduty - массив целых чисел, идентификаторы профилей настроек триггеров оповещения в систему PagerDuty;
record - массив целых чисел, идентификаторы профилей настроек записи;
snmp - массив целых чисел, идентификаторы профилей настроек триггеров SNMP оповещения;
webhook - массив целых чисел, идентификаторы профилей настроек триггеров Webhook оповещения;
telegram - массив целых чисел, идентификаторы профилей настроек триггеров оповещения в мессенджер Telegram;
kpi - массив целых чисел, идентификатор профиля настроек доступности сервиса. Текущая реализация позволяет задать только один профиль данного типа.
task_config - объект, настройки и дополнительная информация о задаче. Смотрите описание структуры в разделе Конфигурация задачи.
Пример¶
#1. Простой пример, в котором передается название и URI задачи.
curl http://172.16.11.111/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":4,"methods":[{"method":"TaskStart", "params":{"project_id":23,"app_id":702,"tasks":[{"uri":"udp://239.1.1.3:1234","name":"CtrlAPI test1"}]}}]}'
#2. Пример, в котором дополнительно передаются опции захвата эскизов, профили оповещений и порогов, имя сервиса и теги, а также выбирается интерфейс.
curl http://172.16.11.111/ctrl_api/v1/json \
-H "Content-Type: application/json" \
--data '{"user_id":4,"methods":[{"method":"TaskStart","params":{"project_id":23,"app_id":702,"tasks":[{"uri":"udp://239.1.1.3:1234","name":"CtrlAPI test2","service":"Channel1","tags":"IPTV,HD,TV35","profiles":{"alarm":[79],"threshold":[96],"snmp":[263],"webhook":[265]},"task_config":{"iface":{"ip":"10.10.30.202"},"thumbnail":{"enable":true,"default_period":10,"scte35_period":1}}}]}}]}'
{
"reply":[
{
"method":"TaskStart",
"result":[
{
"task_id":236918,
"app_id":702,
"uri":"udp://239.1.1.3:1234",
"name":"CtrlAPI test2",
"status":"Scheduled",
"start":"2020-03-09 20:30:40 +0700",
"start_f":1583760640.8342988,
"service":"Channel1",
"tags":"IPTV,HD,TV35",
"profiles":{
"webhook":[
265
],
"snmp":[
263
],
"threshold":[
96
],
"alarm":[
79
]
},
"task_config":{
"uri":"udp://239.1.1.3:1234",
"name":"CtrlAPI test2",
"iface":{
"ip":"10.10.30.202"
},
"thumbnail":{
"enable":true,
"default_period":10,
"scte35_period":1
},
...
}
}
]
}
]
}