用途:在当前分支对 observe-agent 做端到端验证,确认二进制能启动、采集日志遥测并投递到 Observe 后端。
前提条件:需存在 /etc/observe-agent/observe-agent.yaml 且含有效 token 与 observe_url;配置须启用 host_monitoring.logs 并让 include glob 覆盖 /var/log/**/*.log;若没有可参考的配置文件,应告知用户并立即停止执行。后端校验依赖已连接的 Observe MCP 服务器(user-observe)。
主要步骤:先用 ls -la observe-agent 检查二进制,若缺失或过旧则运行 make build;用 sudo systemctl stop observe-agent 2>/dev/null || true 停止现有代理;再以 sudo OTEL_LOG_LEVEL=info ./observe-agent --observe-config /etc/observe-agent/observe-agent.yaml start 后台启动,需所需权限读取 /var/log/ 并绑定特权端口。等待约 10 秒后确认输出出现 “Everything is ready. Begin running and processing data.”,并 curl -s http://localhost:13133/status 应返回 {"status":"Server available", ...}。
生成冒烟遥测:用带 Unix 时间戳的唯一标记向 /var/log/smoke-test/smoke-test.log 写入 10 行可识别日志,确认代理输出出现 Started watching file.*smoke-test.log。等待 30—45 秒让其轮询、批处理并导出,期间可复查健康端点与导出失败错误(非 k8s 主机上少量陈旧 checkpoint 的 Failed to open file 属无害)。随后用 Observe MCP 的 generate-query-card 工具查询最近 10 分钟含 OBSERVE_SMOKE_TEST 的日志,主机名用 FQDN。
结果判读:10 行齐全为 PASS;不足 10 行为 WARN,可等待后重查;60 秒以上零结果为 FAIL,需检查导出错误。确认后向用户报告日志行数、源文件路径、资源属性、摄入延迟与 worksheet 链接。最后用 sudo kill $(pgrep -f 'observe-agent.*start') 停止代理,可选执行 sudo rm -rf /var/log/smoke-test 清理。
限制:依赖特定配置文件、日志 glob 与 MCP 连接;端口冲突、配置校验失败、glob 不匹配或认证问题会导致失败,需按症状排查。