CLI 工作流

用 CLI 安全搜索日志

先限定时间、服务、文件和模式,再只收集解释事故所需的日志行。

运维与基础设施本地写入

开始前准备好工具、认证与证据

先安装推荐工具,确认最小权限,再区分兼容性和真实执行记录。

rgverified
通过稳定的 JSON、glob、文件类型和上下文控制快速搜索源码树。

推荐安装

$ shell
brew install ripgrep
认证
基础操作无需认证
已测试 Agent
暂无 Agent 级执行记录
证据状态
verified · 文档检查 2026-07-10
CLI 独立执行
15.1.0 · 4 项检查
pupdocs-verified
通过支持 JSON 输出和只读模式的 Agent-aware CLI 查询 Datadog 可观测性数据。

推荐安装

$ shell
brew tap datadog-labs/pack && brew install datadog-labs/pack/pup
认证
OAuth2 PKCE, access token, API and application keys
已测试 Agent
暂无 Agent 级执行记录
证据状态
docs-verified · 文档检查 2026-07-10
CLI 独立执行
未记录独立执行版本
jqverified
在本地以确定性输出解析、筛选、校验和转换 JSON。

推荐安装

$ shell
brew install jq
认证
基础操作无需认证
已测试 Agent
暂无 Agent 级执行记录
证据状态
verified · 文档检查 2026-07-10
CLI 独立执行
jq-1.7.1-apple · 4 项检查

复制或下载本工作流 Skill

Skill 包含输入输出合同、推荐工具、审批点、回滚和证据边界;保存前仍应按当前环境审查。

search-logs-SKILL.md
---
name: search-logs-workflow
description: "先限定时间、服务、文件和模式,再只收集解释事故所需的日志行。"
---

# 搜索应用日志

## 适用目标

找到相关错误序列,不暴露无关用户、密钥,也不读取无限生产日志流。

## 证据边界

- 工具状态分别标注 `docs-verified` 与真实独立执行;二者不能互换。
- 当前注册表没有记录某次工具执行具体由哪个 Agent 完成,因此不能把“兼容 Agent”称为“已测试 Agent”。
- 执行前重新核对目标账户、环境、版本与官方文档。
- 不自动执行 R2、R3 或任何标记为需要确认的步骤;必须在执行前获得明确批准。

## 推荐工具、安装与认证

- **ripgrep**(证据:`verified`,文档检查:`2026-07-10`,已记录独立测试版本 15.1.0)
  - 安装:`brew install ripgrep`
  - 认证:基础操作无需认证
  - 最小权限:无需服务凭据;仍应把文件系统和网络访问限制在任务范围内。
- **Datadog Pup CLI**(证据:`docs-verified`,文档检查:`2026-07-10`,未记录独立执行版本)
  - 安装:`brew tap datadog-labs/pack && brew install datadog-labs/pack/pup`
  - 认证:OAuth2 PKCE, access token, API and application keys
  - 最小权限:优先使用 OAuth Scope 或 --read-only;无人值守且可写的会话不得设置 DD_AUTO_APPROVE。
- **jq**(证据:`verified`,文档检查:`2026-07-10`,已记录独立测试版本 jq-1.7.1-apple)
  - 安装:`brew install jq`
  - 认证:基础操作无需认证
  - 最小权限:无需服务凭据;仍应把文件系统和网络访问限制在任务范围内。

## 输入合同

- 事故时间窗口
- 服务或文件范围
- Request 或 Trace ID
- 脱敏规则

## 输出合同

- 带上下文的匹配事件
- 搜索命令
- 时间线摘要
- 证据缺口与下一步

## 安全工作流

1. **定义窄查询** — 从时间、服务、Request ID 或精确错误 token 和有限文件开始。
   - 输入: 事故线索和日志位置
   - 输出: 可审查搜索范围
   - 风险: `read-only`
   - 命令: `rg -n -F "request-id" logs/ --glob "*.log"`
