#Lab: Centralized Logging
Set up centralized logging with Loki and Grafana.
#🎯 Objectives
- Deploy Loki stack
- Configure log collection
- Query logs in Grafana
#Task 1: Docker Compose
yaml
1version: '3.8'
2services:
3 loki:
4 image: grafana/loki:2.9.0
5 ports:
6 - "3100:3100"
7 command: -config.file=/etc/loki/local-config.yaml
8
9 promtail:
10 image: grafana/promtail:2.9.0
11 volumes:
12 - /var/log:/var/log
13 - ./promtail-config.yaml:/etc/promtail/config.yaml
14 command: -config.file=/etc/promtail/config.yaml
15
16 grafana:
17 image: grafana/grafana:latest
18 ports:
19 - "3000:3000"#Task 2: Promtail Config
yaml
1# promtail-config.yaml
2server:
3 http_listen_port: 9080
4
5clients:
6 - url: http://loki:3100/loki/api/v1/push
7
8scrape_configs:
9 - job_name: system
10 static_configs:
11 - labels:
12 job: varlogs
13 __path__: /var/log/*log#Task 3: Query in Grafana
Add Loki data source, then query:
logql
{job="varlogs"} |= "error"#✅ Success Criteria
- Loki receiving logs
- Grafana shows logs
- Can filter by label