Grafana Loki 로그 영구 보존 설정
이 문서는 Grafana에서 로그를 영구 보존하는 방법을 설명합니다. 분석과 참고를 위해 로그를 더 오래 저장할 때 필요한 설정입니다.
Grafana 개요
현재 Bahmni는 모니터링과 관측성에 다음 도구를 사용합니다.
- 모니터링 및 알림: Prometheus, Grafana
- 중앙 로그: Promtail, Loki, Grafana로 구성된 Loki Stack
Grafana Loki는 chunk와 index 두 종류의 데이터를 저장합니다. Loki는 로그를 별도 스트림으로 수신하며 각 스트림은 tenant ID와 레이블 집합으로 고유하게 식별됩니다. 스트림 로그 항목은 압축된 chunk로 저장되고, index는 각 스트림의 레이블 집합과 개별 chunk 연결 정보를 저장합니다.
Loki 설정 파일 loki.yaml의 상세 예시: https://grafana.com/docs/loki/latest/configuration/
지원 저장소: Grafana는 로그 보존을 위해 다양한 저장소를 지원하며 공식 문서에서 목록을 확인할 수 있습니다.
Grafana Loki 보존: Table Manager 또는 Compactor를 사용하여 보존을 구현합니다.
목차
Bahmni 설정
상세 분석이나 문제 디버깅이 필요할 때는 로그 보존이 필요합니다. 요구 사항과 저장소 예산에 따라 로그 보존 기간을 1일, 7일, 15일, 1개월 또는 1년으로 설정할 수 있습니다. Bahmni에서는 helm-charts에 영구 로그 설정을 구현했습니다. 모든 구현은 자동화되어 있으며 github workflows를 통해 실행됩니다. Bahmni는 Compactor 저장소 구성을 사용합니다. Bahmni에서는 다음 설정으로 로그 보존을 구성합니다:
- 미리 정의된 helm charts: https://artifacthub.io/packages/helm/grafana/loki-stack
- 저장소: boltdb-shipper
- 저장소 크기: 10 Gi
- 보존 기간: 48 hrs
자세한 설정은 이 Grafana 문서를 참고하십시오. 지원되는 모든 항목과 기본값을 설명합니다.
아래는 Kubernetes와 Docker Compose 설정에 사용하는 Bahmni 구성 예시입니다.
1. Kubernetes 환경
2. Docker Compose 환경
로그 보존 설정 수정 단계
1. limits_config 섹션의 retention_period 값을 변경합니다.
limits_config:
retention_period: 24h ---->CHANGE THIS VALUE AS PER REQUIREMENTCHANGE THIS VALUE AS PER REQUIREMENT enforce_metric_name: false reject_old_samples: true reject_old_samples_max_age: 168h max_entries_limit_per_query: 5000]]> 그런 다음 docker compose restart loki 명령으로 Loki 서비스를 다시 시작합니다.
limits_config:
retention_period: 24h --->CHANGE THIS VALUE AS PER REQUIREMENT
enforce_metric_name: false
reject_old_samples: true
reject_old_samples_max_age: 168h
max_entries_limit_per_query: 5000참고: Grafana 대시보드 접근에 문제가 있으면 Infra 팀(Slack: #bahmni-infra)에 문의하십시오.
Bahmni Wiki · CC BY-SA 4.0