关于 datadog-logs
datadog-logs 是一项通过 Composio CLI 查询 Datadog 日志的技能,供 Agent 调查错误、延迟和部署影响。它支持筛选、聚合、跨服务追踪及将结果用于本地分析或定时摘要。
主要功能
- 01搜索并筛选日志
- 02按维度聚合日志
- 03追踪跨服务请求
- 04创建可复用的查询视图
- 05通过 JSON 管道进行分析
适用场景
- 01调查服务错误激增
- 02比较部署前后的日志变化
- 03追踪请求在多个服务间的记录
- 04生成每日故障摘要
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ composio-community/ awesome-codex-skills --skill datadog-logs安装后在 Claude Code 中输入/datadog-logs确认已加载。
详细介绍
Datadog 日志
通过 Composio CLI 查询 Datadog 日志,让 Agent 无需你粘贴截图,就能筛选、切换分析维度并汇总信息。
适用场景
- 调查流量峰值、错误激增或延迟回退,并希望获取结构化的 JSON。
- 关联部署与不同服务或环境的日志量变化。
- 构建定时运行的“昨晚发生了什么故障”摘要。
前提条件
curl -fsSL https://composio.dev/install | bash
composio login
composio link datadog # prompts for site + API/APP keys
发现工具
composio search "search logs" --toolkits datadog
composio search "aggregate logs" --toolkits datadog
composio tools list datadog
常用的 slug(使用 --get-schema 确认):
DATADOG_SEARCH_LOGSDATADOG_AGGREGATE_LOGSDATADOG_LIST_ACTIVE_METRICSDATADOG_GET_EVENT
筛选示例
查询过去 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"
}'
按端点汇总错误数量
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" }]
}'
跨服务追踪单个请求
composio execute DATADOG_SEARCH_LOGS -d '{
"filter": { "query": "@trace_id:7f3a2b1c env:prod", "from": "now-1h", "to": "now" },
"sort": "timestamp"
}'
保存可复用的查询
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"
}'
传入本地分析
Datadog 输出为 stdout 上的 JSON,可通过管道传给 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
多步骤工作流
保存为 scripts/dd-incident.ts,然后运行 composio run --file scripts/dd-incident.ts -- --service checkout:
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));
安排每日摘要
使用 cron(或通过 composio dev listen 监听触发器)运行工作流,并将结果转发到 Slack:
composio 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)}')"
故障排查
- 结果为空 → 确认
env:和service:标签;Datadog 索引按区域划分,请在composio link datadog时设置正确的站点。 403 Forbidden→ APP 密钥缺少logs_read权限;请使用该权限重新生成密钥并重新关联。- 查询较慢 → 缩小
from/to范围,添加facet筛选条件,或使用DATADOG_AGGREGATE_LOGS,而不是拉取原始事件。 - Facet 未知 → 运行
composio search "list log facets" --toolkits datadog。
完整的 CLI 参考文档:docs.composio.dev/docs/cli
评论
支持 Markdown