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

Обогащение логов — это процесс добавления дополнительной информации к вашим логам, что делает их более понятными и полезными для анализа. В Ключ-АСТРОМ этот процесс позволяет связывать логи с трассировками, что упрощает поиск и устранение проблем. Давайте разберемся, как это работает.

Зачем нужно обогащение логов?

Представьте, что у вас есть приложение, которое генерирует огромное количество логов. Как понять, какие логи относятся к конкретной транзакции или пользователю? Здесь на помощь приходит обогащение логов. Добавляя контекстную информацию, такую как атрибуты:

  • trace_id – идентификатор всей трассировки
  • span_id – идентификатор конкретного спана
  • dt.entity.process_group_instance – информация о конкретном экземпляре процесса

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

Использование функционала связи логов с трассировками в Ключ-АСТРОМ позволяет вам получить глубокое понимание того, как ваше приложение функционирует на каждом этапе. Это не только упрощает диагностику и устранение проблем, но и дает возможность быстро находить и анализировать критические моменты в работе системы. Благодаря этому вы можете оперативно реагировать на инциденты и повышать надежность вашего приложения.

Вы легко сможете перейти из записи лога в трассировку запроса и наоборот.

Методы обогащения логов

В Ключ-АСТРОМ существует два основных метода обогащения логов: автоматическое и ручное. Давайте рассмотрим каждый из них подробнее.

Автоматическое обогащение

Автоматическое обогащение рекомендуется для распространенных технологий и приложений, генерирующих структурированные данные журнала. Этот метод позволяет быстро и легко добавить контекстную информацию к вашим логам.

Ключ-АСТРОМ поддерживает автоматическое обогащение для следующих технологий:

  • .NET: Microsoft Logging Extensions, Serilog, log4net
  • Java: Log4J2, Logback, java.util.logging, JBoss LogManager, Apache Tomcat (логи доступа)
  • NGINX: error.logs (автоматическое обогащение), access.logs (ручное обогащение)
  • Apache HTTP Server: error.logs, access.logs
  • Node.js: Bunyan, log4js, pino, winston
  • PHP: Monolog
  • Go: Lorgus, Zap

Для того, чтобы это заработало в вашем окружении – достаточно глобально или точечно включить в интерфейсе соответствующую функцию Единого Агента (найдете по ключевому слову Enrichment)

Ручное обогащение

Ручное обогащение рекомендуется для пользовательских технологий и приложений, генерирующих неструктурированные данные журнала. Этот метод позволяет гибко настраивать обогащение в зависимости от специфических требований вашего приложения.

Для настройки ручного обогащения необходимо определить шаблон журнала и активировать процесс обогащения. В шаблон журнала следует включить следующие поля: dt.span_id, dt.trace_id, dt.trace_sampled и dt.entity.process_group_instance.

Теперь давайте рассмотрим несколько примеров ручного обогащения данных журналов для различных технологий.

Для обогащения логов NGINX необходимо изменить конфигурационный файл NGINX. Пример конфигурации:

log_format custom '$remote_addr - [$time_local] $request $status $body_bytes_sent [!dt dt.trace_id=$dt_trace_id,dt.span_id=$dt_span_id,dt.trace_sampled=$dt_trace_sampled]'; access_log logs/access.log custom;

Результат будет содержать в файле access.log записи с обогащенными журналами:

127.0.0.1 - [22/Mar/2022:08:50:45 +0100] GET /index.htm HTTP/1.1 200 30 [!dt dt.trace_id=b9e5c9ec08be5fab5071d76f427be7da,dt.span_id=43c5bb9432593963,dt.trace_sampled=true]

Для обогащения логов Log4j можно использовать PatternFormatter:

<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} dt.trace_id=%X{dt.trace_id} dt.span_id=%X{dt.span_id} dt.entity.process_group_instance=%X{dt.entity.process_group_instance} - %msg%n"/>

Обогащение логов в Kubernetes

Если вы используете Kubernetes, вы также можете обогатить свои логи с помощью NGINX Ingress. Для этого выполните следующие шаги:

  1. Поставьте на мониторинг ingress-nginx
  2. Добавьте в файл configmap.yaml для NGINX Ingress следующую команду:

