datadog-logs
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDatadog Logs
Datadog Logs
Query Datadog logs through the Composio CLI so the agent can filter, pivot, and summarize without you pasting screenshots.
通过Composio CLI查询Datadog日志,这样Agent可以直接进行过滤、分析和汇总,无需你粘贴截图。
When to Use
使用场景
- Investigating a spike, error surge, or latency regression and you want structured JSON back.
- Correlating a deploy with log volume changes across services/environments.
- Building a scheduled "what broke overnight" digest.
- 调查峰值、错误激增或延迟回归,且需要获取结构化JSON结果时。
- 将部署与跨服务/环境的日志量变化关联分析时。
- 构建定时的“夜间故障排查”摘要时。
Prereqs
前置条件
bash
curl -fsSL https://composio.dev/install | bash
composio login
composio link datadog # prompts for site + API/APP keysbash
curl -fsSL https://composio.dev/install | bash
composio login
composio link datadog # prompts for site + API/APP keysDiscover Tools
探索可用工具
bash
composio search "search logs" --toolkits datadog
composio search "aggregate logs" --toolkits datadog
composio tools list datadogCommonly used slugs (confirm with ):
--get-schemaDATADOG_SEARCH_LOGSDATADOG_AGGREGATE_LOGSDATADOG_LIST_ACTIVE_METRICSDATADOG_GET_EVENT
bash
composio search "search logs" --toolkits datadog
composio search "aggregate logs" --toolkits datadog
composio tools list datadog常用标识(slug,可通过确认):
--get-schemaDATADOG_SEARCH_LOGSDATADOG_AGGREGATE_LOGSDATADOG_LIST_ACTIVE_METRICSDATADOG_GET_EVENT
Filter Recipes
过滤示例
Errors from one service in the last 15 minutes
过去15分钟内某服务的错误日志
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"
}'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"
}'Aggregate error count by endpoint
按端点聚合错误数量
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" }]
}'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" }]
}'Trace a single request across services
跨服务追踪单个请求
bash
composio execute DATADOG_SEARCH_LOGS -d '{
"filter": { "query": "@trace_id:7f3a2b1c env:prod", "from": "now-1h", "to": "now" },
"sort": "timestamp"
}'bash
composio execute DATADOG_SEARCH_LOGS -d '{
"filter": { "query": "@trace_id:7f3a2b1c env:prod", "from": "now-1h", "to": "now" },
"sort": "timestamp"
}'Save a reusable query
保存可复用查询
bash
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"
}'bash
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"
}'Pipe into Local Analysis
导入本地分析
Datadog output is JSON on stdout — pipe to for quick summaries:
jqbash
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 | headDatadog输出为标准输出的JSON格式,可通过管道传递给进行快速汇总:
jqbash
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 | headMulti-Step Workflow
多步骤工作流
Save as , then :
scripts/dd-incident.tscomposio run --file scripts/dd-incident.ts -- --service checkoutts
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));保存为,然后执行:
scripts/dd-incident.tscomposio run --file scripts/dd-incident.ts -- --service checkoutts
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));Schedule a Daily Digest
定时生成每日摘要
Use cron (or for triggers) to run the workflow and forward results to Slack:
composio dev listenbash
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)}')"使用cron(或触发)运行工作流并将结果转发至Slack:
composio dev listenbash
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)}')"Troubleshooting
故障排查
- Empty results → confirm and
env:tags; Datadog indexes are region-scoped — set the right site duringservice:.composio link datadog - → the APP key lacks
403 Forbidden; regenerate with scope and re-link.logs_read - Slow queries → narrow , add a
from/tofilter, or usefacetinstead of pulling raw events.DATADOG_AGGREGATE_LOGS - Unknown facet → .
composio search "list log facets" --toolkits datadog
Full CLI reference: docs.composio.dev/docs/cli
- 无结果返回 → 确认和
env:标签;Datadog索引按区域划分——在service:时设置正确的站点。composio link datadog - → APP密钥缺少
403 Forbidden权限;重新生成带权限的密钥并重新关联。logs_read - 查询缓慢 → 缩小范围,添加
from/to过滤,或使用facet替代拉取原始事件。DATADOG_AGGREGATE_LOGS - 未知facet → 执行查询。
composio search "list log facets" --toolkits datadog
完整CLI参考文档:docs.composio.dev/docs/cli