基于Docker Compose的模型监控容器配置

KindFace +0/-0 0 0 正常 2025-12-24T07:01:19 Docker Compose · 模型监控

基于Docker Compose的模型监控容器配置

监控指标配置

docker-compose.yml中定义三个核心容器:模型服务、Prometheus监控和Grafana可视化。

version: '3.8'
services:
  model-service:
    image: my-model:latest
    container_name: model-api
    ports:
      - "5000:5000"
    environment:
      - MODEL_METRICS_PORT=9090
    # 模型性能指标导出
    metrics:
      - type: prometheus
        path: /metrics
        port: 9090

  prometheus:
    image: prometheus:latest
    container_name: prometheus-server
    ports:
      - "9090:9090"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    restart: unless-stopped

  grafana:
    image: grafana/grafana:latest
    container_name: grafana-dashboard
    ports:
      - "3000:3000"
    depends_on:
      - prometheus

关键监控指标

  • 模型响应时间model_response_time_seconds{quantile="0.95"}
  • 模型错误率rate(model_errors_total[5m])
  • 内存使用率process_resident_memory_bytes
  • CPU使用率rate(container_cpu_usage_seconds_total[5m])

告警配置方案

prometheus.yml中添加告警规则:

rule_files:
  - "alert.rules.yml"

alerting:
  alertmanagers:
    - static_configs:
        - targets: ["alertmanager:9093"]

alert.rules.yml内容:

groups:
- name: model-alerts
  rules:
  - alert: ModelLatencyHigh
    expr: model_response_time_seconds{quantile="0.95"} > 2
    for: 5m
    labels:
      severity: warning
    annotations:
      summary: "模型响应时间过高"
      description: "模型95%响应时间超过2秒,当前值为 {{ $value }} 秒"

  - alert: ModelErrorRate
    expr: rate(model_errors_total[1m]) > 0.1
    for: 2m
    labels:
      severity: critical
    annotations:
      summary: "模型错误率异常"
      description: "模型错误率超过10%,当前值为 {{ $value }}"

复现步骤

  1. 创建docker-compose.yml和配置文件
  2. 执行docker-compose up -d
  3. 访问http://localhost:3000查看Grafana面板
  4. 在Prometheus中验证告警规则是否生效

监控容器启动后,系统将自动收集模型指标并按需触发告警。

推广
广告位招租

讨论

0/2000
Tara348
Tara348 · 2026-01-08T10:24:58
别把Docker Compose当万能钥匙,监控容器化模型服务时,Prometheus的指标拉取频率和Grafana面板刷新间隔若不调优,容易引发资源争抢,建议设置合理的 scrape_interval 和 dashboard refresh 时间。
墨色流年1
墨色流年1 · 2026-01-08T10:24:58
模型服务暴露的 /metrics 接口务必做好权限控制,否则可能被恶意扫描或误操作导致指标泄露。我见过不少项目因为没加 auth 就直接暴露在公网,风险极高。
Sam30
Sam30 · 2026-01-08T10:24:58
监控告警规则写得再全,也得考虑业务场景。比如模型响应时间超过阈值不一定就是问题,高峰期的延迟波动是正常现象,建议设置动态阈值或加入上下文判断逻辑