尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

3 步给 Hermes Agent 接上 Prometheus 与 Grafana:监控告警体系快速上手指南

3 步给 Hermes Agent 接上 Prometheus 与 Grafana:监控告警体系快速上手指南 3 步给 Hermes Agent 接上 Prometheus 与 Grafana监控告警体系快速上手指南【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent你有没有过这种经历Hermes Agent 半夜跑定时任务时挂了一次直到第二天早上有人来问报告呢你才发现靠人肉盯着终端永远赶不过故障的速度。把 Prometheus 采集、Grafana 看板和 Alertmanager 告警这套组合接上 Hermes Agent问题会在它扩散之前自己喊出来。先搞清楚谁采数、谁画线、谁报警这三个组件是流水线关系记住一句话就够了Prometheus 定期上门取数 → Grafana 把数字画成曲线 → Alertmanager 在曲线越线时把消息推给你。采集Prometheus 每 15 秒访问一次目标地址把网关是什么状态、定时任务成了没这类数字存成时间序列可以按时间回查的数据点。可视化Grafana 用 PromQL 查询语句Prometheus 提供的查询语言用来算速率、分位数把这些点连成面板。告警Alertmanager 负责判断 推送比如失败率连续 5 分钟超阈值就发邮件或 IM 给你。整张地图清楚了下面从源头开始搭。第 1 步让 Hermes 把健康信号发出来Hermes 在agent/monitoring/下内置了一个监控平面网关状态切换、平台故障、定时任务成败都会被打包成不含任何会话内容的事件往外送并且对自由文本做脱敏——你不用担心指标里混进隐私数据。它走的是 OTLP 通道OpenTelemetry 的标准发送协议可以理解为监控数据的快递单。你只需要做两件事在 Hermes 配置里填上你要接收数据的端点可以指向 OpenTelemetry CollectorCollector 再转给 Prometheus 生态的存储monitoring: export: otlp: endpoint: http://otel-collector:4318/v1/traces headers_env: X-OTEL-API-Key: OTEL_KEY装上可选依赖监控导出用到的组件默认不带用到才装pip install hermes-agent[otlp]做完这一步的预期效果Hermes 网关每次状态变化比如从starting变到running或某个平台掉线都会产生一条对应的健康事件。导出链路设计成失败也不拖垮网关——就算接收端宕机你的 Agent 照常干活。第 2 步Prometheus 配置目标15 秒采一次Prometheus 需要一个简单的prometheus.yml告诉它去哪取数。这段配置的作用就是把你的 Hermes 接收端注册成一个采集目标scrape_configs: - job_name: hermes-agent static_configs: - targets: [otel-collector:8889] # 暴露 /metrics 的入口 metrics_path: /metrics scrape_interval: 15s为什么写 15 秒太短比如 1 秒会产生海量数据点Prometheus 存储压力翻倍太长又看不清分钟级的问题。15 秒是大多数服务的默认平衡点先跑起来再调。保存后重启 Prometheus打开http://localhost:9090/targets你应该看到hermes-agent这一行状态为UP——这是数据已经开始进来了的信号。第 3 步5 分钟在 Grafana 上搭好第一块看板Grafana 连上 Prometheus 数据源后别急着铺满面板先建 3 张图覆盖 Hermes 最值得盯的信号网关状态面板查询hermes_gateway_state确认它长期停在running一旦闪到fatal或degraded一眼就能看见定时任务失败曲线把cron_execution里error_class ! unknown的次数按 5 分钟窗口求和任务挂了不用等用户反馈错误类型分布按error_class分组堆叠auth_failed、timeout、network_error都是现成分类帮你先判断是认证过期还是网络抖动排查方向完全不同。把这三张图放进同一个 dashboard命名为 Hermes 服务健康度。做完检查让 Agent 正常跑 10 分钟看第一张图是不是平稳的绿失败曲线是不是贴近 0——这就是一切正常该有的样子。配一条会响的告警规则看板解决回看告警解决主动知道。在 Alertmanager 的规则文件里建议只先配一条最容易误判的groups: - name: hermes-cron rules: - alert: CronFailureRate expr: sum(rate(cron_executions_total{statusfailed}[15m])) / sum(rate(cron_executions_total[15m])) 0.2 for: 5m labels: severity: critical annotations: summary: Hermes 定时任务失败率超过 20%rate()是 PromQL 里算每秒发生多少次的函数。这条规则的意思是失败占比超过 20% 且持续 5 分钟才触发——中间的for: 5m非常关键它能过滤掉单次抖动的误报。通知渠道邮件、IM、值班电话在 Alertmanager 的route段里配这里不展开。验证方式手动把一个定时任务的配置写错5 分钟后你的手机/邮箱应该收到那条 critical 消息。收到它整条链路才算真正打通。两个最容易踩的坑坑 1脱敏把有用信息也洗掉了。Hermes 导出前会对自由文本做强制脱敏密钥、PII 一律替换。所以诊断面板里如果你看到[redacted]别怀疑丢数据这是设计如此想保留细节把关键错误码error_code这类结构化字段而不是自然语言写进你的业务错误信息里。坑 2采集间隔调太激进数据点爆炸。有人一紧张就把scrape_interval改到 1 秒结果存储量涨十几倍、Grafana 查询变慢。正确做法是先保持 15 秒等某张图确实看不清了再单独给那个指标建短间隔的 job。收尾到这里Hermes Agent 出了问题不再是你第二天早上才发现的事数据 15 秒一采曲线 5 分钟一画越线 5 分钟必响。想继续深入 OTLP 导出的完整配置项和事件字段去看 agent/monitoring/ 目录下的源码注释它就是最权威的一份文档。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表