ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Hermes Agent 监控5分钟搭好:一套能落地的 OTLP + Prometheus + Grafana

Hermes Agent 监控5分钟搭好:一套能落地的 OTLP + Prometheus + Grafana Hermes Agent 监控5分钟搭好一套能落地的 OTLP Prometheus Grafana【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent桌面客户端状态栏明明写着 Gateway ready可定时 cron 任务已经逾期 10 分钟active_agents一整天都是 0——你知道哪里不对却说不出在哪。Hermes Agent 的可观测性数据其实早就在进程内产出了缺的只是把它接到 Prometheus 的最后一根管。本文把这根管接完。先看链路数据往哪走Hermes Agent 不自己开/metrics端口而是导出者模式网关运行时产出健康快照和诊断事件交给 监控模块的内存队列深度 10,000满了丢最旧的一条后台线程按批推到你配置的 OTLP 端点。目的地完全由你定义项目不带默认接收端。整条链路是Hermes gateway → agent/monitoring emitter 队列 → OTLP/HTTP :4318 → OTel Collector → Prometheus → Grafana 展示 / Alertmanager 告警所以你要补的部署组件只有一个OTel Collector它负责OTLP 翻译 Prometheus。 看什么内置指标就这四类网关导出运行时默认注册这些指标进入 Prometheus 后点号变下划线存活hermes.gateway.up0/1、hermes.gateway.staterunning/draining/stopping并发hermes.gateway.active_agents前台在途 agent、hermes.gateway.background_work和background_delegations后台子代理与委托并发平台连接hermes.platform.up/hermes.platform.degraded按消息平台拆分定时任务hermes.cron.scheduler.heartbeat_age_seconds调度心跳年龄、hermes.cron.jobs.overdue逾期数、hermes.cron.jobs.running诊断事件gateway_diagnostic带severity、error_class、platform自由文本统一走 脱敏逻辑不含 prompt 与会话内容每类挑一两个进首版仪表盘就够不用全量铺开。最小配置8 行打开管线先pip install hermes-agent[otlp]OTel SDK 是可选依赖首次使用会懒安装然后写config.yamlmonitoring: export: otlp: enabled: true endpoint: http://otel-collector:4318/v1/traces gateway_health_export: enabled: true export_interval_seconds: 30这段解决数据去哪、多久去一次4318 是 Collector 的 OTLP HTTP 端口metrics 和 logs 端点由它自动派生30 秒是默认 60 秒和采集压力之间的折中下限 5 秒。Collector 要鉴权的话用headers_env把请求头指向环境变量名密钥别写进配置。Collector 怎么把 OTLP 变成 PrometheusCollector 配置只需一条管线receivers: otlp: protocols: http: { endpoint: 0.0.0.0:4318 } exporters: prometheusremotewrite: { url: http://prometheus:9090/api/v1/write } service: pipelines: metrics: { receivers: [otlp], exporters: [prometheusremotewrite] }prometheusremotewrite以 remote write 格式把指标直接写进 Prometheus 9090——没有 scrape 配置可写因为没有端口给它抓数据是主动推的。Grafana 加一个 Prometheus 数据源http://prometheus:9090首版仪表盘放 4 个面板hermes_gateway_up上下线开关、active_agentsbackground_work堆叠并发图、hermes_cron_jobs_overdue非 0 即红、hermes_cron_scheduler_heartbeat_age_seconds单线越涨越可疑。诊断日志也已进了 Collector加一个 Logs 面板按severitywarning过滤即可。 告警规则怎么写才不吵原则一句话只在你会起身查看的事上触发。Hermes 网关真正的故障态就三种——进程死、任务卡、调度静默三条规则封顶groups: - name: hermes-gateway rules: - alert: GatewayDown expr: hermes_gateway_up 0 for: 1m - alert: CronJobsOverdue expr: hermes_cron_jobs_overdue 0 for: 10mGatewayDown是唯一 critical另一条是 warningfor: 10m滤掉单点抖动。第三条留给调度静默hermes_cron_scheduler_heartbeat_age_seconds 120持续 5 分钟。并发、内存这类阈值在你有明确业务基线之前先别加——告警宁少勿滥一次不响的误报比十条刷屏更伤信任。 docker compose 一次部署到位一份 compose 列 5 个服务hermes-agent你的网关、otel-collector4318、prometheus9090、grafana3000、alertmanager9093hermes-agent 用 volume 挂上文的config.yaml唯一网络要求是 collector 的 4318 可达。生产已在 Kubernetes 的话思路不变5 个服务包成 Deployment配置照搬endpoint 改成本集群的otel-collector:4318。跑起来之后的调优建议别追短采样网关健康默认 60 秒足够15–30 秒是甜点代码把下限硬编码在 5 秒逐秒抓取对这种慢变信号没有信息量。多实例部署靠service.instance.id区分它取自monitoring.install_id首次启动自动生成 UUID 并回写配置轮转就清空这个字段。emitter 的 drop 计数持续上涨先查 collector 或 OTLP 端点的延迟——队列满时丢最旧、绝不阻塞网关所以不会拖垮业务但会悄悄丢数据。实现细节看 agent/monitoring/ 和 OTLP 导出器。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表