Hermes Agent可观测性需集成Prometheus(启用--enable-metrics、配置scrape_configs)、ELK Stack(采集~/.hermes/sessions/下JSON日志)、Grafana(配置PromQL仪表板)、Alertmanager(定义告警规则与邮件通知)及Wandb(调用evaluate_log轻量追踪)。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜
如果您希望对Hermes Agent的运行状态、性能指标与日志行为进行可观测性管理,则需将其接入标准化监控系统。以下是将Hermes Agent集成至主流监控体系的具体操作路径:
一、集成Prometheus采集运行时指标
Prometheus通过拉取方式定期采集Hermes Agent暴露的HTTP指标端点,适用于实时性能监控与瓶颈定位。Agent的MLOps模块(如vLLM后端)已内置指标支持,启用后即可被Prometheus发现。
1、启动Hermes Agent服务时添加--enable-metrics参数,例如:
vllm serve meta-llama/Llama-3-8B-Instruct --enable-metrics --metrics-port 9090
2、创建Prometheus配置文件prometheus.yml,在scrape_configs中新增job:
scrape_configs:
- job_name: 'hermes-agent'
static_configs:
- targets: ['localhost:9090']
metrics_path: '/metrics'
scrape_interval: 15s
3、启动Prometheus服务并验证目标状态:访问http://localhost:9090/metrics确认指标可访问,再进入Prometheus Web UI的Status → Targets页面检查hermes-agent状态为UP。
二、接入ELK Stack实现结构化日志分析
ELK Stack提供日志集中收集、转换与可视化能力,适配Hermes Agent默认输出的JSON格式会话日志,支持异常模式识别与审计回溯。
1、确认日志路径:Hermes Agent会话日志默认存储于~/.hermes/sessions/目录,文件扩展名为.json。
2、部署Elasticsearch与Logstash:执行以下命令启动基础组件:
docker run -d -p 9200:9200 -e "discovery.type=single-node" elasticsearch:8.11.3
docker run -d -p 5601:5601 --link elasticsearch:elasticsearch kibana:8.11.3
3、编写Logstash配置logstash-hermes.conf,指定输入源与输出目标:
input { file { path => "/HOME/.hermes/sessions/*.json" start_position => "beginning" sincedb_path => "/dev/null" } }
output { elasticsearch { hosts => ["http://localhost:9200"] index => "hermes-logs-%{+YYYY.MM.dd}" } }
4、启动Logstash并加载配置:
logstash -f logstash-hermes.conf
三、配置Grafana仪表板可视化关键指标
Grafana通过PromQL查询Prometheus数据源,构建交互式面板,直观呈现Hermes Agent的服务健康度与资源使用趋势。
1、在Grafana中添加Prometheus为数据源,URL填写http://localhost:9090,保存并测试连接。
2、导入或新建仪表板,添加以下核心PromQL查询:
请求成功率:rate(vllm_request_success_total[5m])
MusicArt
AI音乐生成器
下载
首token响应时间P50:histogram_quantile(0.5, vllm_time_to_first_token_seconds_bucket)
GPU缓存使用率:vllm_gpu_cache_usage_perc
3、为每个查询配置对应图表类型(如折线图、热力图),设置刷新间隔为15s以匹配采集频率。
四、部署Alertmanager实现阈值告警
Alertmanager接收Prometheus转发的告警事件,依据规则去重、分组与路由,通过邮件、Webhook等方式通知运维人员。
1、创建Alertmanager配置文件alertmanager.yml,定义接收器与路由策略:
global:
smtp_smarthost: 'smtp.gmail.com:587'
smtp_from: 'alert@example.com'
route:
receiver: 'email'
receivers:
- name: 'email'
email_configs:
- to: 'admin@example.com'
2、在Prometheus配置中关联Alertmanager地址:
alerting:
alertmanagers:
- static_configs:
- targets: ['localhost:9093']
3、定义告警规则文件hermes_alerts.yml,例如高错误率检测:
groups:
- name: hermes_agent_alerts
rules:
- alert: HighErrorRate
expr: rate(vllm_request_failure_total[5m]) > 0.05
for: 2m
labels:
severity: critical
4、重启Prometheus与Alertmanager服务,进入Alertmanager UI(http://localhost:9093)确认规则已加载且状态为inactive或firing。
五、启用Wandb进行轻量级指标追踪
Wandb适合开发调试阶段的快速指标记录与对比实验,无需部署额外服务,Hermes Agent环境模块已原生支持。
1、确保Wandb API密钥已配置:
wandb login --key YOUR_API_KEY
2、在Hermes Agent运行环境中调用evaluate_log()函数,将评估结果序列化为JSON并自动同步至Wandb云端:
from environments import evaluate_log
evaluate_log({"latency_ms": 427, "success_rate": 0.985, "step_count": 12})
3、访问Wandb项目页面,查看实时生成的指标曲线、表格与元数据标签。