main-snippet: load_module /<путь установки агента>/oneagent/agent/bin/current/linux-musl-x86-64/liboneagentnginx.so;

log-format-upstream: '$remote_addr - $remote_user [$time_local] "$request" [!dt dt.trace_id=$dt_trace_id,dt.span_id=$dt_span_id,dt.trace_sampled=$dt_trace_sampled] $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_length'

Маскирование чувствительных данных

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

Настройка выполняется в разделе «Маскирование конфиденциальных данных», который доступен как на уровне хоста или группы хостов, так и глобально для всего окружения.

  1. Перейдите в настройки маскирования чувствительных данных и создайте новое правило.
  2. Укажите регулярное выражение для сопоставления строки, которую вы хотите замаскировать.
  3. Выберите тип маскирования: вы можете заменить данные строкой или хешем SHA-1.
  4. Добавьте матчеры. Создайте конкретное соответствие для этого правила, чтобы сузить его область. Вы можете включить несколько матчеров в одно правило. Например, правило маскировки может применяться к логам из конкретного контейнера, пространства имен или источника логов.
  5. Сохраните изменения.

Создание метрик на основе логов

Обогащение логов позволяет не только улучшить анализ, но и создавать метрики на основе логов. Это полезно для мониторинга и обнаружения проблем.

Создание метрик на основе логов в Ключ-АСТРОМ открывает перед вами множество возможностей для мониторинга и анализа. Эти метрики позволяют вам отслеживать ключевые показатели производительности, выявлять проблемы и улучшать общую стабильность ваших систем.

Ключ-АСТРОМ даёт возможности не только просматривать и анализировать логи, но и создавать метрики на их основе, и использовать их, как и любые другие метрики. Мы можем добавить их на дашборд, включив в анализ, а также создавать настраиваемые оповещения.

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

  • Создание метрик с помощью глобальных настроек — В пункте меню навигации Настройки → Мониторинг логов → Извлечение метрик, где вы можете создать метрику следуя простому заполнению предлагаемых полей.
  • Создание метрик через раздел Логи, используя инструмент анализа логов — достаточно лишь выбрать интересующие вас атрибуты и нажать кнопку «Создать метрику».

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

Пример использования: подсчёт количества ошибок

Представьте, что у вас есть веб-приложение, и вы хотите отслеживать количество ошибок, возникающих в процессе его работы. Вы можете создать метрику, которая будет подсчитывать количество строк логов, содержащих слово "ERROR" и связывать это с конкретным приложением.

Пример использования: подсчёт количества успешных/неуспешных входов в систему

Вы можете использовать метрики на основе логов для мониторинга активности пользователей в вашем приложении. Например, можно создать метрики log.login.success и log.login.failure, чтобы отслеживать успешные и неуспешные попытки входа в систему. Затем эти метрики можно визуализировать на дашборде для удобного анализа.

Другие примеры использования

Создание метрик на основе логов в Ключ-АСТРОМ открывает перед вами множество возможностей для мониторинга и анализа. Вы можете отслеживать ошибки, анализировать производительность, отслеживать активность пользователей и мониторить использование ресурсов. Эти метрики помогут вам лучше понимать состояние ваших систем и оперативно реагировать на возникающие проблемы.

Заключение

Обогащение логов в Ключ-АСТРОМ — это мощный инструмент, который позволяет сделать ваши логи более информативными и полезными для анализа. Используя автоматическое или ручное обогащение, вы можете улучшить качество ваших логов и упростить процесс устранения проблем. Не забывайте о безопасности и маскировке чувствительных данных.

Ключ к данным: Автоматизируем экспорт метрик в Google Sheets

Мониторинг состояния инфраструктуры, сервисов и приложений — ключевая задача для бизнеса. Ключ-АСТРОМ отлично справляется с этим, предоставляя детализированные метрики в реальном времени. Однако анализ этих данных в удобном формате не всегда прост. Многие аналитики предпочитают Google Таблицы за их гибкость, удобство работы с формулами и возможностью коллективного доступа. Возникает вопрос: как легко и без лишних сложностей экспортировать метрики из Ключ-АСТРОМ в Google Sheets?

