Размещение события v2: различия между версиями
ENetrebin (обсуждение | вклад)  | 
				ENetrebin (обсуждение | вклад)   | 
				||
| Строка 2: | Строка 2: | ||
Запрос создает <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  | |string  | ||
|Тип события.  | |Тип события.  | ||
| Строка 66: | Строка 58: | ||
* <code>RESOURCE_CONTENTION_EVENT</code>  | * <code>RESOURCE_CONTENTION_EVENT</code>  | ||
|-  | |-  | ||
|  | |title  | ||
|string  | |string  | ||
|Название события.  | |Название события.  | ||
|-  | |-  | ||
|  | |startTime  | ||
|integer  | |integer  | ||
|Время начала события в миллисекундах UTC.  | |Время начала события в миллисекундах UTC.  | ||
| Строка 78: | Строка 70: | ||
Может быть <code>null</code>.  | Может быть <code>null</code>.  | ||
|-  | |-  | ||
|  | |endTime  | ||
|integer  | |integer  | ||
|Время окончания события в миллисекундах UTC.  | |Время окончания события в миллисекундах UTC.  | ||
| Строка 86: | Строка 78: | ||
Может быть <code>null</code>.  | Может быть <code>null</code>.  | ||
|-  | |-  | ||
|  | |timeout  | ||
|integer  | |integer  | ||
|Время ожидания события в минутах.  | |Время ожидания события в минутах.  | ||
| Строка 94: | Строка 86: | ||
Может быть <code>null</code>.  | Может быть <code>null</code>.  | ||
|-  | |-  | ||
|  | |entitySelector  | ||
|string  | |string  | ||
|Селектор сущностей , определяющий набор сущностей Ключ-АСТРОМ, которые будут связаны с событием.  | |Селектор сущностей , определяющий набор сущностей Ключ-АСТРОМ, которые будут связаны с событием.  | ||
| Строка 104: | Строка 96: | ||
Может быть <code>null</code>.  | Может быть <code>null</code>.  | ||
|-  | |-  | ||
|  | |properties  | ||
|  | |object  | ||
|Карта свойств события.  | |Карта свойств события.  | ||
| Строка 136: | Строка 128: | ||
|-  | |-  | ||
|201  | |201  | ||
|  | |EventIngestResults  | ||
|Запрос приема события был получен сервером. Тело ответа указывает для каждого события, было ли его создание успешным.  | |Запрос приема события был получен сервером. Тело ответа указывает для каждого события, было ли его создание успешным.  | ||
|}  | |}  | ||
| Строка 149: | Строка 141: | ||
!Описание  | !Описание  | ||
|-  | |-  | ||
|  | |reportCount  | ||
|integer  | |integer  | ||
|Количество созданных отчетов о событиях.  | |Количество созданных отчетов о событиях.  | ||
| Строка 155: | Строка 147: | ||
Может быть <code>null</code>.  | Может быть <code>null</code>.  | ||
|-  | |-  | ||
|  | |eventIngestResults  | ||
|  | |EventIngestResult[]  | ||
|Результат каждого созданного отчета о событиях.  | |Результат каждого созданного отчета о событиях.  | ||
| Строка 169: | Строка 161: | ||
!Описание  | !Описание  | ||
|-  | |-  | ||
|  | |status  | ||
|string  | |string  | ||
|Статус приема.  | |Статус приема.  | ||
| Строка 182: | Строка 174: | ||
Может быть <code>null</code>.  | Может быть <code>null</code>.  | ||
|-  | |-  | ||
|  | |correlationId  | ||
|string  | |string  | ||
|Идентификатор корреляции созданного события.  | |Идентификатор корреляции созданного события.  | ||
Версия 09:09, 13 апреля 2022
Принимает пользовательское событие в Ключ-АСТРОМ.
Запрос создает 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 | Селектор сущностей , определяющий набор сущностей Ключ-АСТРОМ, которые будут связаны с событием.
 Можно выбрать только объекты, которые были активны в течение последних 24 часов. Если не установлено, событие связано с  Может быть   | 
| properties | object | Карта свойств события.
 Ключи с префиксом  Значения зарезервированных Ключ-АСТРОМ свойств (обозначаемых ключом с префиксом  Может быть   | 
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