Appearance
终端查询 Datadog 日志与聚合错误计数
解决排查监控数据需手动打开网页逐个查看的效率问题。通过 Composio CLI 在终端直接检索、过滤、聚合 Datadog 日志,并自动导出结构化 JSON 供 AI 处理或本地分析。
为什么需要这个技能
运维团队在处理生产事故时,往往需要快速定位特定服务在特定时间窗内的报错信息。直接登录 Datadog 网页版不仅受限于浏览器标签页,且难以将原始日志直接管道化。
本技能允许 AI 代理在命令行中直接执行日志搜索、指标聚合和事件追踪,将网页操作转化为自动化脚本,大幅提升故障响应速度。
适用场景
- 突发故障响应:系统出现延迟或错误激增,需要立即获取最近 15 分钟的错误日志详情。
- 跨服务关联分析:需要对比不同环境或服务的日志量变化,寻找部署引发的异常。
- 离线数据报告:构建定时任务,将日志分析结果结构化输出,避免依赖网页 UI 进行人工复制。
核心工作流
1. 环境初始化与认证
首先安装 Composio CLI 并关联你的 Datadog 账号,确保拥有 logs_read 权限:
bash
curl -fsSL https://composio.dev/install | bash
composio login
composio link datadog # prompts for site + API/APP keys2. 搜索与过滤日志
使用 DATADOG_SEARCH_LOGS 工具配合过滤参数,精准定位错误:
bash
composio execute DATADOG_SEARCH_LOGS -d '{
"filter": {
"query": "service:checkout status:error env:prod",
"from": "now-15m",
"to": "now"
},
"page": { "limit": 100 },
"sort": "-timestamp"
}'Tips:如果结果为空,请确认 env: 和 service: 标签是否与你的实际配置一致。
3. 聚合与统计
利用 DATADOG_AGGREGATE_LOGS 按端点统计错误数量,快速找出高频故障接口:
bash
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" }]
}'4. 本地分析与管道化
Datadog 输出为 JSON 标准格式,可直接通过 jq 等工具处理:
bash
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高级工作流
可以将搜索与聚合逻辑封装为脚本文件 scripts/dd-incident.ts,并通过环境变量注入服务名,实现一键排查:
ts
const 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));运行脚本即可得到 JSON 格式的故障摘要,可直接管道传输给 Slack 或其他通知工具。
可能遇到的问题
- 403 Forbidden:检查 API Key 是否缺少
logs_read权限,或 site ID 配置错误。 - Slow queries:缩小时间范围(
from/to),使用聚合工具代替全量拉取。 - Unknown facet:使用
composio search "list log facets" --toolkits datadog获取可用字段。
获取与使用
你可以直接下载中文版 Skill 包,添加到你的 AI 工作流目录中。解压后请参考内附的 USAGE.zh.md 进行环境挂载。
你可能还需要
暂无推荐