Открыть меню
Открыть персональное меню
Вы не представились системе
Your IP address will be publicly visible if you make any edits.

Получение лога экспорта: различия между версиями

Материал из Документация АппОптима
(Новая страница: «Получает записи журнала, соответствующие указанным критериям. Совпадающие записи журна...»)
 
Нет описания правки
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
Получает записи журнала, соответствующие указанным критериям. Совпадающие записи журнала сортируются по критериям, указанным в параметре запроса сортировки .
Получает записи лога, соответствующие указанным критериям. Совпадающие записи лога сортируются по критериям, указанным в параметре запроса сортировки .


В отличие от запроса журналов поиска GET , этот запрос не накладывает ограничения на общее количество результирующих записей журнала. Однако, если результирующий журнал слишком велик, применяется разбиение на страницы. Вы можете установить размер страницы в параметре запроса pageSize . В таких случаях первый ответ содержит nextPageKey для второй страницы. Используйте его в параметре запроса nextPageKey , чтобы получить вторую страницу, которая, в свою очередь, содержит nextPageKey для третьей страницы и так далее.
В отличие от запроса логов поиска GET , этот запрос не накладывает ограничения на общее количество результирующих записей лога. Однако, если результирующий лог слишком велик, применяется разбиение на страницы. Вы можете установить размер страницы в параметре запроса pageSize . В таких случаях первый ответ содержит nextPageKey для второй страницы. Используйте его в параметре запроса nextPageKey , чтобы получить вторую страницу, которая, в свою очередь, содержит nextPageKey для третьей страницы и так далее.


Запрос создает <code>application/json</code>полезную нагрузку.
Запрос создает <code>application/json</code>полезную нагрузку.
Этот запрос является выпуском Early Adopter и может быть изменен несовместимым образом.
{| class="wikitable"
{| class="wikitable"
|ПОЛУЧИТЬ
|GET
|
|
* SaaShttps://{идентификатор_вашей_среды}.live.dynatrace.com/api/v2/logs/export
* SaaS <nowiki>https://{идентификатор_вашей_среды}.live.ruscomtech.ru/api/v2/logs/export</nowiki>
* Окружающая среда ActiveGatehttps://{ваш-активный-домен}/e/{идентификатор-вашей-среды}/api/v2/logs/export
* Окружающая среда АктивногоШлюза <nowiki>https://{ваш-активный-домен}/e/{идентификатор-вашей-среды}/api/v2/logs/export</nowiki>
|}
|}


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


== Параметры ==
== Параметры ==
Строка 21: Строка 19:
!Тип
!Тип
!Описание
!Описание
!В
!In
!Необходимый
!Необходимость
|-
|-
|из
|from
|нить
|string
|Начало запрошенного таймфрейма.
|Начало запрошенного таймфрейма.


Строка 33: Строка 31:
* Человекочитаемый формат <code>2021-01-25T05:57:01.123+01:00</code>. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо <code>T</code>. Секунды и доли секунды не являются обязательными.
* Человекочитаемый формат <code>2021-01-25T05:57:01.123+01:00</code>. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо <code>T</code>. Секунды и доли секунды не являются обязательными.
* Относительный таймфрейм, назад. Формат: <code>now-NU/A</code>, где <code>N</code>количество времени, <code>U</code>единица времени и <code>A</code>выравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, <code>now-1y/w</code>это один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: <code>now-NU</code>. Поддерживаемые единицы времени для относительного таймфрейма:
* Относительный таймфрейм, назад. Формат: <code>now-NU/A</code>, где <code>N</code>количество времени, <code>U</code>единица времени и <code>A</code>выравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, <code>now-1y/w</code>это один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: <code>now-NU</code>. Поддерживаемые единицы времени для относительного таймфрейма:
** <code>m</code>: минут
** <code>m</code>: минуты
** <code>h</code>: часы
** <code>h</code>: часы
** <code>d</code>: дней
** <code>d</code>: дни
** <code>w</code>: недели
** <code>w</code>: недели
** <code>M</code>: месяцы
** <code>M</code>: месяцы
Строка 44: Строка 42:
|по желанию
|по желанию
|-
|-
|к
|to
|нить
|string
|Конец запрошенного периода времени.
|Конец запрошенного периода времени.


