展示HN:AgentSight – AI 代理的 eBPF 可观测性,无需代码更改
AgentSight 是一个基于 eBPF 的零插装 AI 代理可观测性工具。它在不修改代理代码的情况下捕获 LLM API 调用、令牌消耗和内核级进程行为。概述 AgentSight 为在 Linux 上运行的 AI 代理提供全栈可观测性: 功能 描述 令牌消耗分析 按代理、任务和模型进行多维令牌核算 行为审计 完整跟踪 LLM 调用和进程执行 仪表板可视化 Web UI 用于实时令牌趋势、代理健康状况和会话跟踪 代理自动发现 自动检测正在运行的 AI 代理进程 中断检测 检测 LLM 错误、SSE 截断、上下文溢出和崩溃 外部日志导出 支持将结构化事件导出到外部日志服务 先决条件 要求 最低操作系统 Linux 内核 >= 5.8(需要 BTF 支持) 权限 root 或 CAP_BPF(用于 eBPF 探针) ANOLISA 原始包 Linux x86_64,系统模式 macOS: 在 macOS 上,AgentSight 提供两个命令 — trace(轨迹收集器,扫描本地 JSONL 会话文件,无需 eBPF)和 serve(仪表板查看器)。所有其他依赖 eBPF 的命令仅限于 Linux。 安装 使用 ANOLISA CLI 安装发布的组件: # 推荐(需要系统模式 — eBPF 需要 root) sudo anolisa install agentsight # 替代(Alinux,要求配置 YUM 仓库) sudo yum install agentsight # 源构建(仅限开发者) cd src/agentsight && make build-all 使用 make build-all 进行源构建:它依次构建仪表板前端、主要二进制文件和 agentsight-enforcer。仅运行 make build 会跳过 enforcer,serve 将保持记录 AgentSight enforcement 不可用。 快速开始 使用 systemd 单元进行正常部署。它将 eBPF 跟踪和仪表板一起运行,并按要求顺序启动 enforcer 依赖项: sudo systemctl enable --now agentsight.service sudo systemctl status agentsight.service 在服务变为活动状态后打开 http://localhost:7396。启用主单元后,AgentSight 在重启后仍然可用。捆绑的 systemd 启动器将仪表板绑定到 0.0.0.0。在将主机暴露给不信任的网络之前,请使用防火墙或安全组限制 7396 端口。该服务以 root 身份运行,私有 umask 并将数据存储在 /var/log/sysak/.agentsight 下。使用 sudo 执行 CLI 查询和仪表板访问命令,这些命令读取此服务拥有的数据。对于前台故障排除,首先停止 systemd 单元,以便不与第二个跟踪器竞争。然后使用两个终端并以 root 身份运行两个命令。如果两个命令依次输入,则不会达到第二个命令,因为 agentsight trace 停留在前台: sudo systemctl stop agentsight.service # 终端 1 sudo agentsight trace # 终端 2:启动仪表板 sudo agentsight serve # 在浏览器中打开 http://localhost:7396 # 打印仪表板 URL 和令牌;以桌面用户身份打开 URL sudo agentsight dashboard --no-open 本地主机访问不需要身份验证;远程访问需要令牌,请参见仪表板访问和身份验证。 用法 agentsight trace — 启动 eBPF 跟踪 启动 AI 代理活动的内核级捕获。 sudo agentsight trace 需要 root 权限。捕获 SSL/TLS 流量、进程事件和文件操作。在启动前台跟踪器之前,请运行 sudo systemctl stop agentsight.service。 agentsight serve — 启动 API 和仪表板 # 默认:绑定到 127.0.0.1:7396 sudo agentsight serve # 绑定到所有接口(远程访问) sudo agentsight serve --host 0.0.0.0 --port 7396 使 serve 以与运行 trace 相同的用户身份运行,以便两个命令解析相同的数据目录。绑定到 0.0.0.0 将仪表板暴露在每个接口上;在使用该格式之前请限制网络访问。 仪表板访问和身份验证 仪表板令牌身份验证默认启用:本地主机访问(回环)绕过身份验证 — 只需打开 http://127.0.0.1:7396。远程访问需要令牌:在浏览器 URL 追加 ?token=<TOKEN>,或设置 Authorization: Bearer <TOKEN> HTTP 头。令牌在第一次启动 serve 时自动生成(64 个十六进制字符),并保存在数据库旁边的 .dashboard_token 文件中(默认路径 /var/log/sysak/.agentsight/.dashboard_token);在重启时会重用。运行 sudo agentsight dashboard --no-open 打印服务拥有的访问 URL 和令牌,然后以桌面用户身份打开 URL。要禁用身份验证(仅建议在受信任的内部网络上),请在配置文件中设置: { "server" : { "auth" : { "enabled" : false } } } 在编辑 /etc/agentsight/config.json 后,运行 sudo systemctl reload agentsight.service 应用更改 — 无需重新启动。 API 端点列表 GET /api/docs 返回完整的 API 路由清单(方法、路径、描述),以便脚本和集成可以发现端点;对未知的 /api/ 路径的请求也在 404 响应中指向它。 curl http://127.0.0.1:7396/api/docs
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