Размещение события v2: различия между версиями

Материал из Dynatrace
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
Принимает пользовательское событие в Ключ-АСТРОМ.
Принимает пользовательское событие в Dynatrace.


Запрос создает <code>application/json</code>полезную нагрузку.
Запрос создает <code>application/json</code>полезную нагрузку.
Важный
Прием пользовательских событий использует единицы данных Дейвиса (DDU) из пула событий.
Первых компаний, внедривших
Этот запрос является выпуском Early Adopter и может быть изменен несовместимым образом.
{| class="wikitable"
{| class="wikitable"
| rowspan="3" |СООБЩЕНИЕ
| rowspan="3" |POST
|Удалось
|Managed
|<code><nowiki>https://{your-domain}/e/{your-environment-id}/api/v2/events/ingest</nowiki></code>
|<code><nowiki>https://{your-domain}/e/{your-environment-id}/api/v2/events/ingest</nowiki></code>
|-
|-
Строка 18: Строка 10:
|<code><nowiki>https://{your-environment-id}.live.dynatrace.com/api/v2/events/ingest</nowiki></code>
|<code><nowiki>https://{your-environment-id}.live.dynatrace.com/api/v2/events/ingest</nowiki></code>
|-
|-
|Окружающая среда ActiveGate
|Окружающая среда АктивногоШлюза
|<code><nowiki>https://{your-activegate-domain}/e/{your-environment-id}/api/v2/events/ingest</nowiki></code>
|<code><nowiki>https://{your-activegate-domain}/e/{your-environment-id}/api/v2/events/ingest</nowiki></code>
|}
|}


== Аутентификация ==
== Аутентификация ==
Чтобы выполнить этот запрос, вам нужен токен доступа с областью событий Ingest ( <code>events.ingest</code>) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Чтобы выполнить этот запрос, вам нужен токен доступа с областью событий Ingest ( <code>events.ingest</code>) . Чтобы узнать, как его получить и использовать, см. раздел [[Токены и аутентификация (API)|Токены и аутентификация]] .


== Параметры ==
== Параметры ==
Строка 30: Строка 22:
!Тип
!Тип
!Описание
!Описание
!В
!In
!Необходимый
!Необходимость
|-
|-
|тело
|body
|Прием событий
|EventIngest
|Тело JSON запроса. Содержит свойства нового события.
|Тело JSON запроса. Содержит свойства нового события.
|тело
|body
|необязательный
|необязательный
|}
|}
Строка 49: Строка 41:
!Описание
!Описание
|-
|-
|тип события
|eventType
|нить
|string
|Тип события.
|Тип события.


Строка 66: Строка 58:
* <code>RESOURCE_CONTENTION_EVENT</code>
* <code>RESOURCE_CONTENTION_EVENT</code>
|-
|-
|заглавие
|title
|нить
|string
|Название события.
|Название события.
|-
|-
|время начала
|startTime
|целое число
|integer
|Время начала события в миллисекундах UTC.
|Время начала события в миллисекундах UTC.


Строка 78: Строка 70:
Может быть <code>null</code>.
Может быть <code>null</code>.
|-
|-
|время окончания
|endTime
|целое число
|integer
|Время окончания события в миллисекундах UTC.
|Время окончания события в миллисекундах UTC.


Строка 86: Строка 78:
Может быть <code>null</code>.
Может быть <code>null</code>.
|-
|-
|тайм-аут
|timeout
|целое число
|integer
|Время ожидания события в минутах.
|Время ожидания события в минутах.


Строка 94: Строка 86:
Может быть <code>null</code>.
Может быть <code>null</code>.
|-
|-
|селектор объектов
|entitySelector
|нить
|string
|Селектор сущностей , определяющий набор сущностей Ключ-АСТРОМ, которые будут связаны с событием.
|Селектор сущностей , определяющий набор сущностей Dynatrace, которые будут связаны с событием.


Можно выбрать только объекты, которые были активны в течение последних 24 часов.
Можно выбрать только объекты, которые были активны в течение последних 24 часов.
Строка 104: Строка 96:
Может быть <code>null</code>.
Может быть <code>null</code>.
|-
|-
|характеристики
|properties
|объект
|object
|Карта свойств события.
|Карта свойств события.


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


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


Может быть <code>null</code>.
Может быть <code>null</code>.
Строка 136: Строка 128:
|-
|-
|201
|201
|Результаты приема событий
|EventIngestResults
|Запрос приема события был получен сервером. Тело ответа указывает для каждого события, было ли его создание успешным.
|Запрос приема события был получен сервером. Тело ответа указывает для каждого события, было ли его создание успешным.
|}
|}
Строка 149: Строка 141:
!Описание
!Описание
|-
|-
|отчетПодсчет
|reportCount
|целое число
|integer
|Количество созданных отчетов о событиях.
|Количество созданных отчетов о событиях.


Может быть <code>null</code>.
Может быть <code>null</code>.
|-
|-
|eventIngestРезультаты
|eventIngestResults
|Результат загрузки события []
|EventIngestResult[]
|Результат каждого созданного отчета о событиях.
|Результат каждого созданного отчета о событиях.


Строка 169: Строка 161:
!Описание
!Описание
|-
|-
|статус
|status
|нить
|string
|Статус приема.
|Статус приема.


Строка 182: Строка 174:
Может быть <code>null</code>.
Может быть <code>null</code>.
|-
|-
|идентификатор корреляции
|correlationId
|нить
|string
|Идентификатор корреляции созданного события.
|Идентификатор корреляции созданного события.



Текущая версия на 15:02, 24 января 2023

Принимает пользовательское событие в Dynatrace.

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

POST Managed 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) . Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .

Параметры

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

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

Объект _ EventIngest

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

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

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

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

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

Может быть null.

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

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

Может быть null.

timeout integer Время ожидания события в минутах.

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

Может быть null.

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

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

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

Может быть null.

properties object Карта свойств события.

Ключи с префиксом dt.*зарезервированы и могут использоваться для установки свойств события с предопределенной семантикой в ​​продукте Dynatrace. Все остальные ключи интерпретируются как определяемые пользователем свойства события.

Значения зарезервированных Dynatrace свойств (обозначаемых ключом с префиксом dt.*) должны соответствовать требованиям соответствующего свойства.

Может быть null.

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

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

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

Ответ

Коды ответов

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

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

Объект _ EventIngestResults

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

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

Может быть null.

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

Может быть null.

Объект _ EventIngestResult

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

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

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

  • INVALID_ENTITY_TYPE
  • INVALID_METADATA
  • INVALID_TIMESTAMPS
  • OK

Может быть null.

correlationId 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