> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Datadog 集成

> 将 Devin 连接到 Datadog，以实现自动化告警排查和访问遥测数据

<div id="overview">
  ## 概述
</div>

Datadog 是 [MCP Marketplace](/zh/work-with-devin/mcp) 中提供的官方 MCP 集成。它采用 HTTP 传输，并使用 API key 和 Application key 进行身份验证，让 Devin 可以直接访问你的 Datadog 账户，查询日志、指标、监控项、追踪等数据。

连接后，你还可以设置自动化告警排查——通过轻量级 webhook 桥将 Datadog 告警路由到 Devin，从而自动完成事件分诊。

<div id="enable-the-datadog-mcp">
  ## 启用 Datadog MCP
</div>

<Steps>
  <Step title="打开 MCP Marketplace">
    前往 **Settings > MCP Marketplace**，找到 **Datadog**。
  </Step>

  <Step title="配置你的凭据">
    点击 **Enable**，然后：

    1. 选择你的 Datadog **站点/区域** (例如 `datadoghq.com`、`datadoghq.eu`)
    2. 输入你的 **DD-API-KEY** 和 **DD-APPLICATION-KEY**

    如需生成这些密钥：

    * 在 [Organization Settings > API Keys](https://app.datadoghq.com/organization-settings/api-keys) 创建 API key
    * 在 [Organization Settings > Application Keys](https://app.datadoghq.com/organization-settings/application-keys) 创建 Application key
  </Step>

  <Step title="验证连接">
    点击 **Test listing tools**，确认 Devin 可以连接到你的 Datadog 账户。如果测试成功，说明集成已可使用。
  </Step>
</Steps>

<div id="capabilities">
  ## 功能
</div>

启用 Datadog MCP 后，Devin 可以在任何会话中执行以下操作：

| 功能       | 描述                   |
| :------- | :------------------- |
| 查询错误日志   | 按服务、状态和时间范围搜索并筛选日志条目 |
| 获取指标时间序列 | 检索用于仪表板和分析的指标数据点     |
| 列出活动监控项  | 查看所有已配置的监控项及其当前状态    |
| 搜索追踪     | 查找跨服务的分布式追踪          |
| 管理事件     | 查看、创建和更新事件记录         |
| 管理仪表板    | 列出并检查仪表板配置           |

<Tip>
  将 Datadog MCP 与你服务相关的 [Knowledge](/zh/product-guides/knowledge) 结合使用——例如正常阈值、架构图和值班处置手册——这样 Devin 在开始调查时就能利用你团队的上下文。
</Tip>

<div id="automated-alert-investigation">
  ## 自动化告警调查
</div>

除了交互式查询外，你还可以将 Datadog 告警接入 Devin，让事故自动展开调查。这采用了 **webhook bridge** 模式：由一个小型服务接收 Datadog webhook payload，并调用 [Devin API](/zh/api-reference/overview) 启动调查会话。

<Steps>
  <Step title="部署 webhook bridge 服务">
    创建一个轻量级服务，用于接收 Datadog webhook 并启动 Devin 会话。可将其部署为无服务器函数 (AWS Lambda、Cloudflare Worker) 或小型容器：

    ```python theme={null}
    from flask import Flask, request, jsonify
    import requests, os, hmac, hashlib

    app = Flask(__name__)

    def verify_signature(req):
        """使用在 Datadog webhook 中配置的共享密钥验证请求。"""
        signature = req.headers.get("X-Webhook-Secret", "")
        expected = os.environ["WEBHOOK_SECRET"]
        return hmac.compare_digest(signature, expected)

    @app.route("/alert", methods=["POST"])
    def handle_alert():
        if not verify_signature(request):
            return jsonify({"error": "bad signature"}), 401

        payload = request.json
        if not payload:
            return jsonify({"error": "no payload"}), 400

        # Datadog webhook payload 字段
        alert_title = payload.get("title", "Unknown alert")
        tags = payload.get("tags", "")
        if isinstance(tags, str):
            tags = [t.strip() for t in tags.split(",")]
        service = next(
            (t.split(":", 1)[1] for t in tags if t.startswith("service:")),
            "unknown-service"
        )
        alert_url = payload.get("link", "")

        org_id = os.environ["DEVIN_ORG_ID"]
        response = requests.post(
            f"https://api.devin.ai/v3/organizations/{org_id}/sessions",
            headers={"Authorization": f"Bearer {os.environ['DEVIN_API_KEY']}"},
            json={
                "prompt": (
                    f"Datadog alert fired: '{alert_title}'\n"
                    f"Service: {service}\n"
                    f"Alert link: {alert_url}\n\n"
                    "Using the Datadog MCP:\n"
                    "1. Pull error logs for this service from the past 30 min\n"
                    "2. Identify the top error messages and stack traces\n"
                    "3. Check if this correlates with a recent deploy\n"
                    "4. If the root cause is clear, open a hotfix PR\n"
                    "5. Post your findings to #incidents on Slack"
                ),
            }
        )
        return jsonify(response.json()), 200
    ```

    在 **Settings > Service Users** 中创建一个具有 `ManageOrgSessions` permission 的[服务用户](/zh/api-reference/v3/overview)。将 API token 存储为 `DEVIN_API_KEY`，将 organization ID 存储为 `DEVIN_ORG_ID`，并在 bridge 服务上将共享密钥存储为 `WEBHOOK_SECRET`。下一步中，你需要在 Datadog webhook 的 **Custom Headers** 里配置同一个密钥。
  </Step>

  <Step title="配置 Datadog webhook">
    1. 在 Datadog 仪表板中，前往 **Integrations > Webhooks**
    2. 点击 **New Webhook**，并将 URL 设置为你的 bridge 端点 (例如 `https://your-bridge.example.com/alert`)
    3. 在 **Custom Headers** 下添加 `X-Webhook-Secret`，其值应与你在 bridge 服务中存储为 `WEBHOOK_SECRET` 的值一致
    4. 在任意 monitor 的通知消息中添加 `@webhook-devin-bridge` —— 这样每当该 monitor 触发时，Devin 就会自动展开调查
  </Step>

  <Step title="使用 warning 级别 monitor 进行测试">
    建议先从 warning 级别或低严重性的 monitor 开始，在接入关键告警之前先端到端验证整条流程。确认 Devin 会话已成功创建，且调查运行正常后，再扩展到更高严重性的 monitor。
  </Step>
</Steps>

<Note>
  你可以通过在 Devin API 请求体中传入 `playbook_id` 来自定义调查。复制 [`!triage` 模板 playbook](https://app.devin.ai/settings/playbooks/14fed18b89d44713a26e673cf258f548)，并根据你的技术栈调整调查步骤。
</Note>

<div id="related-resources">
  ## 相关资源
</div>

* [完整指南：自动调查 Datadog 告警](/zh/use-cases/gallery/api-datadog-alert-investigation)
* [MCP Marketplace 文档](/zh/work-with-devin/mcp)
* [Devin API 参考文档](/zh/api-reference/overview)
