关于 datadog-automation
此工作流技能通过 Rube MCP 上的 Composio Datadog 工具包自动处理监控与可观测性任务,涵盖数据查询以及监控器、仪表板、事件、停机时段、主机和追踪数据,并包含操作防护要求。
主要功能
- 01查询指标并搜索日志
- 02创建、查看和静默监控器
- 03查看和更新仪表板
- 04发布事件并安排停机时段
- 05列出主机并检索追踪数据
适用场景
- 01调查指标趋势和应用错误
- 02检查或调整监控器配置
- 03为服务准备仪表板
- 04安排有明确结束时间的维护停机
MCP 相关
通过 Rube MCP 使用 Composio 的 Datadog 工具包。技能要求客户端先查询当前工具定义,并在查询或更改数据前确认 Datadog 连接已授权且处于活动状态。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill datadog-automation安装后在 Claude Code 中输入/datadog-automation确认已加载。
详细介绍
通过 Rube MCP 自动化 Datadog
通过 Rube MCP 调用 Composio 的 Datadog 工具包,自动化 Datadog 监控和可观测性操作。
前提条件
- 必须已连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
- 必须通过
RUBE_MANAGE_CONNECTIONS建立有效的 Datadog 连接,工具包为datadog - 始终先调用
RUBE_SEARCH_TOOLS,以获取当前工具架构
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。添加端点并不会对 Datadog 进行身份验证;请使用主机支持的授权连接。
- 确认
RUBE_SEARCH_TOOLS有响应,以验证 Rube MCP 可用 - 使用工具包
datadog调用RUBE_MANAGE_CONNECTIONS - 如果连接状态不是 ACTIVE,请访问返回的身份验证链接,完成 Datadog 身份验证
- 运行任何工作流前,确认连接状态显示为 ACTIVE
核心工作流
读取或更改状态前,确认 Datadog 站点/组织、环境、服务和时间范围。日志/追踪可能包含凭据和个人数据;请限制并脱敏输出。监控器/事件消息可能会通知 Slack/PagerDuty 接收者,因此发送消息/提及接收者需要明确的范围授权。停机/静音会抑制告警:请使用经批准且范围最小的监控器/范围,设置有时限的结束时间,并确认已恢复。替换/删除前保留仪表板定义;遇到含糊的写入操作时,先核实再重试。缺少指标/日志或采样后的追踪并不能证明服务正常;请说明数据保留、采样和查询覆盖范围。当前 API 版本在停机时段的结构和仪表板行为上可能有所不同;请使用发现的架构。
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 |
适用场景
此技能适用于执行概述中描述的工作流或操作。
限制
- 仅当任务明确符合上述范围时,才使用此技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少必需的输入、权限、安全边界或成功标准,请停止并请求澄清。