Monitoring(Loki)

0

TIL

목록 보기
167/183

Grafana Loki는 분산 시스템의 로그 데이터를 수집하고, 저장하며, 쿼리하는 데 사용되는 오픈 소스 로그 집합기, 로그를 메타데이터와 함께 저장하여 사용자가 쉽게 필터링하고 쿼리할 수 있게 해준다.


주요 특징

  • 스케일 아웃 아키텍처: 클러스터링을 통해 수평 확장이 가능하여 대량의 로그를 처리할 수 있다.
  • 효율적인 저장: 로그를 압축된 형식으로 저장하여 저장 공간을 절약할 수 있다.
  • Prometheus와 통합: Prometheus와의 통합이 용이하여 메트릭과 로그를 함께 분석할 수 있다.
  • 간단한 쿼리 언어: LogQL이라는 쿼리 언어를 사용하여 로그를 쉽게 쿼리할 수 있다.
  • Grafana 대시보드와의 통합: Grafana와 원활하게 통합되어 시각화를 통해 로그 데이터를 모니터링할 수 있다.

설치 및 설정 방법

  1. Docker를 사용한 설치:
docker run -d --name=loki -p 3100:3100 grafana/loki:latest
  1. Loki 구성 파일 생성: Loki의 설정을 정의하는 loki-config.yaml 파일을 작성한다.
auth_enabled: false

server:
  http_listen_port: 3100

ingester:
  wal:
    enabled: true
    dir: /loki/wal

storage_config:
  boltdb:
    directory: /loki/indexes
  1. Loki 실행:
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 대시보드를 통한 시각화가 강력하여 개발자와 운영팀이 시스템 로그를 쉽게 모니터링하고 문제를 해결하는 데 큰 도움을 주는 도구이다.

0개의 댓글

관련 채용 정보