마이크로서비스 및 분산 시스템에서 효과적인 로깅은 매우 중요하며, Grafana Loki를 Go 로깅 라이브러리 logrus와 통합하면 강력하고 검색 가능한 로깅 시스템을 구축할 수 있습니다. Loki를 통합하는 두 가지 주요 방법이 있습니다: Promtail을 사용하거나 logrus와 직접적인 훅(hook)을 사용하는 방법입니다. 이 가이드는 두 번째 접근 방식, 즉 로그 메시지를 캡처하여 HTTP를 통해 Grafana 대시보드로 직접 전송하는 방법에 초점을 맞춥니다. logrus 훅은 로그 항목이 생성될 때마다 추가 작업을 실행할 수 있도록 하는 확장 지점입니다. Loki 통합을 위한 훅 구현은 YuKitsune/lokirus 패키지를 통해 사용할 수 있습니다. Loki는 레이블을 사용하여 로그를 구성하므로 검색 및 필터링이 용이합니다. 로깅 시스템을 구현하기 위해 중요한 요청 세부 정보를 캡처하는 요청 추적 미들웨어를 생성하고, 구현 세부 정보를 추상화하는 로거 인터페이스를 정의합니다. 그런 다음 로거를 Loki 훅으로 초기화하고 컨텍스트 정보를 추출하고 로그를 형식화하는 로깅 메서드를 구현합니다. 로깅 시스템은 로거를 초기화하고 요청 처리기에서 사용하여 애플리케이션에서 사용할 수 있습니다. 마지막으로, Grafana를 데이터 소스로 Loki를 추가하고, 로그 패널이 있는 대시보드를 생성하고, 서비스 레이블로 필터링하도록 쿼리를 구성하여 로그를 표시하도록 Grafana를 구성할 수 있습니다.
dev.to
Supercharging Your Observability: Integrating Logrus with Grafana Loki
Create attached notes ...
