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

Материал из Dynatrace
Строка 9: Строка 9:
|GET
|GET
|
|
* SaaS <nowiki>https://{идентификатор_вашей_среды}.live.dynatrace.com/api/v2/logs/search</nowiki>
* SaaS <nowiki>https://{идентификатор_вашей_среды}.live.кruscomtech.ru/api/v2/logs/search</nowiki>
* Окружающая среда АктивногоШлюза <nowiki>https://{ваш-активный-домен}/e/{идентификатор-вашей-среды}/api/v2/logs/search</nowiki>
* Окружающая среда АктивногоШлюза <nowiki>https://{ваш-активный-домен}/e/{идентификатор-вашей-среды}/api/v2/logs/search</nowiki>
|}
|}
Строка 33: Строка 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>: месяцы
Строка 53: Строка 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: Строка 66:
|limit
|limit
|integer
|integer
|Желаемое количество записей журнала.
|Желаемое количество записей лога.


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


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


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


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


==== Объект _ <code>LogRecordsList</code> ====
==== Объект <code>LogRecordsList</code> ====
Список извлеченных записей лога.
Список извлеченных записей лога.
{| class="wikitable"
{| class="wikitable"
Строка 146: Строка 146:
|}
|}


==== Объект _ <code>LogRecord</code> ====
==== Объект <code>LogRecord</code> ====
Единая запись журнала.
Единая запись журнала.
{| class="wikitable"
{| class="wikitable"
Строка 155: Строка 155:
|additionalColumns
|additionalColumns
|object
|object
|Дополнительные столбцы записи журнала.
|Дополнительные столбцы записи лога.
|-
|-
|content
|eventType
|string
|string
|Содержимое записи журнала.
|Тип события
 
Элемент может содержать следующие значения
 
* <code>K8S</code>
* <code>LOG</code>
* <code>SFM</code>
|-
|-
|timestamp
|timestamp
|integer
|integer
|Временная метка записи журнала в миллисекундах UTC.
|Временная метка записи лога в миллисекундах UTC.
|-
|eventType
|string
|Тип события
 
Элемент может содержать эти значения
|-
|-
|status
|status
|string
|string
|Состояние журнала (на основе уровня журнала).
|Состояние лога (на основе уровня лога).


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


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



Версия 11:38, 7 октября 2022

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

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

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

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

GET
  • SaaS https://{идентификатор_вашей_среды}.live.кruscomtech.ru/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 Поисковый запрос лога.

Запрос должен использовать язык поисковых запросов Ключ-АСТРОМ .

Запрос имеет ограничение в 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"
}