728x90
Windows에서 Docker Compose를 이용해 Grafana, Loki, Promtail을 구성하는 방법에 대해 알아보겠습니다.
1. Docker Desktop 설치
https://docs.docker.com/desktop/install/windows-install/
- 위 URL로 접속하여 윈도우용 설치파일을 다운로드합니다.
2. Docker Compose 파일 작성
2.1. 작업폴더생성
mkdir grafana-loki-setup
- 저는 "D:/loki/grafana-loki-setup" 경로에 생성하였습니다.
- 해당 경로로 이동해서, 3개의 파일을 생성합니다.
- docker-compose.yml
- loki-config.yaml
- promtail-config.yaml
2.2. 설정파일생성
2.2.1. docker-compose.yml
version: '3.8'
services:
loki:
image: grafana/loki:latest
container_name: loki
ports:
- "3100:3100"
command: -config.file=/etc/loki/local-config.yaml -config.expand-env=true
volumes:
- ./loki-config.yaml:/etc/loki/local-config.yaml -config.expand-env=true
promtail:
image: grafana/promtail:latest
container_name: promtail
volumes:
- ./promtail-config.yaml:/etc/promtail/promtail-config.yaml
- D:/loki/logs:/var/logs # 윈도우의 로그 디렉터리에 맞게 변경
command: -config.file=/etc/promtail/promtail-config.yaml
grafana:
image: grafana/grafana:latest
container_name: grafana
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
volumes:
- grafana-storage:/var/lib/grafana
volumes:
grafana-storage:
- loki는 "3100", promtail 은 "3000" 번 포트로 지정합니다.
- 나머지 설정은 도커내부 설정이므로, promtail volumns의 로그 경로만 원하는 경로로 작성하시면 됩니다.
2.2.2. loki-config.yaml
auth_enabled: false
server:
http_listen_port: 3100
grpc_listen_port: 0
ingester:
lifecycler:
ring:
kvstore:
store: inmemory
replication_factor: 1
schema_config:
configs:
- from: 2020-10-24
store: boltdb-shipper
object_store: filesystem
schema: v11
index:
prefix: index_
period: 24h
storage_config:
boltdb_shipper:
active_index_directory: /tmp/loki/index
cache_location: /tmp/loki/boltdb-cache
filesystem:
directory: /tmp/loki/chunks
limits_config:
allow_structured_metadata: false
compactor:
working_directory: D:/loki/work
- working_directory 경로는 원하는 경로로 작성하시면 됩니다.
2.2.3. promtail-config.yaml
server:
http_listen_port: 9080
positions:
filename: /tmp/positions.yaml
clients:
- url: http://loki:3100/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs
__path__: /var/logs/*.log
- 분석할 로그 경로만 작성하시면 됩니다.
3. Docker Compose 실행
docker-compose up -d
- cmd 창을 열고 docker-compose.yml 파일을 작성한 위치로 이동 후 실행합니다.
- Docker Desktop으로 실행 확인을 할 수 있습니다.
4. Grafana 접속
http://localhost:3000/
- 위 URL로 접속합니다. 초기 ID/PW 는 admin / admin 입니다.
- "Connections > Data sources > Loki" 클릭하여 URL(Docker 에선 loki 로 작성)을 작성 후, "Save & test" 버튼을 클릭합니다.
- "Build a dashboard" 버튼을 클릭합니다.
- "Add visualization" 버튼을 클릭합니다.
- "loki" 를 선택합니다.
- "Queries" 탭에서 "loki" 를 선택합니다.
- Label filters 에 "job" 과 "varlogs" 를 순서대로 입력합니다.
- Line contains 에는 원하는 단어를 입력하시면 됩니다. 예제에선 "INFO" 와 "ERROR" 를 입력하였습니다.
- 오른쪽 Visualizations 에선 "Logs" 를 선택합니다.
- Run query 또는 Save dashboard를 통해 로그를 볼 수 있습니다.
감사합니다.
728x90
'도구 및 환경 > Tool' 카테고리의 다른 글
[Loki] Window 에 Loki, Promtail 설치하기 (2) | 2024.11.05 |
---|---|
[Grafana] Window 에 Grafana 설치하기 (2) | 2024.11.05 |