Hermes Agent 性能监控完整指南:Prometheus、Grafana 与 Alertmanager 三步跑通
【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent
凌晨两点,Hermes Agent 的线上服务突然变慢,你手上一句"感觉卡了",连首 token 多久才吐出来、GPU 缓存用到几成都看不见。这篇文章带你把性能监控闭环搭起来:Prometheus 抓指标、Grafana 出面板、Alertmanager 管告警,出了问题直接看数字定位。
🌙 被半夜叫醒的那一刻
服务跑在生产上,用户反馈"慢了"。你没有任何响应时间数据,没有错误率,没有 GPU 使用率,排查一圈最后只能重启碰碰运气。监控不是为了好看,它是把"感觉变慢"变成可查的数字。
三步接好监控闭环
整体就三件事:暴露指标、采集指标、把指标画出来。
第一步:一行命令让 vLLM 吐出指标
以 MLOps 里常用的 vLLM 为例,启动时加上--enable-metrics --metrics-port 9090两个参数,服务就会在 9090 端口暴露/metrics:
vllm serve meta-llama/Llama-3-8B-Instruct \ --enable-metrics --metrics-port 9090完整配置可以看项目里的skills/mlops/vllm/references/server-deployment.md,那份 Docker Compose 部署文档里指标暴露已经配好了,抄过来即可。
第二步:Prometheus 指对端口
采集端写一个prometheus.yml,15 秒去 9090 拉一次就够:
scrape_configs: - job_name: hermes-agent metrics_path: /metrics scrape_interval: 15s static_configs: - targets: [localhost:9090]第三步:Grafana 只挑五个关键查询
指标不用全铺,下面这几个能覆盖八成场景:
- 请求成功率:
rate(vllm_request_success_total[5m]) - 首 token 时间 p50 / p99:
histogram_quantile(0.5, vllm_time_to_first_token_seconds_bucket),0.5 换 0.99 就是 p99 - GPU 缓存使用率:
vllm_gpu_cache_usage_perc - 活跃请求数:
vllm_num_requests_running
面板按"吞吐量 → 响应时间分布 → GPU 占用 → 错误率"的顺序摆,排查时视线顺着走就行。
告警阈值这样定
原则很简单:先分"必须马上处理"和"白天再看"两档,再留出余量,避免一根柱子插到天花板就炸群。
groups: - name: hermes_agent_alerts rules: - alert: HighErrorRate expr: rate(vllm_request_failure_total[5m]) > 0.05 for: 2m labels: {severity: critical} - alert: SlowResponseTime expr: histogram_quantile(0.99, vllm_time_to_first_token_seconds_bucket) > 2 for: 5m labels: {severity: warning}两条经验:
- 别一超阈值就报,
for: 2m让它持续一会儿再触发,告警风暴就少一半。 - 通知渠道随便挑:邮件、Slack、PagerDuty,或者国内常用的企业微信、钉钉,都支持。
Docker 一键拉起监控栈
四个服务放进一个docker-compose.yml,docker compose up -d全通了:
services: hermes-agent: image: hermes-agent:latest command: --enable-metrics --metrics-port 9090 ports: ["8000:8000", "9090:9090"] prometheus: image: prom/prometheus ports: ["9091:9090"] volumes: ["./prometheus.yml:/etc/prometheus/prometheus.yml"] grafana: image: grafana/grafana ports: ["3000:3000"] alertmanager: image: prom/alertmanager ports: ["9093:9093"]没拉过代码的话,先执行git clone https://gitcode.com/GitHub_Trending/he/hermes-agent把仓库克隆下来再看文档。
生产环境的几个坑
- 高优先级服务把
scrape_interval缩到 5 秒,其余保持 15 秒即可,别全拉满。 - 复杂查询用 recording rules 预计算,Grafana 打开面板会快很多。
- 定期清一遍没人看的指标,加上新业务口径的,面板才不会越积越乱。
- 跑在 Kubernetes 上的话,把监控配置直接并入 deployment,扩缩容时监控也能跟着覆盖,参考
skills/mlops/vllm/references/server-deployment.md里的 K8s 部分。
更深入的用法可以看skills/mlops/vllm/SKILL.md。照着三步先把采集跑通,下次"感觉变慢了"你手里就有数字了。
【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考