Размещение события v2: различия между версиями
ENetrebin (обсуждение | вклад) |
ENetrebin (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
Принимает пользовательское событие в | Принимает пользовательское событие в Dynatrace. | ||
Запрос создает <code>application/json</code>полезную нагрузку. | Запрос создает <code>application/json</code>полезную нагрузку. | ||
{| 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> | ||
|- | |- | ||
Строка 23: | Строка 15: | ||
== Аутентификация == | == Аутентификация == | ||
Чтобы выполнить этот запрос, вам нужен токен доступа с областью событий 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. Все остальные ключи интерпретируются как определяемые пользователем свойства события. | ||
Значения зарезервированных | Значения зарезервированных 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>. | ||
|- | |- | ||
| | |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 | Тип события.
Элемент может содержать эти значения
|
title | string | Название события. |
startTime | integer | Время начала события в миллисекундах UTC.
Если не установлено, используется текущая метка времени. Может быть |
endTime | integer | Время окончания события в миллисекундах UTC.
Если не задано, используется время начала плюс время ожидания. Может быть |
timeout | integer | Время ожидания события в минутах.
Если не установлено, используется 15. Может быть |
entitySelector | string | Селектор сущностей , определяющий набор сущностей Dynatrace, которые будут связаны с событием.
Можно выбрать только объекты, которые были активны в течение последних 24 часов. Если не установлено, событие связано с Может быть |
properties | object | Карта свойств события.
Ключи с префиксом Значения зарезервированных Dynatrace свойств (обозначаемых ключом с префиксом Может быть |
JSON-модель тела запроса
Это модель тела запроса, показывающая возможные элементы. Его необходимо настроить для использования в реальном запросе.
{
"eventType": "AVAILABILITY_EVENT",
"title": "string",
"startTime": 1,
"endTime": 1,
"timeout": 1,
"entitySelector": "string",
"properties": {}
}
Ответ
Коды ответов
Код | Тип | Описание |
---|---|---|
201 | EventIngestResults | Запрос приема события был получен сервером. Тело ответа указывает для каждого события, было ли его создание успешным. |
Объекты тела ответа
Объект _ EventIngestResults
Результаты приема событий.
Элемент | Тип | Описание |
---|---|---|
reportCount | integer | Количество созданных отчетов о событиях.
Может быть |
eventIngestResults | EventIngestResult[] | Результат каждого созданного отчета о событиях.
Может быть |
Объект _ EventIngestResult
Результат созданного отчета о событиях.
Элемент | Тип | Описание |
---|---|---|
status | string | Статус приема.
Элемент может содержать эти значения
Может быть |
correlationId | string | Идентификатор корреляции созданного события.
Может быть |
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