日志检查工具

一个用于静态快照日志检查的工具,支持从Cloud Logging查询、解析、关联和分类Agent8运行日志,并生成可共享的静态报告。

  • by dinoksb
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dinoksb/agent8-mcp-logger

使用说明

agent8 mcp记录仪

Agent8云运行日志的静态快照日志检查器POC。

当前目标

第一阶段在GitHub Pages上提供可外部共享的静态报告。

  • 本地脚本或GitHub Actions作业查询云日志
  • 快照管道解析、关联和分类Agent8运行
  • 生成的工件发布于 site/

代码是有意构建的,因此第2阶段可以切换到实时后端,而无需重写核心逻辑。

项目形状

  • src/adapters/:外部I/O,如云日志
  • src/parsing/:规范化和Agent8日志解析
  • src/domain/:相关性和分类
  • src/reporting/:报告程序集
  • src/contracts/:报告快照和未来API模式共享的有效负载契约
  • scripts/build-snapshot.ts:第一阶段快照入口点
  • site/:静态GitHub页面输出

本地使用

  1. 安装依赖项:
npm install
  1. 构建示例快照:
npm run snapshot:build
  1. 打开 site/index.html 任何静态文件服务器。

如果 SNAPSHOT_SOURCE 如果省略,则脚本将使用示例数据,除非存在足够的GCP参数来查询Cloud Logging。

快照环境变量

  • SNAPSHOT_SOURCE: sample 或 gcp
  • SNAPSHOT_PROJECT_ID
  • SNAPSHOT_SERVICE_NAME
  • SNAPSHOT_LOCATION
  • SNAPSHOT_FROM
  • SNAPSHOT_TO
  • SNAPSHOT_LIMIT
  • SNAPSHOT_WINDOW_HOURS
  • SNAPSHOT_TOOL_FLOWS
  • SNAPSHOT_OUTPUT_DIR

如果 SNAPSHOT_FROM 和 SNAPSHOT_TO 如果省略,则脚本默认为过去24小时。

GitHub操作设置

包含的工作流发布 site/ GitHub Pages的目录。

存储库:

  • GitHub仓库: https://github.com/dinoksb/agent8-mcp-logger.git
  • 默认GCP项目: agent8-455106
  • 默认云运行服务: agent8-image-mcp-server

推荐的存储库变量:

  • SNAPSHOT_SOURCE
  • SNAPSHOT_PROJECT_ID=agent8-455106
  • SNAPSHOT_SERVICE_NAME
  • SNAPSHOT_LOCATION
  • SNAPSHOT_LIMIT
  • SNAPSHOT_TOOL_FLOWS
  • GCP_WORKLOAD_IDENTITY_PROVIDER
  • GCP_SERVICE_ACCOUNT

仅当联盟尚未准备就绪时才使用回退秘密:

  • GCP_SERVICE_ACCOUNT_KEY

推荐的身份验证顺序:

  1. 工作负载身份联合
  2. 只读服务帐户密钥仅作为临时回退

推荐的第1阶段存储库变量集:

  • SNAPSHOT_SOURCE=gcp
  • SNAPSHOT_PROJECT_ID=agent8-455106
  • SNAPSHOT_SERVICE_NAME=agent8-image-mcp-server
  • SNAPSHOT_LOCATION=<your Cloud Run region>
  • SNAPSHOT_LIMIT=1000

工作流程还支持手动 workflow_dispatch 输入用于:

  • snapshot_source
  • snapshot_from
  • snapshot_to
  • snapshot_limit

对于自动 push 每小时 schedule 运行时,工作流忽略已修复 SNAPSHOT_FROM / SNAPSHOT_TO 存储库变量,并解析一个滚动关闭的窗口。默认情况下,它会发布前1小时的窗口。你可以用以下方式改变它 SNAPSHOT_WINDOW_HOURS.

如果尚未配置GCP身份验证或云运行标识符,请保留 SNAPSHOT_SOURCE=sample 因此GitHub Pages仍然发布演示快照,而不是失败。

GCP认证建议

使用 Workload Identity Federation through a Service Account.

  • GitHub中没有存储长期JSON密钥
  • 易于限制 dinoksb/agent8-mcp-logger
  • 当第2阶段转移到实时后端时,以后易于重用

仅将服务帐户密钥用作临时回退。

详细的设置步骤见 docs/github操作-gcp-wif-setup.md.

编码代理使用

GitHub编码代理,如Codex,应用于存储库工作:

  • 公关创作
  • 解析器更新
  • 分类器评审
  • 文档维护

它们不应被用作获取云日志数据的运行时路径。