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

promtail-config.yml 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. # ============================================================
  2. # Promtail 配置 - 日志收集代理
  3. # ============================================================
  4. server:
  5. http_listen_port: 9080
  6. grpc_listen_port: 0
  7. log_level: info
  8. positions:
  9. filename: /tmp/positions.yaml
  10. clients:
  11. - url: http://loki:3100/loki/api/v1/push
  12. batchwait: 1s
  13. batchsize: 1048576 # 1MB
  14. timeout: 10s
  15. scrape_configs:
  16. # ==================== Docker 容器日志 ====================
  17. - job_name: docker
  18. docker_sd_configs:
  19. - host: unix:///var/run/docker.sock
  20. refresh_interval: 5s
  21. filters:
  22. - name: name
  23. values: ["wm-*"]
  24. relabel_configs:
  25. - source_labels: ['__meta_docker_container_name']
  26. regex: '/(.*)'
  27. target_label: 'container'
  28. - source_labels: ['__meta_docker_container_label_com_docker_compose_service']
  29. target_label: 'service'
  30. pipeline_stages:
  31. - json:
  32. expressions:
  33. level: level
  34. msg: msg
  35. time: time
  36. - labels:
  37. level:
  38. service:
  39. - timestamp:
  40. source: time
  41. format: RFC3339Nano
  42. fallback_formats:
  43. - "2006-01-02T15:04:05.000Z"
  44. - output:
  45. source: msg
  46. # ==================== Nginx 访问日志 ====================
  47. - job_name: nginx-access
  48. static_configs:
  49. - targets:
  50. - localhost
  51. labels:
  52. job: nginx-access
  53. __path__: /var/lib/docker/containers/**/wm-frontend*.log
  54. pipeline_stages:
  55. - json:
  56. expressions:
  57. log: log
  58. - regex:
  59. expression: '^(?P<remote_addr>\S+) - (?P<remote_user>\S+) \[(?P<time_local>[^\]]+)\] "(?P<request>[^"]*)" (?P<status>\d+) (?P<body_bytes_sent>\d+) "(?P<referer>[^"]*)" "(?P<user_agent>[^"]*)"'
  60. source: log
  61. - labels:
  62. status:
  63. - timestamp:
  64. source: time_local
  65. format: "02/Jan/2006:15:04:05 -0700"
  66. # ==================== 系统日志 ====================
  67. - job_name: syslog
  68. static_configs:
  69. - targets:
  70. - localhost
  71. labels:
  72. job: syslog
  73. __path__: /var/log/syslog
  74. pipeline_stages:
  75. - regex:
  76. expression: '^(?P<timestamp>\w+\s+\d+\s+\d+:\d+:\d+)\s+(?P<host>\S+)\s+(?P<process>\S+):\s+(?P<message>.+)$'
  77. - labels:
  78. host:
  79. process:
  80. - timestamp:
  81. source: timestamp
  82. format: "Jan 2 15:04:05"
  83. # ==================== Docker 系统日志 ====================
  84. - job_name: docker-system
  85. static_configs:
  86. - targets:
  87. - localhost
  88. labels:
  89. job: docker
  90. __path__: /var/lib/docker/containers/*/*.log
  91. pipeline_stages:
  92. - json:
  93. expressions:
  94. stream: stream
  95. log: log
  96. time: time
  97. - labels:
  98. stream:
  99. - timestamp:
  100. source: time
  101. format: RFC3339Nano