Получение лога поиска: различия между версиями
ENetrebin (обсуждение | вклад) (Новая страница: «Получает записи журнала, соответствующие указанным критериям. Совпадающие записи журна...») |
ENetrebin (обсуждение | вклад) |
||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
Получает записи | Получает записи лога, соответствующие указанным критериям. Совпадающие записи лога сортируются по критериям, указанным в параметре запроса sort , а затем возвращаются первые ''X'' записей (как указано в параметре запроса limit ). Чтобы выполнить запрос без ограничения размера, используйте запрос GET на экспорт журналов . | ||
Если полученный журнал слишком велик, он делится на слайсы. В таких случаях первый ответ содержит nextSliceKey для второго слайса. Используйте его в параметре запроса nextSliceKey для получения второго слайса, который, в свою очередь, содержит nextSliceKey для третьего слайса и так далее. | Если полученный журнал слишком велик, он делится на слайсы. В таких случаях первый ответ содержит nextSliceKey для второго слайса. Используйте его в параметре запроса nextSliceKey для получения второго слайса, который, в свою очередь, содержит nextSliceKey для третьего слайса и так далее. | ||
Строка 6: | Строка 6: | ||
Запрос создает <code>application/json</code>полезную нагрузку. | Запрос создает <code>application/json</code>полезную нагрузку. | ||
{| class="wikitable" | {| class="wikitable" | ||
| | |GET | ||
| | | | ||
* | * SaaS <nowiki>https://{идентификатор_вашей_среды}.live.dynatrace.com/api/v2/logs/search</nowiki> | ||
* Окружающая среда | * Окружающая среда АктивногоШлюза <nowiki>https://{ваш-активный-домен}/e/{идентификатор-вашей-среды}/api/v2/logs/search</nowiki> | ||
|} | |} | ||
== Аутентификация == | == Аутентификация == | ||
Чтобы выполнить этот запрос, вам необходимо разрешение на | Чтобы выполнить этот запрос, вам необходимо разрешение на '''Чтение логов'''( <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, или удаленный процесс, из которого собираются логи). | ||
|запрос | |запрос | ||
|по желанию | |по желанию | ||
|- | |- | ||
| | |nextSliceKey | ||
| | |string | ||
|Курсор для следующего фрагмента результатов. Вы можете найти его в поле nextSliceKey предыдущего ответа. | |Курсор для следующего фрагмента результатов. Вы можете найти его в поле nextSliceKey предыдущего ответа. | ||
Строка 118: | Строка 116: | ||
|- | |- | ||
|200 | |200 | ||
| | |LogRecordsList | ||
|Успех | |Успех | ||
|- | |- | ||
Строка 128: | Строка 126: | ||
=== Объекты тела ответа === | === Объекты тела ответа === | ||
==== Объект | ==== Объект <code>LogRecordsList</code> ==== | ||
Список извлеченных записей | Список извлеченных записей лога. | ||
{| class="wikitable" | {| class="wikitable" | ||
!Элемент | !Элемент | ||
Строка 135: | Строка 133: | ||
!Описание | !Описание | ||
|- | |- | ||
| | |results | ||
| | |LogRecord[] | ||
|Список извлеченных записей журнала. | |Список извлеченных записей журнала. | ||
|- | |- | ||
| | |nextSliceKey | ||
| | |string | ||
|Курсор для следующего фрагмента записей журнала. | |Курсор для следующего фрагмента записей журнала. | ||
|- | |- | ||
| | |sliceSize | ||
| | |integer | ||
|Общее количество записей в срезе. | |Общее количество записей в срезе. | ||
|} | |} | ||
==== Объект | ==== Объект <code>LogRecord</code> ==== | ||
Единая запись журнала. | Единая запись журнала. | ||
{| class="wikitable" | {| class="wikitable" | ||
Строка 155: | Строка 153: | ||
!Описание | !Описание | ||
|- | |- | ||
| | |additionalColumns | ||
| | |object | ||
|Дополнительные столбцы записи | |Дополнительные столбцы записи лога. | ||
|- | |- | ||
| | |eventType | ||
| | |string | ||
|Тип события | |Тип события | ||
Элемент может содержать | Элемент может содержать следующие значения | ||
* <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 |
|
Аутентификация
Чтобы выполнить этот запрос, вам необходимо разрешение на Чтение логов( logs.read
), назначенное вашему токену API. Чтобы узнать, как его получить и использовать, см. раздел Токены и аутентификация .
Параметры
Параметр | Тип | Описание | In | Необходимость |
---|---|---|---|---|
from | string | Начало запрошенного таймфрейма.
Вы можете использовать один из следующих форматов:
Если не задано, используется относительный двухнедельный таймфрейм ( |
запрос | по желанию |
to | string | Конец запрошенного периода времени.
Вы можете использовать один из следующих форматов:
Если не установлено, используется текущая метка времени. |
запрос | по желанию |
limit | integer | Желаемое количество записей лога.
Максимально допустимый лимит составляет 1000. Если не установлено, используется 1000. |
запрос | по желанию |
query | string | Поисковый запрос лога.
Запрос должен использовать язык поисковых запросов Dynatrace . Запрос имеет ограничение в 20 отношений (логические операторы между простыми выражениями ( |
запрос | по желанию |
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 | Тип события
Элемент может содержать следующие значения
|
timestamp | integer | Временная метка записи лога в миллисекундах UTC. |
status | string | Состояние лога (на основе уровня лога).
Элемент может содержать следующие значения
|
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"
}