Настройка сообщения лога

Материал из Документация Ключ-АСТРОМ

Настройка сообщения лога

Приложение Логи автоматически извлекает и выделяет сообщение лога из записи и отображает его отдельным столбцом в таблице результатов. Хотя полное содержимое и все атрибуты записи лога могут быть важны для понимания первопричины, возможность быстро просматривать сообщения ускоряет поиск релевантных логов и диагностику проблемы.

Что такое сообщение лога?

Во многих случаях логи из облачных приложений или платформ содержат определённое поле, в котором хранится фактическое сообщение. Столбец Сообщение лога — это динамически создаваемое поле, которое, если возможно, показывает читаемую часть записи лога.

Примеры

Запись лога Сообщение лога
{
  "timestamp": "2025-10-13T10:50:03.205",
  "level": "WARN",
  "logger": "org.apache.activemq.artemis.core.server",
  "message": "AMQ222165: No Dead Letter Address configured for queue answer_queue in AddressSettings",
  "context": "default"
}
AMQ222165: No Dead Letter Address configured for queue answer_queue in AddressSettings
{
  "timestamp": "2025-10-13T08:54:02.009817Z",
  "severity": "INFO",
  "insertId": "238n5ebl11v8lc1x",
  "jsonPayload": {
    "message": "\"Starting watch\" path=\"/api/v1/namespaces/external-accounts \" resourceVersion=\"17603423543179000\" timeout=\"7m10s\""
  },
  "logName": "projects/prod-gke-apigw/logs/container.googleapis.com%2Fapiserver",
  "resource": {
    "labels": { "location": "europe-west3", "project_id": "prod-gke-apigw " },
    "type": "k8s_control_plane_component"
  },
  "sourceLocation": { "file": "get.go", "line": "278" }
}
"Starting watch" path="/api/v1/namespaces/external-accounts " resourceVersion="17603423543179000" timeout="7m10s"
{
  "time": "2025-11-01T13:03:00Z",
  "level": "INFO",
  "content": "time=\"2025-10-13T08:44:57Z\" level=info msg=\"No status changes. Skipping patch\" application=argocd/unguard-dev-root",
  "userId": 123
}
No status changes. Skipping patch

Отображение или скрытие столбца «Сообщение лога»

По умолчанию:

  • Столбец Сообщение лога отображается.
  • Столбец content скрыт.

Чтобы отобразить или скрыть столбец Сообщение лога (или любой другой доступный столбец):

  1. Перейдите в Логи.
  2. Выполните запрос для получения логов.
  3. В правом верхнем углу таблицы результатов выберите Настройки столбцов.
  4. В окне Столбцы установите или снимите флажки, чтобы отобразить или скрыть соответствующие столбцы в Логах.
    • Используйте поле поиска, чтобы найти нужные столбцы.
    • Используйте элементы управления для изменения порядка отображения столбцов.
  5. Выберите Применить, чтобы сохранить изменения и закрыть окно Столбцы.

Как извлекается сообщение лога

Сообщение лога извлекается из записи лога в рамках выполнения запроса и не влечёт дополнительных затрат по вашей лицензии. Если сообщение не найдено среди перечисленных ниже атрибутов, в качестве запасного варианта отображается поле content.

Атрибуты первого уровня

Для некоторых технологий или в результате ваших правил разбора поле с сообщением лога доступно как атрибут первого уровня в записи лога. Сообщение лога извлекается из следующих атрибутов первого уровня:

  • msg
  • message
  • event
  • description
  • details

Для ваших источников логов, загружаемых через API, записывайте сообщение лога в любой из предыдущих атрибутов во время логирования для достижения наилучших результатов. В качестве альтернативы извлеките эту читаемую информацию в атрибут первого уровня с помощью всего нескольких шагов в процессоре OpenPipeline. Подробности см. в разделе Обработка логов с помощью OpenPipeline.

Структурированные JSON-логи

Многие средства логирования — такие как GCP, Serilog и log4net — или облачные фреймворки логирования предоставляют информацию в виде структурированного JSON. Когда этот структурированный лог хранится в поле content в Ключ-АСТРОМ, сообщение лога извлекается из следующих стандартных ключей JSON:

  • message
  • @message
  • msg
  • @mt
  • @m
  • body
  • eventName
  • textPayload
  • protoPayload.@type
  • protoPayload.message
  • textPayload.message
  • jsonPayload.message
  • messageObject.message
  • properties.message
  • properties.statusMessage
  • properties.status.additionalDetails
  • properties.log
  • properties.Result
  • status

Неструктурированные логи

Когда ваш источник логов выводит информацию в популярном стиле logfmt, сообщение лога извлекается из неструктурированного лога в поле content. Сообщение лога определяется в паре «ключ-значение» для следующих ключей:

  • msg
  • message
  • Message