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

Материал из Dynatrace

Принимает пользовательское событие в Ключ-АСТРОМ.

Запрос создает application/jsonполезную нагрузку.

Важный

Прием пользовательских событий использует единицы данных Дейвиса (DDU) из пула событий.

Первых компаний, внедривших

Этот запрос является выпуском Early Adopter и может быть изменен несовместимым образом.

СООБЩЕНИЕ Удалось https://{your-domain}/e/{your-environment-id}/api/v2/events/ingest
SaaS https://{your-environment-id}.live.dynatrace.com/api/v2/events/ingest
Окружающая среда АктивногоШлюза https://{your-activegate-domain}/e/{your-environment-id}/api/v2/events/ingest

Аутентификация

Чтобы выполнить этот запрос, вам нужен токен доступа с областью событий Ingest ( events.ingest) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .

Параметры

Параметр Тип Описание В Необходимый
тело Прием событий Тело JSON запроса. Содержит свойства нового события. тело необязательный

Объекты тела запроса

Объект _ EventIngest

Конфигурация события для загрузки.

Элемент Тип Описание
тип события string Тип события.

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

  • AVAILABILITY_EVENT
  • CUSTOM_ALERT
  • CUSTOM_ANNOTATION
  • CUSTOM_CONFIGURATION
  • CUSTOM_DEPLOYMENT
  • CUSTOM_INFO
  • ERROR_EVENT
  • MARKED_FOR_TERMINATION
  • PERFORMANCE_EVENT
  • RESOURCE_CONTENTION_EVENT
заглавие string Название события.
время начала целое число Время начала события в миллисекундах UTC.

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

Может быть null.

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

Если не задано, используется время начала плюс время ожидания.

Может быть null.

тайм-аут целое число Время ожидания события в минутах.

Если не установлено, используется 15.

Может быть null.

селектор объектов string Селектор сущностей , определяющий набор сущностей Ключ-АСТРОМ, которые будут связаны с событием.

Можно выбрать только объекты, которые были активны в течение последних 24 часов.

Если не установлено, событие связано с dt.entity.environmentсущностью среды ( ).

Может быть null.

характеристики объект Карта свойств события.

Ключи с префиксом dt.*зарезервированы и могут использоваться для установки свойств события с предопределенной семантикой в ​​продукте Ключ-АСТРОМ. Все остальные ключи интерпретируются как определяемые пользователем свойства события.

Значения зарезервированных Ключ-АСТРОМ свойств (обозначаемых ключом с префиксом dt.*) должны соответствовать требованиям соответствующего свойства.

Может быть null.

JSON-модель тела запроса

Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.

{
  "eventType": "AVAILABILITY_EVENT",
  "title": "string",
  "startTime": 1,
  "endTime": 1,
  "timeout": 1,
  "entitySelector": "string",
  "properties": {}
}

Ответ

Коды ответов

Код Тип Описание
201 Результаты приема событий Запрос приема события был получен сервером. Тело ответа указывает для каждого события, было ли его создание успешным.

Объекты тела ответа

Объект _ EventIngestResults

Результаты приема событий.

Элемент Тип Описание
отчетПодсчет целое число Количество созданных отчетов о событиях.

Может быть null.

eventIngestРезультаты Результат загрузки события [] Результат каждого созданного отчета о событиях.

Может быть null.

Объект _ EventIngestResult

Результат созданного отчета о событиях.

Элемент Тип Описание
статус string Статус приема.

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

  • INVALID_ENTITY_TYPE
  • INVALID_METADATA
  • INVALID_TIMESTAMPS
  • OK

Может быть null.

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

Может быть null.

JSON-модель тела ответа

{
  "reportCount": 1,
  "eventIngestResults": [
    {
      "status": "INVALID_ENTITY_TYPE",
      "correlationId": "string"
    }
  ]
}

Примеры

Пример 1

Вариант использования

В этом примере запрос отправляет событие « Помечено для завершения » на узлы, которые планируется удалить. Такие хосты идентифицируются группой хостов cloud-burst-hosts . Событие автоматически применяется ко всем хостам, входящим в группу. В качестве дополнительной информации указываются цель прекращения и номер задания автоматизации.

