version: '3' services: prometheus: image: prom/prometheus:latest container_name: prometheus restart: always ports: - "9090:9090" volumes: - /root/prometheus/prometheus/config:/etc/prometheus - /root/prometheus/prometheus/data:/prometheus - /etc/localtime:/etc/localtime:ro environment: - TZ=Asia/Shanghai command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--storage.tsdb.retention.time=30d' - '--storage.tsdb.retention.size=10GB' - '--web.enable-lifecycle' renderer: image: grafana/grafana-image-renderer:latest container_name: grafana-renderer restart: always ports: - "8081:8081" environment: # 自定义渲染服务安全令牌,请与下方 Grafana 中的 GF_RENDERING_TOKEN 保持一致 - AUTH_TOKEN=4cd108857bdd30fbd4991bb146622f9d grafana: image: grafana/grafana:latest container_name: grafana restart: always ports: - "3000:3000" volumes: - /root/prometheus/grafana/data:/var/lib/grafana environment: # Grafana 根访问地址 - GF_SERVER_ROOT_URL=http://172.24.16.20:3000/ # 匿名访问设置 - GF_AUTH_ANONYMOUS_ENABLED=true - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer # 嵌入和跨站点 Cookie - GF_SECURITY_ALLOW_EMBEDDING=true - GF_SECURITY_COOKIE_SECURE=false - GF_SECURITY_COOKIE_SAMESITE=lax # Image Renderer 远程服务地址 - GF_RENDERING_SERVER_URL=http://renderer:8081/render # 回调地址,与根地址保持一致 - GF_RENDERING_CALLBACK_URL=http://172.24.16.20:3000/ # 与渲染服务一致的安全令牌 - GF_RENDERING_TOKEN=4cd108857bdd30fbd4991bb146622f9d # 打开渲染日志调试,便于排查 - GF_LOG_FILTERS=rendering:debug alertmanager: image: prom/alertmanager:latest container_name: alertmanager restart: always ports: - "9093:9093" volumes: - /root/prometheus/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml - /etc/localtime:/etc/localtime:ro environment: - TZ=Asia/Shanghai prometheus-alert: image: feiyu563/prometheus-alert:latest container_name: prometheus-alert restart: always ports: - "9094:8080" volumes: - /root/prometheus/prometheus-alert/db:/app/db environment: - PA_LOGIN_USER=admin - PA_LOGIN_PASSWORD=admin - PA_TITLE=prometheusAlert - PA_OPEN_FEISHU=1 - PA_OPEN_DINGDING=1 - PA_OPEN_WEIXIN=1