Строка 64: Строка 62:
|по желанию
|по желанию
|-
|-
|ключ следующей страницы
|nextPageKey
|нить
|string
|Курсор для следующей страницы результатов. Вы можете найти его в поле nextPageKey предыдущего ответа.
|Курсор для следующей страницы результатов. Вы можете найти его в поле nextPageKey предыдущего ответа.


Строка 74: Строка 72:
|по желанию
|по желанию
|-
|-
|размер страницы
|pageSize
|целое число
|integer
|Количество результатов на странице результатов.
|Количество результатов на странице результатов.
|запрос
|запрос
|по желанию
|по желанию
|-
|-
|запрос
|query
|нить
|string
|Поисковый запрос журнала.
|Поисковый запрос лога.


Запрос должен использовать язык поисковых запросов Dynatrace .
Запрос должен использовать язык поисковых запросов АппОптима .


Запрос имеет ограничение в 20 отношений (логические операторы между простыми выражениями ( <code>AND</code>, <code>OR</code>) или операторы сравнения ( <code>=</code>, <code>!=</code>, <code><</code>, <code><=</code>, <code>></code>, <code>>=</code>) в простых выражениях).
Запрос имеет ограничение в 20 отношений (логические операторы между простыми выражениями ( <code>AND</code>, <code>OR</code>) или операторы сравнения ( <code>=</code>, <code>!=</code>, <code><</code>, <code><=</code>, <code>></code>, <code>>=</code>) в простых выражениях).
Строка 90: Строка 88:
|по желанию
|по желанию
|-
|-
|Сортировать
|sort
|нить
|string
|Определяет порядок записей журнала.
|Определяет порядок записей лога.


Каждое поле имеет префикс знака (+/-) для порядка сортировки. Если префикс знака не установлен, <code>+</code>будет применена опция.
Каждое поле имеет префикс знака (+/-) для порядка сортировки. Если префикс знака не установлен, <code>+</code>будет применена опция.
Строка 98: Строка 96:
В настоящее время упорядочивание доступно только для временной метки (+timestamp для самых старых записей первыми или -timestamp для самых новых записей).
В настоящее время упорядочивание доступно только для временной метки (+timestamp для самых старых записей первыми или -timestamp для самых новых записей).


Если разрешения в миллисекундах, предоставляемого отметкой времени, недостаточно, записи журнала сортируются в соответствии с порядком, в котором они появляются в источнике журнала (удаленный процесс, записывающий в конечную точку REST API, или удаленный процесс, из которого собираются журналы).
Если разрешения в миллисекундах, предоставляемого отметкой времени, недостаточно, записи журнала сортируются в соответствии с порядком, в котором они появляются в источнике журнала (удаленный процесс, записывающий в конечную точку REST API, или удаленный процесс, из которого собираются логи).
|запрос
|запрос
|по желанию
|по желанию
Строка 112: Строка 110:
|-
|-
|200
|200
|Экспортированный список записей журнала
|ExportedLogRecordList
|Успех
|Успех
|-
|-
Строка 126: Строка 124:
=== Объекты тела ответа ===
=== Объекты тела ответа ===


