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

Материал из Dynatrace
(Новая страница: «Получает записи журнала, соответствующие указанным критериям. Совпадающие записи журна...»)
 
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
Получает записи журнала, соответствующие указанным критериям. Совпадающие записи журнала сортируются по критериям, указанным в параметре запроса sort , а затем возвращаются первые ''X'' записей (как указано в параметре запроса limit ). Чтобы выполнить запрос без ограничения размера, используйте запрос GET на экспорт журналов .
Получает записи лога, соответствующие указанным критериям. Совпадающие записи лога сортируются по критериям, указанным в параметре запроса sort , а затем возвращаются первые ''X'' записей (как указано в параметре запроса limit ). Чтобы выполнить запрос без ограничения размера, используйте запрос GET на экспорт журналов .


Если полученный журнал слишком велик, он делится на слайсы. В таких случаях первый ответ содержит nextSliceKey для второго слайса. Используйте его в параметре запроса nextSliceKey для получения второго слайса, который, в свою очередь, содержит nextSliceKey для третьего слайса и так далее.
Если полученный журнал слишком велик, он делится на слайсы. В таких случаях первый ответ содержит nextSliceKey для второго слайса. Используйте его в параметре запроса nextSliceKey для получения второго слайса, который, в свою очередь, содержит nextSliceKey для третьего слайса и так далее.
Строка 6: Строка 6:


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


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


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


Строка 35: Строка 33:
* Человекочитаемый формат <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>: месяцы
Строка 46: Строка 44:
|по желанию
|по желанию
|-
|-
|к
|to
|нить
|string
|Конец запрошенного периода времени.
|Конец запрошенного периода времени.


Строка 55: Строка 53:
* Человекочитаемый формат <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>: месяцы
Строка 66: Строка 64:
|по желанию
|по желанию
|-
|-
|ограничение
|limit
|целое число
|integer
|Желаемое количество записей журнала.
|Желаемое количество записей лога.


Максимально допустимый лимит составляет 1000.
Максимально допустимый лимит составляет 1000.
Строка 76: Строка 74:
|по желанию
|по желанию
|-
|-
|запрос
|query
|нить
|string
|Поисковый запрос журнала.
|Поисковый запрос лога.


Запрос должен использовать язык поисковых запросов Dynatrace .
Запрос должен использовать язык поисковых запросов Dynatrace .
Строка 86: Строка 84:
|по желанию
|по желанию
|-
|-
|Сортировать
|sort
|нить
|string
|Определяет порядок записей журнала.
|Определяет порядок записей лога.


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


Если разрешения в миллисекундах, предоставляемого отметкой времени, недостаточно, записи журнала сортируются в соответствии с порядком, в котором они появляются в источнике журнала (удаленный процесс, записывающий в конечную точку REST API, или удаленный процесс, из которого собираются журналы).
Если разрешения в миллисекундах, предоставляемого отметкой времени, недостаточно, записи лога сортируются в соответствии с порядком, в котором они появляются в источнике журнала (удаленный процесс, записывающий в конечную точку REST API, или удаленный процесс, из которого собираются логи).
|запрос
|запрос
|по желанию
|по желанию
|-
|-
|следующийSliceKey
|nextSliceKey
|нить
|string
|Курсор для следующего фрагмента результатов. Вы можете найти его в поле nextSliceKey предыдущего ответа.
|Курсор для следующего фрагмента результатов. Вы можете найти его в поле nextSliceKey предыдущего ответа.


Строка 118: Строка 116:
|-
|-
|200
|200
|Список записей журнала
|LogRecordsList
|Успех
|Успех
|-
|-
Строка 128: Строка 126:
=== Объекты тела ответа ===
=== Объекты тела ответа ===


==== Объект _ <code>LogRecordsList</code> ====
==== Объект <code>LogRecordsList</code> ====
Список извлеченных записей журнала.
Список извлеченных записей лога.
{| class="wikitable"
{| class="wikitable"
!Элемент
!Элемент
Строка 135: Строка 133:
!Описание
!Описание
|-
|-
|полученные результаты
|results
|Запись журнала []
|LogRecord[]
|Список извлеченных записей журнала.
|Список извлеченных записей журнала.
|-
|-
|следующийSliceKey
|nextSliceKey
|нить
|string
|Курсор для следующего фрагмента записей журнала.
|Курсор для следующего фрагмента записей журнала.
|-
|-
|размер слайса
|sliceSize
|целое число
|integer
|Общее количество записей в срезе.
|Общее количество записей в срезе.
|}
|}


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


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


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


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



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

Получает записи лога, соответствующие указанным критериям. Совпадающие записи лога сортируются по критериям, указанным в параметре запроса sort , а затем возвращаются первые X записей (как указано в параметре запроса limit ). Чтобы выполнить запрос без ограничения размера, используйте запрос GET на экспорт журналов .

Если полученный журнал слишком велик, он делится на слайсы. В таких случаях первый ответ содержит nextSliceKey для второго слайса. Используйте его в параметре запроса nextSliceKey для получения второго слайса, который, в свою очередь, содержит nextSliceKey для третьего слайса и так далее.

Результаты могут быть неравномерно распределены между срезами, а некоторые срезы могут быть пустыми.

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

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

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

Чтобы выполнить этот запрос, вам необходимо разрешение на Чтение логов( 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: годы

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

запрос по желанию
limit integer Желаемое количество записей лога.

Максимально допустимый лимит составляет 1000.

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

запрос по желанию
query string Поисковый запрос лога.

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

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

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

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

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

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

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

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

Если этот параметр установлен, все остальные параметры запроса игнорируются.

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

Ответ

Коды ответов

Код Тип Описание
200 LogRecordsList Успех
400 ErrorEnvelope Не удалось. Ввод недействителен.

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

Объект LogRecordsList

Список извлеченных записей лога.

Элемент Тип Описание
results LogRecord[] Список извлеченных записей журнала.
nextSliceKey string Курсор для следующего фрагмента записей журнала.
sliceSize integer Общее количество записей в срезе.

Объект 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"
        ]
      }
    }
  ],
  "sliceSize": 100,
  "nextSliceKey": "___-2hI03q0AAAAAAAAAAAAAA-gAAAAAAAAH0P____8AAABkAAAACXRpbWVzdGFtcAD___7aEjTerQ"
}