2. **收集上下文** — 只增加有限上下文行或解析 JSON 字段,不倾倒全部日志。
   - 输入: 初始匹配
   - 输出: 相关事件序列
   - 风险: `read-only`
3. **脱敏并汇总** — 删除 Token 和个人数据,保留时间戳与 ID,并注明缺失证据。
   - 输入: 匹配日志窗口
   - 输出: 事故时间线与脱敏证据
   - 风险: `local-write`

## 必须先确认

- 查询生产可观测平台
- 扩大时间、服务、租户或环境范围
- 下载或把日志分享至获批位置之外

## 回滚

- 任务后删除临时原始日志导出
- 撤销临时可观测凭证
- 事故记录只保留必要的脱敏证据

## 官方来源

- [ripgrep guide](https://github.com/BurntSushi/ripgrep/blob/master/GUIDE.md) — 用于核对当前命令、认证、输出和操作边界。
- [Datadog Pup repository](https://github.com/DataDog/pup) — 用于核对当前命令、认证、输出和操作边界。
- [jq manual](https://jqlang.github.io/jq/manual/) — 用于核对当前命令、认证、输出和操作边界。

目标、输入与输出

在 Agent 选择命令前,先明确要交付的结果和证据。

目标

找到相关错误序列,不暴露无关用户、密钥,也不读取无限生产日志流。

所需输入

  • 事故时间窗口
  • 服务或文件范围
  • Request 或 Trace ID
  • 脱敏规则

预期输出

  • 带上下文的匹配事件
  • 搜索命令
  • 时间线摘要
  • 证据缺口与下一步

用 CLI 安全搜索日志:安全执行步骤

每一步都要在已声明的边界内执行,验证输出后再继续。

步骤 1只读

定义窄查询

从时间、服务、Request ID 或精确错误 token 和有限文件开始。
输入
事故线索和日志位置
输出
可审查搜索范围
$ 定义窄查询
rg -n -F "request-id" logs/ --glob "*.log"
步骤 2只读

收集上下文

只增加有限上下文行或解析 JSON 字段,不倾倒全部日志。
输入
初始匹配
输出
相关事件序列
步骤 3本地写入

脱敏并汇总

删除 Token 和个人数据,保留时间戳与 ID,并注明缺失证据。
输入
匹配日志窗口
输出
事故时间线与脱敏证据

审批点与回滚

在列出的决策点停下,并让恢复方法始终紧跟操作。

这些操作需要先确认

  • 查询生产可观测平台
  • 扩大时间、服务、租户或环境范围
  • 下载或把日志分享至获批位置之外

恢复计划

  • 任务后删除临时原始日志导出
  • 撤销临时可观测凭证
  • 事故记录只保留必要的脱敏证据

选 CLI、MCP 还是 API?

根据执行位置、身份、输出合同与权限边界选接口。

CLI

适合本地文件和严格限定、可复现的可观测查询。

MCP

生产日志需要集中中介的只读工具时适用。

API

可重复看板、定时检测或大批量查询优先 API。

建议方案

本地用 ripgrep;远程用限定权限的服务 CLI 或 API,并限制查询范围。

官方证据与参考

执行前使用这些官方或上游来源确认当前命令行为。

ripgrep guide

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

Datadog Pup repository

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

jq manual

用于核对本页涉及的当前命令、认证、输出格式与操作边界。

执行前的常见问题

Agent 应保留多少上下文?

只保留能确定事件顺序的内容,同时保留时间戳和 ID,避免无关会话。

可以把日志粘贴给模型吗?

仅在获得授权并删除凭证、个人数据和无关客户内容后才可以。

相关工具与指南

浏览同类指南,选择与你当前任务最接近的下一页。

继续查看与当前任务相关的工具证据、工作流或决策指南。

继续查看与当前任务相关的工具证据、工作流或决策指南。

继续查看与当前任务相关的工具证据、工作流或决策指南。

检查安装、认证、结构化输出、命令风险与官方证据。

检查安装、认证、结构化输出、命令风险与官方证据。