关于 datadog-automation
datadog-automation 是一项通过 Composio 的 Datadog 工具包和 Rube MCP 自动执行 Datadog 监控与可观测性操作的技能。它涵盖指标和日志查询、监控器与仪表板管理、事件、停机安排、主机及链路追踪。
主要功能
- 01查询指标和搜索日志
- 02创建和管理监控器
- 03查看和更新仪表板
- 04发布事件并安排停机
- 05列出主机并查询追踪
适用场景
- 01排查指标趋势或错误日志
- 02创建或静音监控器
- 03更新仪表板布局
- 04安排维护停机时间
MCP 相关
通过 Rube MCP 使用 Composio 的 Datadog 工具包。需要有效的 Datadog 连接,且技能建议先获取当前工具架构。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ davepoon/ buildwithclaude --skill datadog-automation安装后在 Claude Code 中输入/datadog-automation确认已加载。
详细介绍
通过 Rube MCP 实现 Datadog 自动化
通过 Rube MCP 使用 Composio 的 Datadog 工具包,自动化 Datadog 监控和可观测性操作。
工具包文档:composio.dev/toolkits/datadog
前提条件
- 必须已连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
- 通过
RUBE_MANAGE_CONNECTIONS建立有效的 Datadog 连接,工具包为datadog - 始终先调用
RUBE_SEARCH_TOOLS获取最新的工具架构
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。无需 API 密钥,只需添加端点即可使用。
- 确认
RUBE_SEARCH_TOOLS能够响应,以验证 Rube MCP 已就绪 - 使用工具包
datadog调用RUBE_MANAGE_CONNECTIONS - 如果连接状态不是 ACTIVE,请按照返回的授权链接完成 Datadog 身份验证
- 运行任何工作流前,确认连接状态显示为 ACTIVE
核心工作流
1. 查询和探索指标
适用场景:用户想要查询指标数据或列出可用指标
工具调用顺序:
DATADOG_LIST_METRICS- 列出可用的指标名称 [可选]DATADOG_QUERY_METRICS- 查询指标时间序列数据 [必需]
关键参数:
query:Datadog 指标查询字符串(例如,avg:system.cpu.user{host:web01})from:起始时间戳(Unix 纪元秒数)to:结束时间戳(Unix 纪元秒数)q:用于列出指标的搜索字符串
注意事项:
- 查询语法遵循 Datadog 的指标查询格式:
aggregation:metric_name{tag_filters} from和to是 Unix 纪元时间戳,单位为秒,而非毫秒- 有效的聚合方式:
avg、sum、min、max、count - 标签过滤器使用花括号:
{host:web01,env:prod} - 时间范围不应超出该指标类型在 Datadog 中的保留期限
2. 搜索和分析日志
适用场景:用户想要搜索日志条目或列出日志索引
工具调用顺序:
DATADOG_LIST_LOG_INDEXES- 列出可用的日志索引 [可选]DATADOG_SEARCH_LOGS- 使用查询和过滤器搜索日志 [必需]
关键参数:
query:使用 Datadog 日志查询语法的日志搜索查询from:起始时间(ISO 8601 或 Unix 时间戳)to:结束时间(ISO 8601 或 Unix 时间戳)sort:排序顺序('asc' 或 'desc')limit:要返回的日志条目数量
注意事项:
- 日志查询使用 Datadog 的日志搜索语法:
service:web status:error - 搜索范围仅限于配置的保留期限内留存的日志
- 大型结果集需要分页;请检查是否有游标或页面令牌
- 日志索引控制路由和保留;如果已知索引,请按索引过滤
3. 管理监控器
适用场景:用户想要创建、更新、静音或检查监控器
工具调用顺序:
DATADOG_LIST_MONITORS- 使用过滤器列出所有监控器 [必需]DATADOG_GET_MONITOR- 获取特定监控器的详细信息 [可选]DATADOG_CREATE_MONITOR- 创建新的监控器 [可选]DATADOG_UPDATE_MONITOR- 更新监控器配置 [可选]DATADOG_MUTE_MONITOR- 暂时静音监控器 [可选]DATADOG_UNMUTE_MONITOR- 重新启用已静音的监控器 [可选]
关键参数:
monitor_id:数字监控器 IDname:监控器显示名称type:监控器类型('metric alert'、'service check'、'log alert'、'query alert' 等)query:定义告警条件的监控器查询message:包含 @提及的通知消息tags:标签字符串数组thresholds:告警阈值(critical、warning、ok)
注意事项:
- 监控器的
type必须与查询类型匹配;不匹配会导致创建失败 message支持在通知中使用 @提及(例如,@slack-channel、@pagerduty)- 阈值因监控器类型而异;指标监控器至少需要
critical - 静音监控器会抑制通知,但监控器仍会继续评估
- 监控器 ID 是数字整数
4. 管理仪表板
适用场景:用户想要列出、查看、更新或删除仪表板
工具调用顺序:
DATADOG_LIST_DASHBOARDS- 列出所有仪表板 [必需]DATADOG_GET_DASHBOARD- 获取完整的仪表板定义 [可选]DATADOG_UPDATE_DASHBOARD- 更新仪表板布局或小组件 [可选]DATADOG_DELETE_DASHBOARD- 删除仪表板(不可撤销)[可选]
关键参数:
dashboard_id:仪表板标识符字符串title:仪表板标题layout_type:'ordered'(网格)或'free'(自由定位)widgets:小组件定义对象数组description:仪表板描述
注意事项:
- 仪表板 ID 是字母数字字符串(例如
'abc-def-ghi'),不是数字 - 创建后无法更改
layout_type;必须重新创建仪表板 - 小组件定义是复杂的嵌套对象;请先获取现有仪表板以了解其结构
- DELETE 操作是永久性的;无法撤销
5. 创建事件和管理停机时间
适用场景:用户想要发布事件或安排维护停机时间
工具调用顺序:
DATADOG_LIST_EVENTS- 列出现有事件 [可选]DATADOG_CREATE_EVENT- 发布新事件 [必需]DATADOG_CREATE_DOWNTIME- 安排维护停机时间 [可选]
事件的关键参数:
title:事件标题text:事件正文(支持 Markdown)alert_type:事件严重程度('error'、'warning'、'info'、'success')tags:标签字符串数组
停机时间的关键参数:
scope:停机时间的标签范围(例如,host:web01)start:开始时间(Unix 纪元时间)end:结束时间(Unix 纪元时间;省略则表示无限期)message:停机时间描述monitor_id:指定要停机的监控器(可选,基于范围时省略)
注意事项:
- 事件
text支持 Datadog 的 Markdown 格式,包括 @提及 - 停机时间范围使用标签语法:
host:web01、env:staging - 省略
end会创建无限期停机时间;维护时务必设置结束时间 - 停机时间的
monitor_id会将范围缩小到单个监控器;范围会应用于所有匹配的监控器
6. 管理主机和链路追踪
适用场景:用户想要列出基础设施主机或检查分布式链路追踪
工具调用顺序:
DATADOG_LIST_HOSTS- 列出所有上报数据的主机 [必需]DATADOG_GET_TRACE_BY_ID- 获取指定的分布式链路追踪 [可选]
关键参数:
filter:主机搜索筛选字符串sort_field:按字段对主机排序(例如,'name'、'apps'、'cpu')sort_dir:排序方向('asc'或'desc')trace_id:用于查询链路追踪的分布式链路追踪 ID
注意事项:
- 主机列表包含保留期限内所有向 Datadog 上报数据的主机
- 链路追踪 ID 是较长的数字字符串;请确保完全匹配
- 停止上报数据的主机会保留一段配置的时间,然后才会被移除
常见模式
监控器查询语法
指标告警:
avg(last_5m):avg:system.cpu.user{env:prod} > 90
日志告警:
logs("service:web status:error").index("main").rollup("count").last("5m") > 10
标签筛选
- 标签使用
key:value格式:host:web01、env:prod、service:api - 多个标签:
{host:web01,env:prod}(AND 逻辑) - 通配符:
host:web*
分页
- 根据端点使用
page和page_size,或基于偏移量的分页 - 检查响应中的总数,确定是否还有更多页面
- 持续获取,直到检索到所有结果
已知注意事项
时间戳:
- 大多数端点使用 Unix 纪元秒数(不是毫秒)
- 某些端点接受 ISO 8601;请检查工具架构
- 时间范围应合理(不要查询数年的数据)
查询语法:
- 指标查询:
aggregation:metric{tags} - 日志查询:
field:value对 - 监控器查询因类型而异;请查看 Datadog 文档
速率限制:
- Datadog API 按端点设有速率限制
- 收到 429 响应时实施退避
- 尽可能批量执行操作
快速参考
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 查询指标 | DATADOG_QUERY_METRICS | query, from, to |
| 列出指标 | DATADOG_LIST_METRICS | q |
| 搜索日志 | DATADOG_SEARCH_LOGS | query, from, to, limit |
| 列出日志索引 | DATADOG_LIST_LOG_INDEXES | (none) |
| 列出监控器 | DATADOG_LIST_MONITORS | tags |
| 获取监控器 | DATADOG_GET_MONITOR | monitor_id |
| 创建监控器 | DATADOG_CREATE_MONITOR | name, type, query, message |
| 更新监控器 | DATADOG_UPDATE_MONITOR | monitor_id |
| 静音监控器 | DATADOG_MUTE_MONITOR | monitor_id |
| 取消监控器静音 | DATADOG_UNMUTE_MONITOR | monitor_id |
| 列出仪表板 | DATADOG_LIST_DASHBOARDS | (none) |
| 获取仪表板 | DATADOG_GET_DASHBOARD | dashboard_id |
| 更新仪表板 | DATADOG_UPDATE_DASHBOARD | dashboard_id, title, widgets |
| 删除仪表板 | DATADOG_DELETE_DASHBOARD | dashboard_id |
| 列出事件 | DATADOG_LIST_EVENTS | start, end |
| 创建事件 | DATADOG_CREATE_EVENT | title, text, alert_type |
| 创建停机时间 | DATADOG_CREATE_DOWNTIME | scope, start, end |
| 列出主机 | DATADOG_LIST_HOSTS | filter, sort_field |
| 获取链路追踪 | DATADOG_GET_TRACE_BY_ID | trace_id |
由 Composio 提供支持
评论
支持 Markdown