==== Объект _ <code>ExportedLogRecordList</code> ====
==== Объект <code>ExportedLogRecordList</code> ====
Список экспортированных записей журнала.
Список экспортированных записей журнала.
{| class="wikitable"
{| class="wikitable"
Строка 133: Строка 131:
!Описание
!Описание
|-
|-
|полученные результаты
|пresults
|Запись журнала []
|LogRecord[]
|Список извлеченных записей журнала.
|Список извлеченных записей лога.
|-
|-
|размер страницы
|pageSize
|целое число
|integer
|Количество записей на странице.
|Количество записей на странице.
|-
|-
|общее количество
|totalCount
|целое число
|integer
|Общее количество записей в результате.
|Общее количество записей в результате.
|-
|-
|ключ следующей страницы
|nextPageKey
|нить
|string
|Курсор для следующей страницы результатов. Имеет значение <code>null</code>на последней странице.
|Курсор для следующей страницы результатов. Имеет значение <code>null</code>на последней странице.


Строка 152: Строка 150:
|}
|}


==== Объект _ <code>LogRecord</code> ====
==== Объект <code>LogRecord</code> ====
Единая запись журнала.
Единая запись лога.
{| class="wikitable"
{| class="wikitable"
!Элемент
!Элемент
Строка 159: Строка 157:
!Описание
!Описание
|-
|-
|дополнительные столбцы
|additionalColumns
|объект
|object
|Дополнительные столбцы записи журнала.
|Дополнительные столбцы записи лога.
|-
|содержание
|нить
|Содержимое записи журнала.
|-
|отметка времени
|целое число
|Временная метка записи журнала в миллисекундах UTC.
|-
|-
|тип события
|eventType
|нить
|string
|Тип события
|Тип события


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


* <code>K8S</code>
* <code>K8S</code>
Строка 181: Строка 171:
* <code>SFM</code>
* <code>SFM</code>
|-
|-
|статус
|timestamp
|нить
|integer
|Состояние журнала (на основе уровня журнала).
|Временная метка записи журнала в миллисекундах UTC.
|-
|status
|string
|Состояние лога (на основе уровня лога).


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


* <code>ERROR</code>
* <code>ERROR</code>
Строка 191: Строка 185:
* <code>NONE</code>
* <code>NONE</code>
* <code>WARN</code>
* <code>WARN</code>
|-
|content
|string
|Содержимое записи лога.
|}
|}


