本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
正在连接 DataDog
Built-in,单向集成
当前, AWS DevOps 代理通过内置的单向集成支持 Datadog 用户,支持以下功能:
自动调查触发 -可以将 Datadog 事件配置为通过 AWS DevOps 代理 webhook 触发 AWS DevOps 代理事件解决调查。
遥测自省 - AWS DevOps 代理可以在通过每个提供商的远程 MCP 服务器调查问题时对 Datadog 遥测进行内省。
信息载入
第 1 步:连接
使用账户访问凭证与您的 Datadog 远程 MCP 端点建立连接
配置
转到能力提供者页面(可从侧面导航中访问)
在 “遥测” 下的 “可用提供商” 部分中找到 Datadog,然后选择注册
输入您的 Datadog MCP 服务器详细信息:
服务器名称 -唯一标识符(例如 my-datadog-server)
端点 URL -您的 Datadog MCP 服务器端点。终端节点 URL 因您的 Datadog 站点而异。请参阅下面的 Datadog 站点端点表。
描述 -可选服务器描述
选择下一步。
审核并提交
Datadog 站点终端节点
MCP 终端节点 URL 因您的 Datadog 站点而异。要识别您的站点,请在登录 Datadog 时检查浏览器中的网址,或参见访问 Datadog 网站。
| Datadog 网站 | 站点域名 | MCP 终端节点 URL |
|---|---|---|
| US1(默认) | datadoghq.com |
https://mcp.datadoghq.com/api/unstable/mcp-server/mcp |
| 我们3 | us3.datadoghq.com |
https://mcp.us3.datadoghq.com/api/unstable/mcp-server/mcp |
| US5 | us5.datadoghq.com |
https://mcp.us5.datadoghq.com/api/unstable/mcp-server/mcp |
| EU1 | datadoghq.eu |
https://mcp.datadoghq.eu/api/unstable/mcp-server/mcp |
| AP1 | ap1.datadoghq.com |
https://mcp.ap1.datadoghq.com/api/unstable/mcp-server/mcp |
| AP2 | ap2.datadoghq.com |
https://mcp.ap2.datadoghq.com/api/unstable/mcp-server/mcp |
Authorization
通过以下方式完成 OAuth 授权:
在 Datadog OAuth 页面上以您的用户身份授权
如果未登录,请选择 “允许”、“登录”,然后选择 “授权”
配置完成后,Datadog 便可在所有代理空间中使用。
每个注册都连接到一个 Datadog 组织。要连接其他 Datadog 组织,请对每个组织重复此过程,并为每个注册提供自己的服务器名称。
第 2 步:启用
DataDog 在特定的代理空间中激活并配置相应的作用域
配置
在代理空间页面上,选择代理空间并按查看详细信息(如果您尚未创建代理空间,请参阅创建代理空间)
选择 “能力” 选项卡
向下滚动到 “遥测” 部分
按添加
选择要启用的 Datadog 注册。
下一步
查看并按保存
复制 Webhook URL 和 API 密钥(保存时显示一次;以后无法查看 API 密钥——如果您丢失了,请从 “功能” 选项卡上的 Webhook 详细信息中重新生成,这会使先前的密钥失效)
单个代理空间可以使用多个 Datadog 注册。要添加其他注册,请重复这些步骤。
第 3 步:配置 webhook
使用步骤 2 中的 Webhook URL 和 API 密钥,您可以将 Datadog 配置为发送触发调查的事件,例如当监控器发出警报时。
Datadog 网络挂钩使用持有者令牌身份验证。有关通用 webhook 请求格式和负载架构,请参阅通过 Webhook 调用 DevOps 代理。以下部分提供了即用的 Datadog 配置;您无需自己构造负载。
步骤 3.1:在 Datadog 中创建 webhook
在 Datadog 中,打开 “集成”,搜索 Webhook,然后打开集成图块。有关更多信息,请参阅 Datado g 文档
中的 Webhook。 在 Webhooks 下,选择 “新建”。
在 “名称” 中,输入一个名称,例如
devops-agent。您可以像@webhook-devops-agent在监视器消息中一样引用此名称。对于 URL,粘贴步骤 2 中的 Webhook 网址(可从代理空间的 “功能” 选项卡上的 Datadog 条目中再次查看)。
对于有效负载,使用步骤 3.2 中的模板替换默认负载。
保持未配置身份验证方法,改为选择 “自定义标头”,然后输入以下示例中显示的标题,
<API_KEY_FROM_STEP_2>替换为步骤 2 中的 API 密钥。将 Encode 留待表单清除即可。webhook 端点需要原始的 JSON 正文;表单编码会导致负载处理失败。
保存网络挂钩。
步骤 6 的自定义标题值:
{"Authorization": "Bearer <API_KEY_FROM_STEP_2>"}
为避免以清晰视图存储密钥,请在 webhook 图块中定义一个自定义变量(例如,$DEVOPS_AGENT_API_KEY),并选择 “从视图中隐藏”,改为在标题值中引用该变量。
步骤 3.2:监控器触发警报的有效负载模板
以下模板适用于标准监控器警报,包括指标、日志、APM 和综合监控器。Datadog 在发送 webhook 时替换$VARIABLE占位符;保持原样。
{ "eventType": "incident", "incidentId": "datadog-$ALERT_CYCLE_KEY", "action": "created", "priority": "HIGH", "title": "$ALERT_TITLE", "description": "$TEXT_ONLY_MSG", "service": "datadog", "data": { "monitorId": "$ALERT_ID", "eventType": "$EVENT_TYPE", "alertQuery": "$ALERT_QUERY", "alertScope": "$ALERT_SCOPE", "alertMetric": "$ALERT_METRIC", "alertTransition": "$ALERT_TRANSITION", "alertPriority": "$ALERT_PRIORITY", "tags": "$TAGS", "eventUrl": "$LINK", "hostname": "$HOSTNAME" } }
Datadog 变量如何映射到 webhook 架构
| Webhook 字段 | 要使用的值 | 注意 |
|---|---|---|
eventType |
文字字符串 incident |
必需的常量。 |
incidentId |
datadog-$ALERT_CYCLE_KEY |
$ALERT_CYCLE_KEY从监控器触发到问题解决一直保持不变,因此重新通知会删除重复到单个调查中。仅当你希望每份通知都开始单独调查时,才改用$ID(每个事件 ID)。 |
action |
文字字符串 created |
不要映射$ALERT_TRANSITION到此字段。它的值(例如Triggered和Recovered)不是有效action值。改为控制何时从监视器消息触发 webhook(参见步骤 3.3)。 |
priority |
其中一个字面字符串CRITICAL、HIGH、MEDIUMLOW、或 MINIMAL |
不要$ALERT_PRIORITY在这里使用。它扩展到 Datadog 监视器优先级 (P1—P5),这不是该字段的有效值。网络挂钩返回了 200 的响应,但没有开始调查。要发送不同的优先级,请为每个优先级创建一个 Webhook(例如,devops-agent-critical和devops-agent-high),并从每个监视器中引用相应的 webhook。 |
title |
$ALERT_TITLE |
显示器的警报标题。 |
description |
$TEXT_ONLY_MSG |
删除了 Markdown 的事件文本。比起这个$EVENT_MSG,后者的 Markdown 格式会增加噪音。 |
service |
字面上的服务名 | 可选。标识来源的静态字符串,例如datadog或您的服务名称。 |
timestamp |
省略 | 可选。Datadog 的日期变量 ($DATE,$DATE_POSIX) 是纪元值,而不是该字段期望的 ISO 8601 格式,因此请省略该字段。 |
data |
Datadog 上下文变量 | 可选但不推荐。输入的所有内容都作为原始事件传递给代理,从而为调查提供监控查询、范围、标签和指向 Datadog 事件的链接。data |
步骤 3.3:引用显示器上的 webhook
在警报应触发调查的每个监控器中,在监控器消息中添加 webhook 提及,范围仅允许警报过渡触发调查:
{{#is_alert}} @webhook-devops-agent {{/is_alert}}
如果没有{{#is_alert}}条件,警告和恢复通知也会发送 webhook。恢复事件对公开调查进行重复数据消除$ALERT_CYCLE_KEY,但警告会开始调查您可能不想调查的阈值。
验证配置
从显示器发送测试通知(监视器编辑器中的测试通知)并确认以下内容:
webhook 返回 200 响应。您可以在 Datadog 网络挂钩集成的事件流中查看交付状态。4xx 响应表示标
Authorization头错误。 Re-check API 密钥并确认已清除 “按表单编码”。调查将从您的代理空间开始。(测试通知的调查在没有根本原因的情况下结束——这是意料之中的。) 未经调查的 200 响应意味着有效载荷在被接受后未通过验证。检查 Datadog 事件流中的 webhook 响应正文:无效的负载返回 200 响应,其正文列出了验证错误(例如,
'P2' is not one of ['CRITICAL', 'HIGH', ...]),而有效的负载返回。{"message": "Webhook received"}最常见的原因是非文字priority值(参见前面的映射表)以及同一警报周期中先前测试的重复项incidentId。
有关常规的 webhook 疑难解答,请参阅通过 Webhook 调用 DevOps 代理。
了解更多:Datadog 远程 MCP 服务器
移除
遥测源在代理空间级别和账户级别的两个级别上连接。要将其完全删除,必须先将其从所有使用它的代理空间中删除,然后才能将其注销。
步骤 1:从代理空间中移除
在代理空间页面中,选择代理空间并按查看详细信息
选择 “能力” 选项卡
向下滚动到 “遥测” 部分
选择 Datadog
按下移除
第 2 步:注销账号
转到能力提供者页面(可从侧面导航中访问)
滚动到 “当前注册” 部分。
检查代理空间计数是否为零(如果不是,请在其他代理空间中重复上述步骤 1)
选择 Datadog,然后从 “操作” 菜单中选择 “取消注册”。