

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 正在连接 DataDog
<a name="connecting-telemetry-sources-connecting-datadog"></a>

## Built-in，单向集成
<a name="built-in-1-way-integration"></a>

当前， AWS DevOps 代理通过内置的单向集成支持 Datadog 用户，支持以下功能：
+ **自动调查触发 **-可以将 Datadog 事件配置为通过 AWS DevOps 代理 webhook 触发 AWS DevOps 代理事件解决调查。
+ **遥测自省 **- AWS DevOps 代理可以在通过每个提供商的远程 MCP 服务器调查问题时对 Datadog 遥测进行内省。

## 信息载入
<a name="onboarding"></a>

### 第 1 步：连接
<a name="step-1-connect"></a>

使用账户访问凭证与您的 Datadog 远程 MCP 端点建立连接

#### 配置
<a name="configuration"></a>

1. 转到**能力提供者**页面（可从侧面导航中访问）

1. 在 “**遥测**” 下的 “**可用**提供商” 部分**中找到 ** Datadog，然后选择注册 ** **

1. 输入您的 Datadog MCP 服务器详细信息：
   + **服务器名称 **-唯一标识符（例如 my-datadog-server）
   + **端点 URL **-您的 Datadog MCP 服务器端点。终端节点 URL 因您的 Datadog 站点而异。请参阅下面的 Datadog 站点端点表。
   + **描述 **-可选服务器描述

1. 选择下一步。

1. 审核并提交

#### Datadog 站点终端节点
<a name="datadog-site-endpoints"></a>

