카테고리 없음

[모니터링] Docker-loki-plugin 환경에서 log라벨 설정

쓱쓱565 2024. 12. 31. 22:35

현재 Docker-compose 기반 서버들의 컨테이너 로깅 아키텍쳐는 다음과 같다.

Docker Daemon ( with Docker-loki-plugin) > Loki > Grafana
https://grafana.com/docs/loki/latest/send-data/docker-driver/configuration/

Promtail 을 활용하지 않기에, 기존 k8s 환경에서 Promtail을 이용하던 것과는 다른 방법으로 로그를 파싱해야 함.

관련 내용 리서치.

Docker 환경에서 Log 라벨 설정

1. 환경 설정의 차이

  Kubernetes Docker-compose
컨테이너 로그 수집기 Promtail 별도로 존재하지 않음
아키텍쳐 Promtail > Loki > Grafana Docker Daemon(with docker-loki-plugin) > Loki > Grafana
라벨 부여 Promtail Loki( Relabeling )

1) K8S

  • Promtail 이 각 pod의 log를 수집함.
  • Loki는 Promtail이 수집한 log를 인덱싱 / 저장.

2) Docker-compose 로깅 아키텍쳐

Docker-loki plugin을 설치, docker container 들의 log를 forward 한다.

* 참고: Grafana 공식 문서 가이드.
https://grafana.com/docs/loki/latest/send-data/docker-driver/configuration/

2. 기본 Docker log 라벨들

docker compose 기준 아래 4개의 라벨들이 기본적으로 생성된다.

filename: 디스크 내 실제로 생성된 log 파일명
host: log 를 생성한 host의 이름
compose_project, compose_service: compose 파일명에 따라 적절한 형태로 생성됨.

3. 추가 라벨 부여

Relabel: Prometheus relabel 부분 참고.

https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config

Pipeline stages도 참고 가능.
https://grafana.com/docs/loki/latest/send-data/docker-driver/configuration/#pipeline-stages