使用 awesome-codex-skills 的 datadog-logs 技能:通过 Composio CLI 从终端查询与过滤 Datadog 日志

发布时间:2026/9/15 23:46:53
使用 awesome-codex-skills 的 datadog-logs 技能:通过 Composio CLI 从终端查询与过滤 Datadog 日志 使用 awesome-codex-skills 的 datadog-logs 技能通过 Composio CLI 从终端查询与过滤 Datadog 日志【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills本技术指南以仓库 datadog-logs/ 目录下的SKILL.md为核心骨架系统讲解如何让 Codex Agent 借助 Composio CLI 直接查询、过滤、聚合 Datadog 日志并把结构化的 JSON 结果接入本地分析与定时工作流从而摆脱截图贴图式的人工查日志流程。读完本文你将掌握从环境初始化、工具发现、四种高频过滤配方到 TypeScript 多步工作流与每日故障摘要排程的完整实战方案并理解其底层命令行调用链与配置参数含义。技能定位为什么用 CLI 查 Datadog 日志datadog-logs/SKILL.md 是一个面向 Codex 的指令型技能skill。从它的 YAML frontmatter 可以看到技能元数据明确了其触发时机与能力边界--- name: datadog-logs description: Query and filter Datadog logs from the shell using the Composio CLI. Run scoped log searches, pivot across services/environments, and export structured JSON for downstream agents instead of click-driving the Datadog UI. metadata: short-description: Datadog log filtering via the Composio CLI ---核心思想非常明确让 Agent 用命令行操作 Datadog而不是替用户在浏览器里点击 Datadog UI。这与仓库中 connect/ 技能Connect Codex to any app using the Composio CLI一脉相承——Composio CLI 提供统一的search/execute/run命令抽象将 1000 应用的 API 操作收敛为终端内的 JSON 输入与输出。典型使用场景对应原文档的 When to Use包括排查某个指标突刺spike、错误激增error surge或延迟回退latency regression需要拿到结构化 JSON 而不是截图把一次部署deploy与各服务/环境下的日志量变化进行关联分析构建一个定时执行的昨晚哪里挂了what broke overnight故障摘要。前置条件安装 CLI、登录并链接 Datadog在使用任何工具之前需要完成三步初始化原文档给出了完整的命令序列curl -fsSL https://composio.dev/install | bash composio login composio link datadog # prompts for site API/APP keyscurl ... | bash安装 Composio CLIcomposio login打开浏览器完成认证并选择默认的组织org与项目project在自动化脚本中可用-y跳过交互提示composio link datadog建立 Datadog 连接会提示输入 Datadog site区域站点以及 API Key / APP Key。这一步决定了后续所有查询所访问的数据区域与权限范围。从 connect/SKILL.md 中的核心工作流可以印证composio link toolkit是连接缺失时的标准补救动作Connection required for toolkit出现时重跑该命令即可。链接成功后连接会持久化无需每次重复 OAuth。发现工具搜索与列举 Datadog 相关工具由于 Datadog 集成暴露的工具很多原文档建议先用搜索命令定位所需能力再用 schema 校验入参composio search search logs --toolkits datadog composio search aggregate logs --toolkits datadog composio tools list datadog其中composio search goal --toolkits datadog按自然语言意图搜索 Datadog 工具composio tools list datadog列出该 toolkit 下的全部工具 slug拿到 slug 后建议用composio execute SLUG --get-schema或--dry-run确认输入结构再执行——这是 connect/SKILL.md 中推荐的通用最佳实践。原文档列出的常用工具 slug实际使用前请用--get-schema复核参数工具 Slug用途DATADOG_SEARCH_LOGS检索日志返回匹配事件列表DATADOG_AGGREGATE_LOGS对日志做分组聚合计算DATADOG_LIST_ACTIVE_METRICS列出活跃指标DATADOG_GET_EVENT获取单个事件详情高频过滤配方Filter Recipes原文档提供了四个可以直接复制运行的实战配方覆盖了日常排障的大部分场景。1. 查询某服务最近 15 分钟的错误日志composio execute DATADOG_SEARCH_LOGS -d { filter: { query: service:checkout status:error env:prod, from: now-15m, to: now }, page: { limit: 100 }, sort: -timestamp }参数要点filter.queryDatadog Log Search 语法service:checkout、status:error、env:prod分别按服务、状态、环境打标签过滤filter.from/filter.to时间范围支持now-15m、now-1h这类相对时间表达式page.limit单页返回条数上限这里取 100sort-timestamp表示按时间戳倒序最新在前。2. 按接口路径聚合错误数composio execute DATADOG_AGGREGATE_LOGS -d { filter: { query: service:checkout status:error, from: now-1h, to: now }, group_by: [{ facet: http.url_path, limit: 20 }], compute: [{ aggregation: count }] }参数要点group_by按 facet 分组http.url_path是 Datadog 标准属性之一HTTP 请求路径limit: 20限制返回分组数compute聚合计算定义aggregation: count统计每组条数。相比拉取原始事件再做本地统计聚合查询在网络与数据量上都更高效也是排查哪个接口错误最多的首选。3. 跨服务追踪单次请求composio execute DATADOG_SEARCH_LOGS -d { filter: { query: trace_id:7f3a2b1c env:prod, from: now-1h, to: now }, sort: timestamp }trace_id:7f3a2b1c是 Datadog 分布式追踪的 trace id 属性通过它可以把一次请求横跨多个服务的日志串成一条时间线这里sort为正序timestamp便于按发生顺序阅读调用链。4. 保存可复用的查询视图composio search save log view --toolkits datadog composio execute DATADOG_CREATE_SAVED_VIEW -d { name: checkout-errors-prod, query: service:checkout status:error env:prod }先用搜索确认保存视图工具的存在实际 slug 可能因版本而异原文档给出的是DATADOG_CREATE_SAVED_VIEW再传入name与query即可固化常用查询后续可以直接复用该视图。将输出接入本地分析jq 管道Datadog 工具的输出是stdout 上的 JSON这是本技能可编程、可下钻的关键设计。原文档给出了一条典型的管道式用法——把最近 30 分钟 API 服务的错误消息取回本地用jq排序统计出现最多的错误文本composio execute DATADOG_SEARCH_LOGS -d { filter: {query:service:api status:error,from:now-30m,to:now}, page:{limit:500} } | jq -r .data[].attributes.message | sort | uniq -c | sort -rn | head这条命令链的含义composio execute ...输出 JSON 到 stdoutjq -r .data[].attributes.message提取每条日志的message字段从返回结构看日志事件位于data数组、消息位于attributes.messagesort | uniq -c | sort -rn | head完成计数排序并展示 TOP N。这体现了原文档反复强调的价值主张返回结构化 JSON 供下游 Agent 或脚本消费而非人工从界面截图粘贴。多步工作流用 TypeScript 编排查询 聚合当单条命令不够时可以把多个execute调用编排进一个 TypeScript 工作流文件再交给composio run --file执行。原文档给出了完整示例保存为scripts/dd-incident.tsconst svc process.argv[process.argv.indexOf(--service) 1]; const errors await execute(DATADOG_SEARCH_LOGS, { filter: { query: service:${svc} status:error, from: now-1h, to: now }, page: { limit: 200 }, sort: -timestamp }); const topPaths await execute(DATADOG_AGGREGATE_LOGS, { filter: { query: service:${svc} status:error, from: now-1h, to: now }, group_by: [{ facet: http.url_path, limit: 10 }], compute: [{ aggregation: count }] }); console.log(JSON.stringify({ svc, sample: errors.data?.slice(0,5), topPaths }, null, 2));运行方式通过--向脚本传参composio run --file scripts/dd-incident.ts -- --service checkout要点拆解工作流通过process.argv解析--service参数实现一个脚本、任意服务复用第一步拉取最近 1 小时该服务的错误日志最多 200 条按时间倒序第二步按http.url_path聚合出 TOP 10 错误路径最后把svc、前 5 条样本errors.data?.slice(0,5)与topPaths打包成结构化 JSON 输出。从 connect/SKILL.md 可以看到composio run是比单条execute更高级的多步执行入口--file ./workflow.ts是标准的从文件加载工作流方式与这里的用法完全一致。排程每日摘要cron 转发 Slack排障脚本的价值在于持续运行。原文档建议用 cron或composio dev listen触发机制定时执行工作流并把结果转发到 Slackcomposio run --file scripts/dd-incident.ts -- --service checkout \ | tee /tmp/digest.json composio execute SLACK_SEND_MESSAGE -d $(jq -n \ --slurpfile d /tmp/digest.json \ {channel:oncall, text: ($d[0] | tojson)})这段命令的流水线逻辑运行dd-incident.ts工作流tee /tmp/digest.json把结果同时输出到终端与文件用jq -n --slurpfile d /tmp/digest.json把文件内容读入变量构造SLACK_SEND_MESSAGE的入参发送到oncall频道正文为摘要 JSON 文本交给composio execute SLACK_SEND_MESSAGE发送——前提是已经执行过composio link slack建立 Slack 连接。把这一整段放进 cron例如每天早上 8 点就得到了昨晚哪里挂了的自动日报。这与原文档在 When to Use 中提到的构建定时 what-broke-overnight 摘要场景完全对应。故障排查指南Troubleshooting原文档针对高频问题给出了对症下药的排查表结合 CLI 工作机制可进一步说明根因现象原因与处置空结果Empty results确认env:与service:标签是否拼写正确Datadog 索引是按区域site隔离的——在composio link datadog时必须选择正确的 site否则查的是另一个区域的索引自然为空。403 ForbiddenAPP Key 缺少logs_read权限作用域。需要用正确的 scope 重新生成 Key并重新执行composio link datadog完成重链接。查询缓慢Slow queries收窄from/to时间窗增加一个facet过滤条件或改用DATADOG_AGGREGATE_LOGS做服务端聚合而不是把原始事件全部拉回本地。Unknown facet先用composio search list log facets --toolkits datadog找到列举 facet 的工具确认可用的 facet 名称。从技能到实战安装与触发datadog-logs是仓库 Data Analysis 分类下的一个 Codex 技能仓库 README 对它的描述为 Filter Datadog logs from the shell via the Composio CLI, with JSON-friendly output and digest workflows。将其纳入 Codex 使用的方式与仓库内其他技能一致将datadog-logs/目录内含SKILL.md复制到$CODEX_HOME/skills/默认~/.codex/skills/或使用 skill-installer/ 的安装脚本从仓库路径安装重启 Codex 使其加载技能元数据在会话中用自然语言描述任务如查一下 checkout 服务最近 15 分钟的错误日志Codex 会根据SKILL.md的description自动匹配并触发该技能技能被触发后Agent 会按照正文中的命令序列通过 Composio CLI 完成 Datadog 查询。总结datadog-logs技能把查 Datadog 日志从人工点击 UI 变成了一条可编程、可复用、可排程的命令行流水线初始化安装 登录 链接→ 工具发现search/tools list/--get-schema→ 高频查询DATADOG_SEARCH_LOGS/DATADOG_AGGREGATE_LOGS等→ 本地 JSON 分析jq 管道→ 多步编排composio run --file→ 自动摘要cron Slack。它既适合 Agent 在排障对话中即用即查也适合沉淀为长期运行的运维自动化。完整的 CLI 命令细节可参考 datadog-logs/SKILL.md 原文及仓库中 connect/SKILL.md 对 Composio CLI 通用工作流的说明。【免费下载链接】awesome-codex-skillsA curated list of practical Codex skills for automating workflows across the Codex CLI and API.项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-codex-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考