Размещение события

Материал из Документация Ключ-АСТРОМ

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полезную нагрузку.

СООБЩЕНИЕ Managed 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 Тип события.

Элемент может содержать эти значения

  • AVAILABILITY_EVENT
  • CUSTOM_ALERT
  • CUSTOM_ANNOTATION
  • CUSTOM_CONFIGURATION
  • CUSTOM_DEPLOYMENT
  • CUSTOM_INFO
  • ERROR_EVENT
  • MARKED_FOR_TERMINATION
  • PERFORMANCE_EVENT
  • RESOURCE_CONTENTION
Начало integer Отметка времени начала события в миллисекундах UTC.

Если не установлено, используется текущая метка времени.

Вы можете сообщать о событиях только для информации за последние 30 дней .

Вы можете сообщать о событиях, открывающих проблемы, до 60 минут назад.

Может быть null.

конец integer Отметка времени окончания события в миллисекундах UTC.

Если не задано, текущее время используется только для информационных событий.

Не применимо к событиям открытия проблемы. Такое событие остается открытым до истечения времени ожидания в зависимости от параметра timeoutMinutes .

Может быть null.

timeoutMinutes integer Время ожидания для событий открытия проблемы в минутах. Не применимо к информационным событиям.

Если не установлено, используется 15 минут. Максимально допустимое значение составляет 120 минут.

Вы можете обновить событие, повторно отправив ту же полезную нагрузку.

Может быть null.

прикрепить правила Правила прикрепления push- событий Набор правил, определяющих объекты Ключ-Астром, которые будут связаны с событием.

Вы можете указать теги для динамического сопоставления сущностей Ключ-Астром или идентификаторов определенных сущностей.

Требуется хотя бы один идентификатор объекта или тег.

пользовательские свойства объект Набор любых свойств, связанных с событием, в формате «ключ»: «значение» .

Может быть null.

источник string Имя или идентификатор внешнего источника события.
тип аннотации string Тип пользовательской аннотации, например DNS route has been changed.

Может быть null.

аннотацияОписание string Подробное описание пользовательской аннотации, например DNS route has been changed to x.mydomain.com.

Может быть null.

описание string Текстовое описание изменения конфигурации.

Может быть null.

имя развертывания string Идентификатор запущенного развертывания.

Может быть null.

развертываниеВерсия string Версия запущенного развертывания.

Может быть null.

идентификаторы таймсерий string [] Список идентификаторов таймсерий, связанных с событием.

Может быть null.

развертываниеПроект string Имя проекта развернутого пакета.

Может быть null.

ciBackLink string Ссылка на развернутый артефакт в сторонней системе.

Может быть null.

исправлениеДействие string Ссылка на действие по исправлению, связанное с развертыванием, во внешнем инструменте.

Может быть null.

оригинальный string Предыдущее значение конфигурации.

Может быть null.

измененный string Новое значение конфигурации, установленное событием.

Может быть null.

конфигурация string Идентификатор или имя конфигурации, которая была изменена событием.

Может быть null.

заглавие string Название конфигурации, заданной событием.

Может быть null.

разрешитьDavisMerge логический Разрешить ИИ объединить это событие с существующими проблемами (верно) или принудительно создать новую проблему (ложь).

Это относится только к типам событий, открывающих проблемы.

Может быть null.

Объект PushEventAttachRules

Набор правил, определяющих объекты Ключ-Астром, которые будут связаны с событием.

Вы можете указать теги для динамического сопоставления сущностей Ключ-Астром или идентификаторов определенных сущностей.

Требуется хотя бы один идентификатор объекта или тег.

Элемент Тип Описание
идентификаторы объектов string [] Список идентификаторов сущностей, к которым должно быть прикреплено событие.

Может быть null.

tagRule Правило соответствия тегов [] Набор правил сопоставления для динамического выбора сущностей на основе тегов.

В правилах сопоставления на основе тегов учитываются только объекты, просмотренные в течение последних 24 часов .

Может быть null.

Объект TagMatchRule

Список тегов, которые будут использоваться для сопоставления сущностей Ключ-Астром.

Элемент Тип Описание
мнеТипы string [] Список типов сущностей Ключ-Астром (например, хосты или службы), которые вы хотите подобрать путем сопоставления.

