Grafana Loki는 분산 시스템의 로그 데이터를 수집하고, 저장하며, 쿼리하는 데 사용되는 오픈 소스 로그 집합기, 로그를 메타데이터와 함께 저장하여 사용자가 쉽게 필터링하고 쿼리할 수 있게 해준다.
docker run -d --name=loki -p 3100:3100 grafana/loki:latest
auth_enabled: false
server:
http_listen_port: 3100
ingester:
wal:
enabled: true
dir: /loki/wal
storage_config:
boltdb:
directory: /loki/indexes
docker run -d -p 3100:3100 -v $(pwd)/loki-config.yaml:/etc/loki/local-config.yaml grafana/loki:latest -config.file=/etc/loki/local-config.yaml
Loki는 다양한 로그 수집기를 지원합니다. 가장 일반적으로는 Promtail을 사용하여 애플리케이션 로그를 Loki에 전송한다.
Grafana에서 Loki 데이터 소스를 추가한 후, LogQL 쿼리를 사용하여 로그를 조회할 수 있다.
예를 들어, 특정 레벨의 로그를 필터링하려면 다음과 같은 쿼리를 사용할 수 있다.
{level="error"} |~ "timeout"
Grafana Loki는 효율적으로 로그 데이터를 수집하고 분석할 수 있는 강력한 도구로
특히 Prometheus와의 통합 및 Grafana 대시보드를 통한 시각화가 강력하여 개발자와 운영팀이 시스템 로그를 쉽게 모니터링하고 문제를 해결하는 데 큰 도움을 주는 도구이다.