API АппОптима / Эндпойнты среды / Развёртывание / События v1 / Размешение события
Эта функция отправляет пользовательские события из сторонних интеграций в один или несколько отслеживаемых объектов.
Этот эндпойнт позволяет сторонним системам, таким как платформы непрерывной интеграции (Jenkins, Bamboo, Electric Cloud и т. д.), предоставлять дополнительные сведения в АппОптима для автоматического анализа первопричин.
Вы можете использовать этот эндпойнт для:
- Отправки информационных событий из сторонних систем, чтобы предоставить АппОптима дополнительную информацию для автоматического анализа первопричин. Время закрытия события в этом случае уже известно, идентификаторы событий возвращаются мгновенно. Вы можете перенести эти события на срок до 30 дней в прошлое. Типы информационных событий:
CUSTOM_ANNOTATION
CUSTOM_CONFIGURATION
CUSTOM_DEPLOYMENT
CUSTOM_INFO
MARKED_FOR_TERMINATION
- Отправляйте события, открывающие проблему (например, увеличение количества ошибок), чтобы активировать механизм автоматического анализа первопричин АппОптима. Идентификаторы корреляции возвращаются вместо идентификаторов событий. Эти события остаются открытыми, пока не истечет указанный тайм-аут. Чтобы предотвратить истечение срока действия, вы можете обновить эти события, повторно отправив ту же полезную нагрузку. Эти события можно перенести в прошлое на срок до 60 минут . Типы событий, открывающих проблему (отсортированные по серьезности):
AVAILABILITY_EVENT
ERROR_EVENT
PERFORMANCE_EVENT
RESOURCE_CONTENTION
Запрос потребляет и создает application/json
полезную нагрузку.
СООБЩЕНИЕ | АппОптима | https://{your-domain}/e/{your-environment-id}/api/v1/events
|
Среда АктивногоШлюза | https://{your-activegate-domain}/e/{your-environment-id}/api/v1/events
|
Аутентификация
Чтобы выполнить этот запрос, вам необходимо разрешение на проблему с доступом и канал событий, метрики и топологию ( DataExport
) , назначенное вашему токену API. Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Параметры
Набор параметров зависит от типа события. Подробнее см . в разделе Сопоставление параметров ниже.
Параметр | Тип | Описание | In | Необходимость |
---|---|---|---|---|
body | Создание события | Тело запроса в формате JSON, содержащее параметры события. | body | необязательный |
Объекты тела запроса
Объект EventCreation
Конфигурация пользовательского события.
Элемент | Тип | Описание |
---|---|---|
тип события | string | Тип события.
Элемент может содержать эти значения
|
Начало | integer | Отметка времени начала события в миллисекундах UTC.
Если не установлено, используется текущая метка времени. Вы можете сообщать о событиях только для информации за последние 30 дней . Вы можете сообщать о событиях, открывающих проблемы, до 60 минут назад. Может быть |
конец | integer | Отметка времени окончания события в миллисекундах UTC.
Если не задано, текущее время используется только для информационных событий. Не применимо к событиям открытия проблемы. Такое событие остается открытым до истечения времени ожидания в зависимости от параметра timeoutMinutes . Может быть |
timeoutMinutes | integer | Время ожидания для событий открытия проблемы в минутах. Не применимо к информационным событиям.
Если не установлено, используется 15 минут. Максимально допустимое значение составляет 120 минут. Вы можете обновить событие, повторно отправив ту же полезную нагрузку. Может быть |
прикрепить правила | Правила прикрепления push- событий | Набор правил, определяющих объекты АппОптима, которые будут связаны с событием.
Вы можете указать теги для динамического сопоставления сущностей АппОптима или идентификаторов определенных сущностей. Требуется хотя бы один идентификатор объекта или тег. |
пользовательские свойства | объект | Набор любых свойств, связанных с событием, в формате «ключ»: «значение» .
Может быть |
источник | string | Имя или идентификатор внешнего источника события. |
тип аннотации | string | Тип пользовательской аннотации, например DNS route has been changed .
Может быть |
аннотацияОписание | string | Подробное описание пользовательской аннотации, например DNS route has been changed to x.mydomain.com .
Может быть |
описание | string | Текстовое описание изменения конфигурации.
Может быть |
имя развертывания | string | Идентификатор запущенного развертывания.
Может быть |
развертываниеВерсия | string | Версия запущенного развертывания.
Может быть |
идентификаторы таймсерий | string [] | Список идентификаторов таймсерий, связанных с событием.
Может быть |
развертываниеПроект | string | Имя проекта развернутого пакета.
Может быть |
ciBackLink | string | Ссылка на развернутый артефакт в сторонней системе.
Может быть |
исправлениеДействие | string | Ссылка на действие по исправлению, связанное с развертыванием, во внешнем инструменте.
Может быть |
оригинальный | string | Предыдущее значение конфигурации.
Может быть |
измененный | string | Новое значение конфигурации, установленное событием.
Может быть |
конфигурация | string | Идентификатор или имя конфигурации, которая была изменена событием.
Может быть |
заглавие | string | Название конфигурации, заданной событием.
Может быть |
разрешитьDavisMerge | логический | Разрешить ИИ объединить это событие с существующими проблемами (верно) или принудительно создать новую проблему (ложь).
Это относится только к типам событий, открывающих проблемы. Может быть |
Объект PushEventAttachRules
Набор правил, определяющих объекты АппОптима, которые будут связаны с событием.
Вы можете указать теги для динамического сопоставления сущностей АппОптима или идентификаторов определенных сущностей.
Требуется хотя бы один идентификатор объекта или тег.
Элемент | Тип | Описание |
---|---|---|
идентификаторы объектов | string [] | Список идентификаторов сущностей, к которым должно быть прикреплено событие.
Может быть |
tagRule | Правило соответствия тегов [] | Набор правил сопоставления для динамического выбора сущностей на основе тегов.
В правилах сопоставления на основе тегов учитываются только объекты, просмотренные в течение последних 24 часов . Может быть |
Объект TagMatchRule
Список тегов, которые будут использоваться для сопоставления сущностей АппОптима.
Элемент | Тип | Описание |
---|---|---|
мнеТипы | string [] | Список типов сущностей АппОптима (например, хосты или службы), которые вы хотите подобрать путем сопоставления.
Элемент может содержать эти значения
|
теги | Информация о теге [] | Список тегов, которые вы хотите использовать для сопоставления. Требуется хотя бы один тег.
Вы можете использовать пользовательские теги из пользовательского интерфейса, импортированные теги и теги на основе переменных среды. |
Объект TagInfo
Тег сущности АппОптима.
Элемент | Тип | Описание |
---|---|---|
контекст | string | Происхождение тега, например AWS или Cloud Foundry.
Пользовательские теги используют это Элемент может содержать эти значения
|
ключ | string | Ключ тега.
Пользовательские теги имеют значение тега здесь. |
стоимость | string | Значение тега.
Не применимо к пользовательским тегам. Может быть |
JSON-модель тела запроса
Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.
<{ "eventType": "CUSTOM_ANNOTATION", "start": 1521042929000, "end": 1521542929000, "attachRules": { "entityIds": [ "CUSTOM_DEVICE-0000000000000007" ], "tagRule": [ { "meTypes": [ "HOST" ], "tags": [ { "context": "CONTEXTLESS", "key": "customTag" } ] } ] }, "source": "OpsControl", "annotationType": "defect", "annotationDescription": "The coffee machine is broken" }
Отображение параметров
Событие доступности | Пользовательская аннотация | Пользовательская конфигурация | Пользовательское развертывание | Пользовательская информация | Событие ошибки | Перформанс | Конфликт ресурсов | Помечено для прекращения | |
---|---|---|---|---|---|---|---|---|---|
описание | запрос | выбрать | запрос | н/д | запрос | запрос | запрос | запрос | запрос |
заглавие | запрос | н/д | н/д | н/д | выбрать | запрос | запрос | запрос | выбрать |
источник | запрос | запрос | запрос | запрос | запрос | запрос | запрос | запрос | запрос |
тип аннотации | н/д | запрос | н/д | н/д | н/д | н/д | н/д | н/д | н/д |
аннотацияОписание | н/д | запрос | н/д | н/д | н/д | н/д | н/д | н/д | н/д |
имя развертывания | н/д | н/д | н/д | запрос | н/д | н/д | н/д | н/д | н/д |
развертываниеВерсия | н/д | н/д | н/д | запрос | н/д | н/д | н/д | н/д | н/д |
развертываниеПроект | н/д | н/д | н/д | выбрать | н/д | н/д | н/д | н/д | н/д |
ciBackLink | н/д | н/д | н/д | выбрать | н/д | н/д | н/д | н/д | выбрать |
исправлениеДействие | н/д | н/д | н/д | выбрать | н/д | н/д | н/д | н/д | н/д |
оригинальный | н/д | н/д | выбрать | н/д | н/д | н/д | н/д | н/д | н/д |
конфигурация | н/д | н/д | запрос | н/д | н/д | н/д | н/д | н/д | н/д |
пользовательские свойства | выбрать | выбрать | выбрать | выбрать | выбрать | выбрать | выбрать | выбрать | выбрать |
Ответ
Коды ответов
Код | Тип | Описание |
---|---|---|
200 | Результат хранилища событий | Успех |
Объекты тела ответа
Объект EventStoreResult
Содержит идентификаторы всех настраиваемых событий, созданных с помощью push-вызова события.
Элемент | Тип | Описание |
---|---|---|
сохраненные идентификаторы событий | целое [] | Список идентификаторов событий для информационных событий.
Это поле предусмотрено для совместимости. Вместо этого следует использовать значения из поля storeIds . Может быть |
сохраненные идентификаторы | string [] | Список закодированных идентификаторов событий для информационных событий.
Может быть |
сохраненные корреляционные идентификаторы | string [] | Список идентификаторов корреляции для событий открытия проблемы.
Может быть |
JSON-модель тела ответа
<{ "storedEventIds": [ 1 ], "storedIds": [ "string" ], "storedCorrelationIds": [ "string" ] }
Пример
В этом примере запрос отправляет событие CUSTOM_ANNOTATION , которое применяется ко всем пользовательским устройствам с тегом Coffee-2nd-floor . Эта аннотация является уведомлением о том, что эти кофемашины сломаны.
Маркер API передается в заголовке авторизации .
Curl
<curl -X POST \ https://mySampleEnv.live.astromkey.com/api/v1/events \ -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ -H 'Content-Type: application/json' \ -d '{ "eventType": "CUSTOM_ANNOTATION", "timeoutMinutes": 0, "attachRules": { "tagRule": [ { "meTypes": [ "CUSTOM_DEVICE" ], "tags": [ { "context": "CONTEXTLESS", "key": "IG-test" } ] } ] }, "source": "OpsControl", "annotationType": "defect", "annotationDescription": "coffee machine is defective" }'
URL-адрес запроса
https://mySampleEnv.live.astromkey.com/api/v1/events
Тело запроса
<{ "eventType": "CUSTOM_ANNOTATION", "timeoutMinutes": 0, "attachRules": { "tagRule": [ { "meTypes": [ "CUSTOM_DEVICE" ], "tags": [ { "context": "CONTEXTLESS", "key": "IG-test" } ] } ] }, "source": "OpsControl", "annotationType": "defect", "annotationDescription": "coffee machine is defective" }
Тело ответа
<{ "storedEventIds": [ -6153476110846051426 ], "storedIds": [ "-6153476110846051426_1533300519291" ], "storedCorrelationIds": [] }
Код ответа
200