本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
正在连接 DataDog
Built-in,单向集成
目前, AWS DevOps Agent 通过内置的单向集成支持 Datadog 用户,支持以下功能:
自动触发调查-可以将 Datadog 事件配置为通过 AWS DevOps 代理 webhook 触发 AWS DevOps 代理事件解决调查。
遥测内省 —— AWS DevOps 代理可以在通过每个提供商的远程 MCP 服务器调查问题时反省 Datadog 遥测数据。
信息载入
步骤 1:Connect
使用账户访问凭证与您的 Datadog 远程 MCP 端点建立连接
配置
转到能力提供者页面(可从侧面导航栏访问)
在 “遥测” 下的 “可用提供商” 部分中找到 Datadog,然后选择 “注册”
输入您的 Datadog MCP 服务器详细信息:
服务器名称-唯一标识符(例如,my-datadog-server)
端点 URL-您的 Datadog MCP 服务器端点。端点网址因您的 Datadog 网站而异。请参阅下面的 Datadog 站点端点表。
描述-可选的服务器描述
选择下一步。
审核并提交
Datadog 网站端点
MCP 端点网址因您的 Datadog 网站而异。要识别您的网站,请在登录 Datadog 时在浏览器中查看网址,或者参阅访问 Dat
| Datadog 网站 | 网站域名 | MCP 端点网址 |
|---|---|---|
| US1(默认) | datadoghq.com |
https://mcp.datadoghq.com/api/unstable/mcp-server/mcp |
| US3 | 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 将在所有代理空间中使用。
步骤 2:启用
DataDog 在特定的代理空间中激活并配置适当的作用域
配置
在座席空间页面上,选择一个座席空间,然后按查看详情(如果您尚未创建座席空间,请参阅创建代理空间)
选择 “权能” 选项卡
向下滚动到 “遥测” 部分
按添加
选择 Datadog
下一步
查看并按保存
复制 Webhook 网址和 API 密钥(保存时显示一次;API 密钥以后无法查看 — 如果您丢失了,请从 “功能” 选项卡上的 webhook 详细信息中重新生成它,这将使之前的密钥失效)
步骤 3:配置 Webhook
使用步骤 2 中的 Webhook 网址和 API 密钥,您可以将 Datadog 配置为发送触发调查的事件,例如监控器发出警报时。
Datadog 网络挂钩使用不记名令牌身份验证。有关一般的 webhook 请求格式和有效负载架构,请参阅通过 Webhook 调用 DevOps 代理。以下各节提供了现成的Datadog配置;您无需自己构造有效负载。
步骤 3.1:在 Datadog 中创建 webhook
在 Datadog 中,打开集成,搜索 Webhooks,然后打开集成磁贴。有关更多信息,请参阅 Datado g 文档中的 Webhook
。 在 Webhook 下,选择新建。
在 “名称” 中,输入一个名称,例如
devops-agent。您可以像@webhook-devops-agent在监视器消息中一样引用此名称。对于网址,请粘贴步骤 2 中的 Webhook 网址(可再次从代理空间的 “功能” 选项卡上的 Datadog 条目中查看)。
对于负载,将默认负载替换为步骤 3.2 中的模板。
取消配置身份验证方法,改为选择 “自定义标头”,然后输入以下示例中显示的标题,
<API_KEY_FROM_STEP_2>替换为步骤 2 中的 API 密钥。清除 “表单编码”。Webhook 端点需要原始的 JSON 正文;表单编码会导致有效负载处理失败。
保存 webhook。
步骤 6 的自定义标题值:
{"Authorization": "Bearer <API_KEY_FROM_STEP_2>"}
为避免将密钥存储在普通视图中,请在选中 “隐藏视图” 的情况下在 webhook 磁贴中定义一个自定义变量(例如$DEVOPS_AGENT_API_KEY),然后改为在标题值中引用该变量。
步骤 3.2:监控器触发的警报的负载模板
以下模板适用于标准监控器警报,包括指标、日志、APM 和 Synthetics 监控器。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),这不是该字段的有效值。webhook 返回了 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 上下文变量 | 可选但不推荐。中的data所有内容都作为原始事件传递给代理,从而为调查提供监控查询、范围、标签以及返回 Datadog 事件的链接。 |
步骤 3.3:在显示器上引用 webhook
在警报应触发调查的每个监视器中,在监视器消息中添加 webhook 提及,其作用范围是只有警报过渡才会触发它:
{{#is_alert}} @webhook-devops-agent {{/is_alert}}
如果没有{{#is_alert}}条件通知,警告和恢复通知也会发送 webhook。恢复事件会对公开调查进行重复数据删除$ALERT_CYCLE_KEY,但是警告会开始调查您可能不想调查的阈值。
验证配置
从显示器发送测试通知(显示器编辑器中的测试通知)并确认以下内容:
Webhook 返回 200 的响应。你可以在 Datadog webhook 集成的事件流中看到交付状态。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,然后从 “操作” 菜单中选择 “取消注册”。