=== JSON-модель тела ответа ===
=== JSON-модель тела ответа ===
  <code>{
  <{
   "results": [
   "results": [
     {
     {

Текущая версия от 15:54, 26 декабря 2024

Получает записи лога, соответствующие указанным критериям. Совпадающие записи лога сортируются по критериям, указанным в параметре запроса сортировки .

В отличие от запроса логов поиска GET , этот запрос не накладывает ограничения на общее количество результирующих записей лога. Однако, если результирующий лог слишком велик, применяется разбиение на страницы. Вы можете установить размер страницы в параметре запроса pageSize . В таких случаях первый ответ содержит nextPageKey для второй страницы. Используйте его в параметре запроса nextPageKey , чтобы получить вторую страницу, которая, в свою очередь, содержит nextPageKey для третьей страницы и так далее.

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

GET
  • SaaS https://{идентификатор_вашей_среды}.live.ruscomtech.ru/api/v2/logs/export
  • Окружающая среда АктивногоШлюза https://{ваш-активный-домен}/e/{идентификатор-вашей-среды}/api/v2/logs/export

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

Чтобы выполнить этот запрос, вам необходимо разрешение на чтение логов ( logs.read), назначенное вашему токену API. Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .

Параметры

Параметр Тип Описание In Необходимость
from string Начало запрошенного таймфрейма.

Вы можете использовать один из следующих форматов:

  • Отметка времени в миллисекундах UTC.
  • Человекочитаемый формат 2021-01-25T05:57:01.123+01:00. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо T. Секунды и доли секунды не являются обязательными.
  • Относительный таймфрейм, назад. Формат: now-NU/A, где Nколичество времени, Uединица времени и Aвыравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, now-1y/wэто один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: now-NU. Поддерживаемые единицы времени для относительного таймфрейма:
    • m: минуты
    • h: часы
    • d: дни
    • w: недели
    • M: месяцы
    • y: годы

Если не задано, используется относительный двухнедельный таймфрейм ( now-2w).

запрос по желанию
to string Конец запрошенного периода времени.

Вы можете использовать один из следующих форматов:

  • Отметка времени в миллисекундах UTC.
  • Человекочитаемый формат 2021-01-25T05:57:01.123+01:00. Если часовой пояс не указан, используется UTC. Вы можете использовать пробел вместо T. Секунды и доли секунды не являются обязательными.
  • Относительный таймфрейм, назад. Формат: now-NU/A, где Nколичество времени, Uединица времени и Aвыравнивание. Выравнивание округляет все меньшие значения до ближайшего нуля в прошлом. Например, now-1y/wэто один год назад, выровненный на неделю. Вы также можете указать относительный таймфрейм без выравнивания: now-NU. Поддерживаемые единицы времени для относительного таймфрейма:
    • m: минут
    • h: часы
    • d: дней
    • w: недели
    • M: месяцы
    • y: годы

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

запрос по желанию
nextPageKey string Курсор для следующей страницы результатов. Вы можете найти его в поле nextPageKey предыдущего ответа.

Первая страница всегда возвращается, если вы не укажете параметр запроса nextPageKey .

Когда nextPageKey настроен на получение последующих страниц, вы должны опустить все остальные параметры запроса.

запрос по желанию
pageSize integer Количество результатов на странице результатов. запрос по желанию
query string Поисковый запрос лога.

Запрос должен использовать язык поисковых запросов АппОптима .

Запрос имеет ограничение в 20 отношений (логические операторы между простыми выражениями ( AND, OR) или операторы сравнения ( =, !=, <, <=, >, >=) в простых выражениях).

запрос по желанию
sort string Определяет порядок записей лога.

Каждое поле имеет префикс знака (+/-) для порядка сортировки. Если префикс знака не установлен, +будет применена опция.

В настоящее время упорядочивание доступно только для временной метки (+timestamp для самых старых записей первыми или -timestamp для самых новых записей).

Если разрешения в миллисекундах, предоставляемого отметкой времени, недостаточно, записи журнала сортируются в соответствии с порядком, в котором они появляются в источнике журнала (удаленный процесс, записывающий в конечную точку REST API, или удаленный процесс, из которого собираются логи).

запрос по желанию

Ответ

Коды ответов

Код Тип Описание
200 ExportedLogRecordList Успех
400 ErrorEnvelope Не удалось. Ввод недействителен.
501 ErrorEnvelope Не удалось. Сервер либо не распознает метод запроса, либо не может выполнить запрос. Может произойти, если включено хранилище журналов Grail.

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

Объект ExportedLogRecordList

Список экспортированных записей журнала.

Элемент Тип Описание
пresults LogRecord[] Список извлеченных записей лога.
pageSize integer Количество записей на странице.
totalCount integer Общее количество записей в результате.
nextPageKey string Курсор для следующей страницы результатов. Имеет значение nullна последней странице.

Используйте его в параметре запроса nextPageKey для получения последующих страниц результата.

Объект LogRecord

Единая запись лога.

Элемент Тип Описание
additionalColumns object Дополнительные столбцы записи лога.
eventType string Тип события

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

  • K8S
  • LOG
  • SFM
timestamp integer Временная метка записи журнала в миллисекундах UTC.
status string Состояние лога (на основе уровня лога).

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

  • ERROR
  • INFO
  • NONE
  • WARN
content string Содержимое записи лога.

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

<{
  "results": [
    {
      "timestamp": "1631193089000",
      "status": "ERROR",
      "content": "example log content",
      "event.type": "LOG",
      "additionalColumns": {
        "custom.attribute": [
          "value1",
          "value2"
        ],
        "loglevel": [
          "SEVERE"
        ]
      }
    }
  ],
  "pageSize": 100,
  "nextPageKey": "___-2lZ43q0AAAAdeJxjYAAC1sLS1KJKBhjggtIijFCGHEwCAFiHAoP___7aVnjerQ",
  "totalCount": 150
}