Эффективное журналирование является критически важным в микросервисах и распределенных системах, и интеграция Grafana Loki с библиотекой журналирования Go logrus может создать мощную, поисковую систему журналирования. Существует два основных подхода к интеграции Loki: с помощью Promtail или прямого хука с logrus. данный руководство фокусируется на втором подходе, который захватывает сообщения журнала и отправляет их напрямую на панель мониторинга Grafana по протоколу HTTP. Хуки logrus - это точки расширения, которые позволяют выполнять дополнительные действия при создании записи журнала. Реализация хука для интеграции с Loki доступна через пакет YuKitsune/lokirus. Loki организует журналы с помощью меток, что делает их высоко поисковыми и фильтруемыми. Чтобы реализовать систему журналирования, создается middleware для трассировки запросов, чтобы захватить важные детали запроса, и определяется интерфейс логгера, чтобы абстрагировать детали реализации. Затем логгер инициализируется с хуком Loki, и реализуются методы журналирования для извлечения контекстной информации и форматирования журналов. Система журналирования может быть использована в приложении, инициализируя логгер и используя его в обработчиках запросов. Наконец, Grafana может быть настроена для отображения журналов, добавляя Loki в качестве источника данных, создавая панель мониторинга с панелью журналов и настраивая запрос для фильтрации по меткам сервиса.
dev.to
Supercharging Your Observability: Integrating Logrus with Grafana Loki
