| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # ============================================================
- # 日志收集栈 Docker Compose 编排 (轻量级 Loki 方案)
- #
- # 使用方式:
- # docker compose -f deploy/production/logging/docker-compose.logging.yml up -d
- #
- # 包含组件:
- # - Loki (日志聚合存储)
- # - Promtail (日志收集代理)
- # - 可选: Filebeat (替代 Promtail)
- # ============================================================
-
- services:
- # ==================== Loki (日志聚合) ====================
- loki:
- image: grafana/loki:2.9.6
- container_name: wm-loki
- restart: always
- command: -config.file=/etc/loki/loki-config.yml
- ports:
- - "127.0.0.1:3100:3100"
- volumes:
- - ./loki-config.yml:/etc/loki/loki-config.yml:ro
- - loki_data:/loki
- networks:
- - wm-network
- - logging
- deploy:
- resources:
- limits:
- cpus: '1.0'
- memory: 1G
- reservations:
- cpus: '0.25'
- memory: 256M
- logging:
- driver: json-file
- options:
- max-size: "30m"
- max-file: "3"
- healthcheck:
- test: ["CMD", "wget", "--spider", "-q", "http://localhost:3100/ready"]
- interval: 30s
- timeout: 10s
- retries: 3
-
- # ==================== Promtail (日志收集) ====================
- promtail:
- image: grafana/promtail:2.9.6
- container_name: wm-promtail
- restart: always
- command: -config.file=/etc/promtail/promtail-config.yml
- volumes:
- - ./promtail-config.yml:/etc/promtail/promtail-config.yml:ro
- - /var/log:/var/log:ro
- - /var/lib/docker/containers:/var/lib/docker/containers:ro
- - /var/run/docker.sock:/var/run/docker.sock:ro
- networks:
- - logging
- - wm-network
- depends_on:
- - loki
- deploy:
- resources:
- limits:
- cpus: '0.3'
- memory: 256M
- reservations:
- cpus: '0.1'
- memory: 64M
- logging:
- driver: json-file
- options:
- max-size: "10m"
- max-file: "3"
-
- # ==================== 数据卷 ====================
- volumes:
- loki_data:
-
- # ==================== 网络 ====================
- networks:
- logging:
- driver: bridge
- name: wm-logging
- wm-network:
- external: true
- name: wm-network
|