Элемент может содержать эти значения

  • APM_SECURITY_GATEWAY
  • APPLICATION
  • APPLICATION_METHOD
  • APPLICATION_METHOD_GROUP
  • APPMON_SERVER
  • APPMON_SYSTEM_PROFILE
  • AUTO_SCALING_GROUP
  • AUXILIARY_SYNTHETIC_TEST
  • AWS_APPLICATION_LOAD_BALANCER
  • AWS_AVAILABILITY_ZONE
  • AWS_CREDENTIALS
  • AWS_LAMBDA_FUNCTION
  • AWS_NETWORK_LOAD_BALANCER
  • AZURE_API_MANAGEMENT_SERVICE
  • AZURE_APPLICATION_GATEWAY
  • AZURE_COSMOS_DB
  • AZURE_CREDENTIALS
  • AZURE_EVENT_HUB
  • AZURE_EVENT_HUB_NAMESPACE
  • AZURE_FUNCTION_APP
  • AZURE_IOT_HUB
  • AZURE_LOAD_BALANCER
  • AZURE_MGMT_GROUP
  • AZURE_REDIS_CACHE
  • AZURE_REGION
  • AZURE_SERVICE_BUS_NAMESPACE
  • AZURE_SERVICE_BUS_QUEUE
  • AZURE_SERVICE_BUS_TOPIC
  • AZURE_SQL_DATABASE
  • AZURE_SQL_ELASTIC_POOL
  • AZURE_SQL_SERVER
  • AZURE_STORAGE_ACCOUNT
  • AZURE_SUBSCRIPTION
  • AZURE_TENANT
  • AZURE_VM
  • AZURE_VM_SCALE_SET
  • AZURE_WEB_APP
  • CF_APPLICATION
  • CF_FOUNDATION
  • CINDER_VOLUME
  • CLOUD_APPLICATION
  • CLOUD_APPLICATION_INSTANCE
  • CLOUD_APPLICATION_NAMESPACE
  • CLOUD_NETWORK_INGRESS
  • CLOUD_NETWORK_POLICY
  • CONTAINER_GROUP
  • CONTAINER_GROUP_INSTANCE
  • CUSTOM_APPLICATION
  • CUSTOM_DEVICE
  • CUSTOM_DEVICE_GROUP
  • DCRUM_APPLICATION
  • DCRUM_SERVICE
  • DCRUM_SERVICE_INSTANCE
  • DEVICE_APPLICATION_METHOD
  • DISK
  • DOCKER_CONTAINER_GROUP
  • DOCKER_CONTAINER_GROUP_INSTANCE
  • DYNAMO_DB_TABLE
  • EBS_VOLUME
  • EC2_INSTANCE
  • ELASTIC_LOAD_BALANCER
  • ENVIRONMENT
  • EXTERNAL_SYNTHETIC_TEST_STEP
  • GCP_ZONE
  • GEOLOCATION
  • GEOLOC_SITE
  • GOOGLE_COMPUTE_ENGINE
  • HOST
  • HOST_GROUP
  • HTTP_CHECK
  • HTTP_CHECK_STEP
  • HYPERVISOR
  • KUBERNETES_CLUSTER
  • KUBERNETES_NODE
  • KUBERNETES_SERVICE
  • MOBILE_APPLICATION
  • NETWORK_INTERFACE
  • NEUTRON_SUBNET
  • OPENSTACK_PROJECT
  • OPENSTACK_REGION
  • OPENSTACK_VM
  • OS
  • PROCESS_GROUP
  • PROCESS_GROUP_INSTANCE
  • QUEUE
  • RELATIONAL_DATABASE_SERVICE
  • SERVICE
  • SERVICE_INSTANCE
  • SERVICE_METHOD
  • SERVICE_METHOD_GROUP
  • SWIFT_CONTAINER
  • SYNTHETIC_LOCATION
  • SYNTHETIC_TEST
  • SYNTHETIC_TEST_STEP
  • VIRTUALMACHINE
  • VMWARE_DATACENTER
теги Информация о теге [] Список тегов, которые вы хотите использовать для сопоставления. Требуется хотя бы один тег.

Вы можете использовать пользовательские теги из пользовательского интерфейса, импортированные теги и теги на основе переменных среды.

Объект TagInfo

Тег сущности Ключ-Астром.

Элемент Тип Описание
контекст string Происхождение тега, например AWS или Cloud Foundry.

Пользовательские теги используют это CONTEXTLESSзначение.

Элемент может содержать эти значения

  • AWS
  • AWS_GENERIC
  • AZURE
  • CLOUD_FOUNDRY
  • CONTEXTLESS
  • ENVIRONMENT
  • GOOGLE_CLOUD
  • KUBERNETES
ключ string Ключ тега.

Пользовательские теги имеют значение тега здесь.

стоимость string Значение тега.

Не применимо к пользовательским тегам.

Может быть null.

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 .

Может быть null.

сохраненные идентификаторы string [] Список закодированных идентификаторов событий для информационных событий.

Может быть null.

сохраненные корреляционные идентификаторы string [] Список идентификаторов корреляции для событий открытия проблемы.

Может быть null.

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