Loki

노력하는백엔드·2025년 8월 10일
0

이론 정리

목록 보기
3/9

Loki란?

Loki는 Grafana Labs에서 만든 경량 로그 수집/저장 시스템입니다.

Prometheus처럼 라벨(Label) 기반으로 로그를 수집하고 검색할 수 있는 것이 특징이에요.

🗒️ "Loki는 로그용 Prometheus다!" 라고 이해하면 딱 좋습니다.


Loki의 특징 요약

항목설명
🔖 라벨 기반 로그 인덱싱로그 전체를 인덱싱하지 않고 라벨만 인덱싱 → 가볍고 빠름
🧾 텍스트 로그 수집시스템 로그, 애플리케이션 로그 등 자유롭게 수집 가능
📦 저장 효율성전체 로그 내용은 압축 저장, 필요한 시점에 검색
🔍 LogQL 쿼리 지원SQL처럼 조건 필터링 가능 (예: `
🧩 Grafana와 통합 최적화로그 + 메트릭을 한 화면에서 확인 가능
📤 다양한 수집기 연동Promtail, Fluent Bit, Logstash, Vector 등과 호환 가능

Loki 구성요소

구성요소설명
Loki로그 저장 및 쿼리 처리 서버
PromtailLoki에 로그를 보내는 기본 수집기
GrafanaLoki 데이터를 시각화하고 검색하는 UI
LogQLLoki의 로그 검색 쿼리 언어

LogQL – Loki의 쿼리 언어

1. 기본 구조

logql
복사편집
{label1="value", label2="value"} |= "검색어"

2. 예시

쿼리설명
{job="nginx"}job이 nginx인 로그 전체 보기
`{job="nginx"}= "error"`
`{app="myapp"}~ "timeout
{job="syslog"} != "debug"debug가 아닌 로그 필터링

Loki 저장 방식 (vs ELK Stack)

항목LokiElasticsearch
인덱싱라벨만 인덱싱전체 로그 내용 인덱싱
저장 용량작음 (압축 저장)
검색 속도라벨 기반으로 빠름전체 검색 시 느림 가능
복잡도낮음높음
Grafana 통합기본 지원연동 필요

Loki가 유용한 경우

  • Prometheus로 모니터링 중인 서버의 로그를 함께 보고 싶을 때
  • 리소스가 부족한 서버에서도 경량 로그 시스템이 필요한 경우
  • 여러 서버/컨테이너의 로그를 통합 수집해서 검색하고 싶은 경우
  • 메트릭과 로그를 같은 시간 축으로 함께 보고 싶은 경우

Loki 기본 연동 구조

text
복사편집
[서버 로그 파일들]
        ↓
     Promtail
        ↓
       Loki
        ↓
      Grafana
  • Promtail이 로그를 읽고 Loki에 전송
  • Loki는 로그를 저장/색인
  • Grafana는 Loki에 쿼리해서 로그 시각화

Loki 수집 대상 예시

  • /var/log/syslog
  • /var/log/nginx/access.log
  • Docker container 로그 (/var/lib/docker/containers/...)
  • 애플리케이션 로그 파일 (logs/app.log)

profile
열심히 노력하는 백엔드입니다.

0개의 댓글