智慧水务管理系统 - 精河县供水工程综合管理平台

docker-compose.logging.yml 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # ============================================================
  2. # 日志收集栈 Docker Compose 编排 (轻量级 Loki 方案)
  3. #
  4. # 使用方式:
  5. # docker compose -f deploy/production/logging/docker-compose.logging.yml up -d
  6. #
  7. # 包含组件:
  8. # - Loki (日志聚合存储)
  9. # - Promtail (日志收集代理)
  10. # - 可选: Filebeat (替代 Promtail)
  11. # ============================================================
  12. services:
  13. # ==================== Loki (日志聚合) ====================
  14. loki:
  15. image: grafana/loki:2.9.6
  16. container_name: wm-loki
  17. restart: always
  18. command: -config.file=/etc/loki/loki-config.yml
  19. ports:
  20. - "127.0.0.1:3100:3100"
  21. volumes:
  22. - ./loki-config.yml:/etc/loki/loki-config.yml:ro
  23. - loki_data:/loki
  24. networks:
  25. - wm-network
  26. - logging
  27. deploy:
  28. resources:
  29. limits:
  30. cpus: '1.0'
  31. memory: 1G
  32. reservations:
  33. cpus: '0.25'
  34. memory: 256M
  35. logging:
  36. driver: json-file
  37. options:
  38. max-size: "30m"
  39. max-file: "3"
  40. healthcheck:
  41. test: ["CMD", "wget", "--spider", "-q", "http://localhost:3100/ready"]
  42. interval: 30s
  43. timeout: 10s
  44. retries: 3
  45. # ==================== Promtail (日志收集) ====================
  46. promtail:
  47. image: grafana/promtail:2.9.6
  48. container_name: wm-promtail
  49. restart: always
  50. command: -config.file=/etc/promtail/promtail-config.yml
  51. volumes:
  52. - ./promtail-config.yml:/etc/promtail/promtail-config.yml:ro
  53. - /var/log:/var/log:ro
  54. - /var/lib/docker/containers:/var/lib/docker/containers:ro
  55. - /var/run/docker.sock:/var/run/docker.sock:ro
  56. networks:
  57. - logging
  58. - wm-network
  59. depends_on:
  60. - loki
  61. deploy:
  62. resources:
  63. limits:
  64. cpus: '0.3'
  65. memory: 256M
  66. reservations:
  67. cpus: '0.1'
  68. memory: 64M
  69. logging:
  70. driver: json-file
  71. options:
  72. max-size: "10m"
  73. max-file: "3"
  74. # ==================== 数据卷 ====================
  75. volumes:
  76. loki_data:
  77. # ==================== 网络 ====================
  78. networks:
  79. logging:
  80. driver: bridge
  81. name: wm-logging
  82. wm-network:
  83. external: true
  84. name: wm-network