Свойства сессий и действий: прокачиваем мониторинг в Ключ-АСТРОМ

При мониторинге веб- и мобильных приложений важно не только фиксировать пользовательские действия, но и передавать дополнительную информацию, которая позволяет глубже анализировать поведение пользователей. Здесь на помощь приходят свойства сессий и действий в Ключ-АСТРОМ. Этот функционал позволяет собирать данные из различных источников, включая метаинформацию о пользователе, его предпочтениях и дополнительных параметрах, доступных в момент выполнения действия.

Ключ-АСТРОМ успешно подтвердил нахождение в реестре российского ПО

Ключ-АСТРОМ успешно подтвердил нахождение в реестре российского ПО

Мониторинг релизов с помощью Ключ-АСТРОМ: как не утонуть в потоке изменений

Представьте: вы только что выпустили новую версию своего приложения. Команда работала над ней несколько недель, тестировала, оптимизировала, и вот он — долгожданный релиз. Но через пару часов начинают поступать сообщения от пользователей: что-то работает медленно, что-то вообще не работает. Вы начинаете искать причину, но в потоке изменений, которые были внесены за последние недели, это похоже на поиск иголки в стоге сена. Знакомая ситуация?

Ключ-Астром выпускает обновление для APM-системы с поддержкой мониторинга 1С

С выпуском нового обновления система получила расширение для мониторинга серверов и сервисов 1С, что позволяет автоматизировать процессы и сделать их более прозрачными

Импортозамещение в России: как мониторить российские ОС

Компания "Рускомтехнологии" получила сертификаты совместимости с операционными системами РЕД ОС, РОСА, Альт Линукс и Astra Linux. В дополнение к этому компания собрала специальный пакет мониторинга "Российская ОС" для платформы "Ключ-Астром".

Мониторинг событий безопасности

"Ключ-Астром" представляет новый функционал – мониторинг информационной безопасности. Теперь на платформе доступен инструменты сбора и анализа уязвимостей, типов совершенных атак, лог файлов и деталей по обнаруженной атаке.

МКБ внедрил инновационный онлайн-инструмент
для мониторинга доступности систем

Московский кредитный банк (МКБ)
внедрил новый сервис для
мониторинга — российскую систему
«Ключ-Астром», которая позволяет
отслеживать и контролировать
доступность систем и
бизнес-приложений в режиме реального времени.

Сравнение промышленного APM и open source решений

Cо временем все компании приходят
к APM-мониторингу. Сперва их
интересует один аспект производительности и они внедряют
под него в систему некий APM-
инструмент. Да, специализированные проблемы можно выявить и решить с помощью точечных решений.

Три кейса мониторинга информационных
систем Банка ДОМ.РФ с помощью "Ключ-Астром"

Мир информационных технологий в
2022 году полон различного ПО,
дающего возможность в реальном
времени проводить мониторинг информационных систем с
различных сторон.

Вебинар «Как сохранить устойчивость
ИТ-инфраструктуры и приложений
с помощью интеллектуального мониторинга. Кейс банка МКБ»

Разработчики APM-платформы «Ключ-
Астром» рассказали о том, как
сохранить критически важную ИТ-инфраструктур и провели демонстрацию системы.

Инструменты APM VS APM платформа.

Концепция APM (Application Performance Monitoring)
претерпела изменения в последние
годы, поэтому при оценке инструментов мониторинга
важно понимать различия между
инструментами APM и платформами APM.

Наблюдаемость и мониторинг

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

Мониторинг реальных
пользователей

Мониторинг реальных пользователей
(ЦО) собирает подробные данные о
взаимодействии пользователя с
приложением по множеству метрик.
Например, данные, собранные о
действиях загрузки, могут включать
метрики начала навигации, начала
запроса и индекса скорости.

Синтетический
мониторинг

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

Повтор сеанса

Повтор сеанса —
видеовоспроизведение сеансов
пользователей. Предоставляет
информацию о поведении
пользователей, которое
требуется организациям для
создания идеального
пользовательского опыта.