可实现Hermes Agent周期性健康检查的五种方法:一、YAML配置Cron任务;二、Shell脚本+systemd timer;三、Python脚本集成Prometheus指标导出;四、Ansible批量巡检;五、Telegram手动触发。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望实现Hermes Agent对服务器的周期性健康检查,但尚未部署可执行的巡检逻辑,则可能是由于缺少标准化、可调度的脚本化巡检机制。以下是解决此问题的步骤:
该方法利用Hermes Agent原生支持的Cron任务调度能力,通过修改config/application.yml文件直接声明巡检任务,无需额外进程或外部依赖,所有检查逻辑由Agent自身解析并触发对应工具链执行。
1、打开Hermes Agent安装目录下的config/application.yml文件。
2、在cron:节点下新增一个巡检任务条目,确保缩进与YAML语法严格一致。
3、设置schedule:字段为标准cron表达式,例如"*/30 * * * *"表示每30分钟执行一次。
4、在task:字段中明确描述检查内容,例如"检查CPU使用率是否超85%、内存剩余是否低于1GB、根分区磁盘使用率是否超90%,异常时通过飞书告警"。
5、保存文件后执行hermes restart或向/actuator/refresh发送POST请求以热重载配置。
该方法将巡检逻辑解耦为外部Shell脚本,由系统级timer精确控制执行时机,适用于需复用已有监控逻辑、规避Agent JVM启动延迟或需细粒度日志隔离的场景。
1、创建巡检脚本/usr/local/bin/hermes-server-check.sh,首行添加#!/bin/bash。
2、在脚本中调用curl -s http://localhost:8080/actuator/health获取Agent自身健康状态。
3、使用top -bn1 | grep "Cpu(s)"和df -h / | awk 'NR==2 {print $5}' | sed 's/%//'分别提取CPU与磁盘使用率数值。
4、当任一指标超过阈值时,构造JSON payload并调用飞书机器人Webhook地址发送告警。
5、赋予脚本执行权限:chmod +x /usr/local/bin/hermes-server-check.sh,并配置systemd timer实现定时触发。
该方法面向已启用Metrics端点的增强型部署,通过主动拉取Hermes Agent暴露的Prometheus格式指标,并结合本地系统采集数据,统一生成结构化巡检报告,便于接入Grafana看板或长期趋势分析。
1、安装依赖:pip install prometheus-client psutil requests。
2、编写脚本,使用psutil.cpu_percent(interval=1)、psutil.virtual_memory()、psutil.disk_usage("/")采集本地指标。
3、向http://localhost:8080/actuator/prometheus发起GET请求,解析返回文本中的hermes_agent_uptime_seconds、hermes_agent_tool_call_total等关键指标。
4、将全部指标按预设规则判断异常后,写入/var/log/hermes/inspection.log并附加时间戳。
5、配置prometheus.yml中static_configs指向该脚本暴露的/metrics HTTP端点(需另起Flask服务),实现指标自动发现。
该方法适用于管理多个Hermes Agent实例的集群环境,通过Ansible统一下发巡检指令、收集各节点输出并聚合结果,避免逐台登录操作,保障巡检动作的一致性与时效性。
1、在Ansible inventory中定义[hermes_nodes]主机组,包含所有目标服务器IP及SSH端口。
2、编写Playbook check-hermes-nodes.yml,在tasks中使用shell模块执行curl -s http://localhost:8080/actuator/health。
3、添加register:关键字捕获命令输出,并使用failed_when:判定HTTP响应码非200即为失败。
4、使用delegate_to: localhost将各节点返回结果汇总至控制机,写入inspection_report_{{ ansible_date_time.iso8601_basic }}文件。
5、执行命令:ansible-playbook check-hermes-nodes.yml --limit hermes_nodes,仅对指定组运行巡检。
该方法面向需按需验证或临时排查的运维人员,通过Hermes Agent已接入的Telegram消息网关,以自然语言指令即时触发预定义巡检流程,无需接触服务器终端,响应迅速且操作痕迹可追溯。
1、确保Hermes Agent已正确配置Telegram Bot Token并完成Webhook注册。
2、在Telegram中向Bot发送消息:/check server health now。
3、Agent识别该斜杠命令后,自动调用内置system_monitor工具执行CPU、内存、磁盘、网络连通性四项基础检测。
4、检测结果以结构化文本形式实时返回至Telegram对话窗口,含每一项的当前值与阈值对比说明。
5、若检测到异常,消息末尾将追加⚠️ 已触发飞书告警,请查收通知提示。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/281953.html