Маркер API передается в заголовке авторизации .

Curl

curl --request POST \
  --url https://mySampleEnv.live.dynatrace.com/api/v2/events/ingest \
  --header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
  --data '{
    "eventType": "MARKED_FOR_TERMINATION",
    "title": "Planned host downscale",
    "entitySelector": "type(HOST),fromRelationship.isInstanceOf(type(HOST_GROUP),entityName(cloud-burst-hosts))",
    "properties": {
        "job.number": "21234346"
    }
}'

URL-адрес запроса

https://mySampleEnv.live.dynatrace.com/api/v2/events/ingest

Тело запроса

{
    "eventType": "MARKED_FOR_TERMINATION",
    "title": "Planned host downscale",
    "entitySelector": "type(HOST),fromRelationship.isInstanceOf(type(HOST_GROUP),entityName(cloud-burst-hosts))",
    "properties": {
        "job.number": "21234346"
    }
}

Тело ответа

{
  "reportCount": 2,
  "eventIngestResults": [
    {
      "correlationId": "41f5d263011a6c9a",
      "status": "OK"
    },
    {
      "correlationId": "80eae4d163cc5760",
      "status": "OK"
    }
  ]
}

Код ответа

201

Пример 2

В этом примере запрос отправляет событие Custom info в службу BookingService , помечая ее как цель нагрузочного теста.

Маркер API передается в заголовке авторизации .

Curl

curl --request POST \
  --url https://mySampleEnv.live.dynatrace.com/api/v2/events/ingest \
  --header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
  --data '{
    "eventType": "CUSTOM_INFO",
    "title": "Loadtest start",
    "timeout": 30,
    "entitySelector": "type(SERVICE),entityName.equals(BookingService)",
    "properties": {
        "Tool": "MyLoadTool",
        "Load per minute": "100",
        "Load pattern": "production"
    }
}'

URL-адрес запроса

https://mySampleEnv.live.dynatrace.com/api/v2/events/ingest

Тело запроса

{
    "eventType": "CUSTOM_INFO",
    "title": "Loadtest start",
    "timeout": 30,
    "entitySelector": "type(SERVICE),entityName.equals(BookingService)",
    "properties": {
        "Tool": "MyLoadTool",
        "Load per minute": "100",
        "Load pattern": "production"
    }
}

Тело ответа

{
  "reportCount": 1,
  "eventIngestResults": [
    {
      "correlationId": "eba82f647696e485",
      "status": "OK"
    }
  ]
}

Код ответа

201

Пример 3

В этом примере запрос отправляет в службу BookingService событие Error , указывающее на неудачное обновление. Для свойства allowDavisMerge установлено значение , что запрещает Дэвису объединять это событие с любым другим событием.false

Маркер API передается в заголовке авторизации .

Curl

curl --request POST \
  --url https://mySampleEnv.live.dynatrace.com/api/v2/events/ingest \
  --header 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \
  --data '{
    "eventType": "ERROR_EVENT",
    "title": "Product catalog update failed",
    "timeout": 30,
    "entitySelector": "type(SERVICE),entityName.equals(BookingService)",
    "properties": {
        "allowDavisMerge": "false",
        "Catalog": "APAC travels",
        "Batch processor": "travel-catalog"
    }
}'

URL-адрес запроса

https://mySampleEnv.live.dynatrace.com/api/v2/events/ingest

Тело запроса

{
    "eventType": "ERROR_EVENT",
    "title": "Product catalog update failed",
    "timeout": 30,
    "entitySelector": "type(SERVICE),entityName.equals(BookingService)",
    "properties": {
        "allowDavisMerge": "false",
        "Catalog": "APAC travels",
        "Batch processor": "travel-catalog"
    }
}

Тело ответа

{
  "reportCount": 1,
  "eventIngestResults": [
    {
      "correlationId": "cefb7ae03ac720b6",
      "status": "OK"
    }
  ]
}

Код ответа

201