给龙虾配置 Prometheus 监控和告警

线上跑 OpenClaw 不加监控等于裸奔。分享我的 Prometheus + Grafana 监控方案。

OpenClaw 暴露的指标

v2.2 开始,OpenClaw 内置了 Prometheus 指标导出,默认端口 9090:

metrics:
  enabled: true
  port: 9090

主要指标:

  • openclaw_requests_total:请求计数
  • openclaw_request_duration_seconds:请求延迟
  • openclaw_token_usage_total:Token 消耗
  • openclaw_active_sessions:活跃会话数
  • openclaw_skill_invocations_total:Skill 调用次数

Prometheus 配置

scrape_configs:
  - job_name: 'openclaw'
    static_configs:
      - targets: ['localhost:9090']
    scrape_interval: 15s

告警规则

groups:
  - name: openclaw
    rules:
      - alert: HighLatency
        expr: histogram_quantile(0.99, openclaw_request_duration_seconds_bucket) > 10
        for: 5m
        labels:
          severity: warning

      - alert: TokenBudgetAlert
        expr: increase(openclaw_token_usage_total[24h]) > 100000
        labels:
          severity: critical

Grafana Dashboard

做了个 Dashboard 包含:

  • 请求 QPS 和延迟分布
  • Token 消耗趋势(按模型分)
  • 活跃用户数
  • Skill 调用排行
  • 错误率

有了监控之后,Token 超支、性能下降、服务异常都能第一时间发现。推荐所有线上环境都配上。

线上不加监控等于裸奔,这话说得太对了。我之前裸跑了两个月,出问题都不知道什么时候开始的

v2.2内置Prometheus指标导出太好了。之前还要自己写exporter

Grafana Dashboard能分享一下JSON配置吗?不想从零开始搭

openclaw_tokens_total这个指标对费用监控很有用。实时看到Token消耗

对于小规模部署,其实用简单的health check脚本+邮件通知就够了。Prometheus太重了

建议监控的指标优先级:响应延迟 > 错误率 > Token消耗 > 内存使用

Prometheus的存储占用要注意。默认15天数据保留,时间长了硬盘会满

@techpenggo health check脚本对个人够了 但一旦你需要看历史趋势和做容量规划 Prometheus就是必须的 运维不能只看当下 要看趋势

@archpenggo 存储占用可以配remote_write到云端 本地只保留7天 历史数据推到Thanos或Mimir 又便宜又持久

监控方案选Prometheus没毛病

加上Grafana可视化更直观

webhook地址填进去就行,注意签名验证

我对接过,坑不多,文档写得还算清楚

熊猫眼都熬出来了还没搞定

多层防护比单点防御靠谱

输出也要过滤,防止模型吐出敏感信息

用户输入和系统prompt严格隔离是关键