MCP 终端节点 URL 因您的 Datadog 站点而异。要识别您的站点，请在登录 Datadog 时检查浏览器中的网址，或参见[访问 Datadog 网站。](https://docs.datadoghq.com/getting_started/site/#access-the-datadog-site)


| 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
<a name="authorization"></a>

通过以下方式完成 OAuth 授权：
+ 在 Datadog OAuth 页面上以您的用户身份授权
+ 如果未登录，请选择 “允许”、“登录”，然后选择 “授权”

配置完成后，Datadog 便可在所有代理空间中使用。

每个注册都连接到一个 Datadog 组织。要连接其他 Datadog 组织，请对每个组织重复此过程，并为每个注册提供自己的**服务器名称。**

### 第 2 步：启用
<a name="step-2-enable"></a>

 DataDog 在特定的代理空间中激活并配置相应的作用域

#### 配置
<a name="configuration"></a>

1. 在代理空间页面上，选择代理空间并按查看详细信息（如果您尚未创建代理空间，请参阅[创建代理空间](getting-started-with-aws-devops-agent-creating-an-agent-space.md)）

1. 选择 “能力” 选项卡

1. 向下滚动到 “遥测” 部分

1. 按添加

1. 选择要启用的 Datadog 注册。

1. 下一步

1. 查看并按保存

1. 复制 Webhook URL 和 API 密钥（保存时显示一次；以后无法查看 API 密钥——如果您丢失了，请从 “功能” 选项卡上的 Webhook 详细信息中重新生成，这会使先前的密钥失效）

**注意：**有关检索或轮换 webhook 凭据的说明，请参阅[管理 webhook 凭据。](configuring-integrations-and-knowledge-invoking-devops-agent-through-webhook.md)

单个代理空间可以使用多个 Datadog 注册。要添加其他注册，请重复这些步骤。

### 第 3 步：配置 webhook
<a name="step-3-configure-webhooks"></a>

使用步骤 2 中的 Webhook URL 和 API 密钥，您可以将 Datadog 配置为发送触发调查的事件，例如当监控器发出警报时。

Datadog 网络挂钩使用持有者令牌身份验证。有关通用 webhook 请求格式和负载架构，请参阅[通过 Webhook 调用 DevOps 代理](configuring-integrations-and-knowledge-invoking-devops-agent-through-webhook.md)。以下部分提供了即用的 Datadog 配置；您无需自己构造负载。

#### 步骤 3.1：在 Datadog 中创建 webhook
<a name="step-31-create-the-webhook-in-datadog"></a>

1. 在 Datadog 中，打开 “**集成”**，搜索 ** Webhook**，然后打开集成图块。有关更多信息，请参阅 Datado [ g 文档](https://docs.datadoghq.com/integrations/webhooks/)中的 Webhook。

1. 在 ** Webhooks 下**，选择 “**新建**”。

1. 在 “**名称” 中**，输入一个名称，例如`devops-agent`。您可以像`@webhook-devops-agent`在监视器消息中一样引用此名称。

1. 对于 ** URL**，粘贴步骤 2 中的 Webhook 网址（可从代理空间的 “功能” 选项卡上的 ** Datadog 条目中再次查看）。**

1. 对于**有效负载**，使用步骤 3.2 中的模板替换默认负载。

1. 保持**未配置**身份验证方法，改为选择 “**自定义标头”，**然后输入以下示例中显示的标题，`<API_KEY_FROM_STEP_2>`替换为步骤 2 中的 API 密钥。

1. 将 ** Encode 留待表单**清除即可。webhook 端点需要原始的 JSON 正文；表单编码会导致负载处理失败。

1. 保存网络挂钩。

步骤 6 的自定义标题值：

```
{"Authorization": "Bearer <API_KEY_FROM_STEP_2>"}
```

为避免以清晰视图存储密钥，请在 webhook 图块中定义一个自定义变量（例如，`$DEVOPS_AGENT_API_KEY`），并**选择 “从视图中**隐藏”，改为在标题值中引用该变量。

#### 步骤 3.2：监控器触发警报的有效负载模板
<a name="step-32-payload-template-for-monitor-triggered-alerts"></a>

以下模板适用于标准监控器警报，包括指标、日志、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 架构
<a name="how-datadog-variables-map-to-the-webhook-schema"></a>


| 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
<a name="step-33-reference-the-webhook-from-your-monitors"></a>

在警报应触发调查的每个监控器中，在监控器消息中添加 webhook 提及，范围仅允许警报过渡触发调查：

```
{{#is_alert}}
@webhook-devops-agent
{{/is_alert}}
```

如果没有`{{#is_alert}}`条件，警告和恢复通知也会发送 webhook。恢复事件对公开调查进行重复数据消除`$ALERT_CYCLE_KEY`，但警告会开始调查您可能不想调查的阈值。

#### 验证配置
<a name="verify-the-configuration"></a>

从显示器发送**测试通知（监视器编辑器**中的测试通知）并确认以下内容：

1. **webhook 返回 200 响应。**您可以在 Datadog 网络挂钩集成的事件流中查看交付状态。4xx 响应表示标`Authorization`头错误。 Re-check API 密钥并确认已清除 “按表单****编码”。

1. **调查将从您的代理空间开始。**（测试通知的调查在没有根本原因的情况下结束——这是意料之中的。） 未经调查的 200 响应意味着有效载荷在被接受后未通过验证。检查 Datadog 事件流中的 webhook 响应正文：无效的负载返回 200 响应，其正文列出了验证错误（例如，`'P2' is not one of ['CRITICAL', 'HIGH', ...]`），而有效的负载返回。`{"message": "Webhook received"}`最常见的原因是非文字`priority`值（参见前面的映射表）以及同一警报周期中先前测试的重复项`incidentId`。

有关常规的 webhook 疑难解答，请参阅[通过 Webhook 调用 DevOps 代理](configuring-integrations-and-knowledge-invoking-devops-agent-through-webhook.md)。

了解更多：[Datadog 远程 MCP 服务器 ](https://www.datadoghq.com/blog/datadog-remote-mcp-server/)

## 移除
<a name="removal"></a>

遥测源在代理空间级别和账户级别的两个级别上连接。要将其完全删除，必须先将其从所有使用它的代理空间中删除，然后才能将其注销。

### 步骤 1：从代理空间中移除
<a name="step-1-remove-from-agent-space"></a>

1. 在代理空间页面中，选择代理空间并按查看详细信息

1. 选择 “能力” 选项卡

1. 向下滚动到 “遥测” 部分

1. 选择 Datadog

1. 按下移除

### 第 2 步：注销账号
<a name="step-2-deregister-from-account"></a>

1. 转到**能力提供者**页面（可从侧面导航中访问）

1. 滚动到 “**当前注册**” 部分。

1. 检查代理空间计数是否为零（如果不是，请在其他代理空间中重复上述步骤 1）

1. 选择 Datadog，然后**从 “操作” 菜单中选择 “**取消注册”。** **