DataDog/pup
GitHub: DataDog/pup
Pup 是 Datadog 官方为 AI Agent 打造的 Rust CLI 工具,通过 200 多条命令让智能助手直接操控 Datadog 的可观测性、安全和运维平台。
Stars: 760 | Forks: 71
# :dog2: 给你的 Agent 一只小狗:推出 Pup CLI
[](https://github.com/DataDog/pup/actions/workflows/ci.yml)
[](https://www.rust-lang.org/)
[](LICENSE)
每个 AI agent 都需要一个忠诚的伙伴。认识一下 Pup —— 这个 CLI 让你的 agent 全面访问 Datadog 的可观测性平台(因为即使是自主运行的 agent 也需要优秀的工具,而不仅仅是小把戏)。
## 什么是 Pup?
一个全面的、为 AI agent 准备的 CLI,涵盖了广泛的 Datadog 产品领域。我们释放了 Datadog API 的全部威力,让你的 agent 能够抓取指标、嗅出错误并追踪问题,而不会找错 API 方向。
AI agent 是基础设施管理中增长最快的接口。像 Vercel 和 AWS 这样的公司正竞相使其平台可被 agent 访问,但我们走在了前列。Pup 通过以一种 agent 能够顺利导航的方式暴露 API 接口,使 Datadog 成为 AI 原生工作流的绝佳选择。
## 为什么你的 Agent 会喜欢它
- :paw_prints: **训练有素**:自我发现的命令(无需费力寻找文档)
- :guide_dog: **服从指令**:结构化的 JSON/YAML 输出,易于解析
- :service_dog: **被牵引绳拴着**:OAuth2 + PKCE 提供作用域访问(不再有长期密钥失控乱跑)
- :dog: **知道所有的把戏**:Monitors、日志、指标、RUM、安全等等!
## 试一试(也欢迎人类!)
```
# 提供您的 agent 凭证(基本上是内部培训)
pup auth login
# 现在它们可以像乖巧的小狗一样获取数据了
pup monitors list --tags="team:api-platform" # Fetch monitors
pup logs search --query="status:error" --from="1h" # Sniff out errors
pup metrics query --query="avg:system.cpu.user{*}" # Track the metrics tail
```
:dog: **TL;DR**:我们构建了一个全面的 CLI,以便 AI agent 可以像专家一样使用 Datadog。给你的 agent 一只 pup。它们受过良好训练、忠诚,并且知道比你预期的多得多的把戏。
*P.S. 在制作这个 CLI 的过程中没有伤害任何真实的小狗。只有大量的 Rust 代码和 API 端点。*
## API 覆盖范围
Pup 涵盖了大部分主要的 Datadog 产品界面。请参阅
[docs/COMMANDS.md](docs/COMMANDS.md) 获取权威的命令参考,或者运行
`pup --help`(或 `pup agent schema` 获取机器可读的输出)以获取构建后
命令的实时列表。
💡 **提示:** 使用 Ctrl/Cmd+F 搜索特定的 API。[通过 GitHub Issues 请求功能](https://github.com/DataDog/pup/issues)。
## 安装
### Homebrew (macOS/Linux)
```
brew tap datadog-labs/pack
brew install datadog-labs/pack/pup
```
### 从源码构建
```
git clone https://github.com/DataDog/pup.git && cd pup
cargo build --release
cp target/release/pup /usr/local/bin/pup
```
### 手动下载
从[最新发布版](https://github.com/DataDog/pup/releases/latest)下载预构建的二进制文件。
## 身份验证
Pup 支持两种身份验证方法。**首选 OAuth2**,如果您已登录,它将被自动使用。
### OAuth2 身份验证(首选)
OAuth2 提供安全的、基于浏览器的身份验证和自动 token 刷新。
```
# 设置您的 Datadog 站点(可选)
export DD_SITE="datadoghq.com" # Defaults to datadoghq.com
# 通过浏览器登录
pup auth login
# 使用任意命令 - 自动使用 OAuth token
pup monitors list
# 检查状态
pup auth status
# 登出
pup auth logout
```
**Token 存储**:Token 安全地存储在您系统的钥匙串中(macOS Keychain、Windows Credential Manager、Linux Secret Service)。设置 `DD_TOKEN_STORAGE=file` 以改用基于文件的存储。
**注意**:OAuth2 需要在您的 Datadog 站点上启用动态客户端注册 (DCR)。如果 DCR 尚不可用,请使用 API 密钥身份验证。
有关详细的 OAuth2 文档,请参阅 [docs/OAUTH2.md](docs/OAUTH2.md)。
### API 密钥身份验证(回退方案)
如果 OAuth2 token 不可用,Pup 会自动回退到 API 密钥身份验证。
```
export DD_API_KEY="your-datadog-api-key"
export DD_APP_KEY="your-datadog-application-key"
export DD_SITE="datadoghq.com" # Optional, defaults to datadoghq.com
# 使用任意命令 - 自动使用 API key
pup monitors list
```
### Bearer Token 身份验证 (WASM / Headless)
对于 WASM 构建或无法访问钥匙串的环境,请使用预先获取的 bearer token:
```
export DD_ACCESS_TOKEN="your-oauth-access-token"
export DD_SITE="datadoghq.com"
pup monitors list
```
API 密钥身份验证(`DD_API_KEY` + `DD_APP_KEY`)也可在 WASM 中运行。请参阅下方的 [WASM](#wasm) 部分。
### 身份验证优先级
Pup 按以下顺序检查身份验证:
1. **`DD_ACCESS_TOKEN`** - 无状态 bearer token(最高优先级)
2. **OAuth2 token**(来自 `pup auth login`)- 如果存在有效 token 则使用
3. **API 密钥**(来自 `DD_API_KEY` 和 `DD_APP_KEY`)- 如果 OAuth token 不可用则使用
## 使用方法
### 身份验证
```
# OAuth2 登录(推荐)
pup auth login
# 检查身份验证状态
pup auth status
# 刷新 access token
pup auth refresh
# 登出
pup auth logout
```
### 测试连接
```
pup test
```
### Monitors
```
# 列出所有 monitor
pup monitors list
# 获取特定 monitor
pup monitors get 12345678
# 删除 monitor
pup monitors delete 12345678 --yes
```
### Metrics
```
# 使用经典查询语法搜索指标 (v1 API)
pup metrics search --query="avg:system.cpu.user{*}" --from="1h"
# 查询时间序列数据 (v2 API)
pup metrics query --query="avg:system.cpu.user{*}" --from="1h"
# 列出可用指标
pup metrics list --filter="system.*"
```
### Dashboards
```
# 列出所有 dashboard
pup dashboards list
# 获取 dashboard 详情
pup dashboards get abc-123-def
# 打印实时 1 周 dashboard URL
pup dashboards url abc-123-def --from=now-1w --to=now --live=true
# 删除 dashboard
pup dashboards delete abc-123-def --yes
```
### SLOs
```
# 列出所有 SLO
pup slos list
# 获取 SLO 详情
pup slos get abc-123
# 删除 SLO
pup slos delete abc-123 --yes
```
### Incidents
```
# 列出所有 incident
pup incidents list
# 获取 incident 详情
pup incidents get abc-123-def
```
## 全局标志
- `-o, --output`:输出格式(json, table, yaml)- 默认:json
- `-y, --yes`:跳过破坏性操作的确认提示
## 环境变量
- `DD_ACCESS_TOKEN`:用于无状态身份验证的 Bearer token(最高优先级)
- `DD_API_KEY`:Datadog API 密钥(如果使用 OAuth2 或 DD_ACCESS_TOKEN 则可选)
- `DD_APP_KEY`:Datadog 应用程序密钥(如果使用 OAuth2 或 DD_ACCESS_TOKEN 则可选)
- `DD_SITE`:Datadog 站点(默认值:datadoghq.com)
- `DD_AUTO_APPROVE`:自动批准破坏性操作(true/false)
- `DD_TOKEN_STORAGE`:Token 存储后端(keychain 或 file,默认值:自动检测)
## Agent 模式
当 AI 编码 agent 调用 pup 时,它会自动切换到 **agent 模式**,该模式返回针对机器消费优化的结构化 JSON 响应(包括元数据、错误详情和提示)。Agent 模式也会自动批准确认提示。
当以下任何环境变量设置为 `1` 或 `true` 时,将**自动检测** agent 模式:
| Variable | Agent |
|----------|-------|
| `CLAUDE_CODE` 或 `CLAUDECODE` | Claude Code |
| `CURSOR_AGENT` | Cursor |
| `CODEX` 或 `OPENAI_CODEX` | OpenAI Codex |
| `AIDER` | Aider |
| `CLINE` | Cline |
| `WINDSURF_AGENT` | Windsurf |
| `GITHUB_COPILOT` | GitHub Copilot |
| `AMAZON_Q` 或 `AWS_Q_DEVELOPER` | Amazon Q |
| `GEMINI_CODE_ASSIST` | Gemini Code Assist |
| `SRC_CODY` | Sourcegraph Cody |
| `PI_CODING_AGENT` | pi.dev |
| `FORCE_AGENT_MODE` | 任何 agent(手动覆盖) |
您也可以使用 `--agent` 标志或通过设置 `FORCE_AGENT_MODE=1` 显式启用它:
```
# 自动检测(例如,在 Claude Code 内运行)
pup monitors list
# 显式 flag
pup monitors list --agent
# 环境变量覆盖
FORCE_AGENT_MODE=1 pup monitors list
```
如果您正在将 pup 集成到 AI agent 工作流中,请确保设置了适当的环境变量,以便为您的 agent 优化响应。如果没有设置,pup 将默认为人类友好的输出。
## WASM
Pup 通过 `wasm32-wasip2` 目标编译为 WebAssembly,以便在 WASI 兼容的运行时中使用,例如 Wasmtime、Wasmer 和 Cloudflare Workers。
### 构建
```
# 安装 WASI target
rustup target add wasm32-wasip2
# 构建 WASI
cargo build --target wasm32-wasip2 --no-default-features --features wasi --release
```
### 身份验证
WASM 构建支持**无状态身份验证** —— 不支持钥匙串存储和基于浏览器的 OAuth 登录。请使用 `DD_ACCESS_TOKEN` 或 API 密钥:
```
# 选项 1:Bearer token
DD_ACCESS_TOKEN="your-token" DD_SITE="datadoghq.com" wasmtime run target/wasm32-wasip2/release/pup.wasm -- monitors list
# 选项 2:API key
DD_API_KEY="your-api-key" DD_APP_KEY="your-app-key" wasmtime run target/wasm32-wasip2/release/pup.wasm -- monitors list
```
`pup auth status` 命令可在 WASM 中运行,并报告已配置的凭据。`login`、`logout` 和 `refresh` 子命令会返回使用 `DD_ACCESS_TOKEN` 的指导。
### 限制
- 没有本地 token 存储(keychain/file)—— 请使用 `DD_ACCESS_TOKEN` 或 API 密钥
- 没有基于浏览器的 OAuth 登录流程
- 网络依赖宿主运行时的网络功能
### 使用 Wasmtime 运行
```
# 直接运行
wasmtime run --env DD_ACCESS_TOKEN="your-token" target/wasm32-wasip2/release/pup.wasm -- monitors list
# 或者使用 API key
wasmtime run --env DD_API_KEY="key" --env DD_APP_KEY="key" target/wasm32-wasip2/release/pup.wasm -- --help
```
## Runbooks
`pup runbooks` 是一个用于 YAML 定义的操作程序的本地执行引擎。Runbooks 位于 `~/.config/pup/runbooks/` 中,使用 `pup`、shell、HTTP、Datadog Workflow 和交互式确认步骤对多步骤任务(从部署门控到事件分类)进行编码。
```
# 列出可用 runbook
pup runbooks list
# 查看 runbook 的步骤
pup runbooks describe incident-triage
# 运行 runbook,传递所需变量
pup runbooks run deploy-service --arg SERVICE=payments --arg VERSION=1.2.3
# Dry-run(显示步骤而不执行)
pup runbooks run deploy-service --dry-run
# 从文件导入 runbook
pup runbooks import ./my-runbook.yaml
# 验证 runbook 文件而不运行它
pup runbooks validate ./my-runbook.yaml
```
### Runbook 功能
- **步骤类型**:`pup`(Datadog 命令)、`shell`、`http`、`datadog-workflow`、`confirm`
- **变量插值**:在任何字段中使用 `{{VAR_NAME}}`,通过 `--arg KEY=VALUE` 传递
- **可重用模板**:将共享的步骤定义存储在 `_templates/` 中,并使用 `template: ` 引用它们
- **HTTP 步骤**:支持完整的方法(GET/POST/PUT/PATCH/DELETE),带有 `body`、`headers`、`content_type` 和 `body_file`
- **失败处理**:每个步骤支持 `on_failure: fail|warn|ignore` 和 `optional: true`
- **条件执行**:`when: on_success|on_failure|always`
- **轮询**:用于长时间运行操作的 `poll.interval`、`poll.timeout`、`poll.until`
- **输出捕获**:`capture: VAR_NAME` 存储 stdout 以供后续步骤使用
- **带时间戳的输出**:每个步骤都显示开始时间、已用时间以及标记的 stdout/stderr
请参阅 `docs/examples/runbooks/` 获取现成的示例,并参阅 [docs/EXAMPLES.md](docs/EXAMPLES.md) 获取完整参考。
## Agent 技能
Pup 附带了一组嵌入在二进制文件中的技能和领域 agent,可以安装到任何 AI 编码助手。运行 `pup skills list` 查看您已安装版本中可用的技能。
```
# 为您的 AI 助手安装所有 skill 和 agent
pup skills install
# 为特定工具安装
pup skills install --target-agent=claude-code
pup skills install --target-agent=cursor
# 列出可用的 skill 和 agent
pup skills list
pup skills list --type=skill
pup skills list --type=agent
# 安装特定的 skill
pup skills install dd-monitors
```
对于 Claude Code,技能将安装到 `.claude/skills/`,agent 将安装到 `.claude/agents/`(原生子 agent 格式)。对于其他工具,所有内容都将作为 `SKILL.md` 安装在该工具的技能目录中。
Pup 还可用作 **Claude Code 插件市场**:
```
/plugin marketplace add DataDog/pup
```
## ACP Server
`pup acp serve` 将 pup 变成本地 AI agent 服务器,让编码工具直接与 Datadog Bits AI 对话。它支持两种协议:
- **[ACP](https://agentcommunicationprotocol.dev/)** — 用于 ACP 原生客户端的 Agent Communication Protocol
- **OpenAI 兼容** — `POST /chat/completions`,适用于 [opencode](https://opencode.ai)、Cursor 和任何 `@ai-sdk/openai-compatible` 客户端
```
# 启动服务器(自动发现您的第一个 Datadog AI agent)
pup acp serve
# 或者指定特定的 agent
pup acp serve --agent-id --port 9099
```
将任何 OpenAI 兼容的客户端指向 `http://127.0.0.1:9099` 以开始询问有关您的 Datadog 环境的问题。
**opencode** (`~/Library/Application Support/opencode/opencode.jsonc`):
```
{
"provider": {
"datadog": {
"name": "Datadog AI",
"npm": "@ai-sdk/openai-compatible",
"models": { "datadog-ai": { "name": "Datadog AI Agent" } },
"options": { "baseURL": "http://127.0.0.1:9099" }
}
}
}
```
有关完整的使用详情,请参阅 [docs/EXAMPLES.md#acp-server](docs/EXAMPLES.md)。
## 开发
```
# 运行测试
cargo test
# 构建
cargo build --release
# Lint
cargo clippy -- -D warnings
# 格式检查
cargo fmt --check
# 构建 WASM
rustup target add wasm32-wasip2
cargo build --target wasm32-wasip2 --no-default-features --features wasi
# 无需构建直接运行
cargo run -- monitors list
```
## 许可证
Apache License 2.0 - 详情请参阅 LICENSE。
## 文档
有关详细文档,请参阅 [CLAUDE.md](CLAUDE.md)。
📊 核心可观测性
| API Domain | Status | Pup Commands | Notes | |------------|--------|--------------|-------| | Metrics | ✅ | `metrics search`, `metrics query`, `metrics list`, `metrics get` | 支持 V1 和 V2 API | | Logs | ✅ | `logs search`, `logs list`, `logs aggregate` | 支持 V1 和 V2 API | | Events | ✅ | `events list`, `events search`, `events get` | 基础设施事件管理 | | RUM | ✅ | `rum apps`, `rum sessions`, `rum metrics`, `rum retention-filters`, `rum playlists`, `rum heatmaps` | Apps, sessions, metrics, retention filters, replay playlists, heatmaps | | APM Services | ✅ | `apm services`, `apm entities`, `apm dependencies`, `apm flow-map` | 服务统计、操作、资源;实体查询;依赖关系;流量可视化 | | Traces | ✅ | `traces search`, `traces aggregate`, `traces metrics` | Span 搜索/聚合和基于 span 的指标定义 | | Profiling | ✅ | `profiling aggregate`, `profiling analytics`, `profiling timeline`, … | Continuous Profiler 查询(需要 API + App keys) | | Database Monitoring | ✅ | `dbm samples search` | DBM 查询样本搜索 | | Session Replay | ❌ | - | 尚未实现 |🔔 监控与告警
| API Domain | Status | Pup Commands | Notes | |------------|--------|--------------|-------| | Monitors | ✅ | `monitors list`, `monitors get`, `monitors delete`, `monitors search` | 具有高级搜索的完整 CRUD 支持 | | Dashboards | ✅ | `dashboards list`, `dashboards get`, `dashboards delete`, `dashboards url` | 完整的管理功能 | | SLOs | ✅ | `slos list`, `slos get`, `slos delete`, `slos status` | 完整的 CRUD 以及 V2 状态查询 | | Synthetics | ✅ | `synthetics tests`, `synthetics locations`, `synthetics suites` | 测试、位置和 V2 套件管理 | | Downtimes | ✅ | `downtime list`, `downtime get`, `downtime cancel` | 完整的停机时间管理 | | Notebooks | ✅ | `notebooks list`, `notebooks get`, `notebooks delete` | 支持调查 notebooks | | Status Pages | ✅ | `status-pages pages`, `status-pages components`, `status-pages degradations` | **新增** — 页面、组件和降级管理 | | Powerpacks | ❌ | - | 尚未实现 | | Workflow Automation | ✅ | `workflows get`, `workflows create`, `workflows update`, `workflows delete`, `workflows run`, `workflows instances` | 完整的 CRUD 以及运行和实例管理(列表、获取、取消) | | Local Runbooks | ✅ | `runbooks list`, `runbooks describe`, `runbooks run`, `runbooks import`, `runbooks validate` | **新增** — 基于 YAML 定义的多步骤 runbooks,支持 pup/shell/http/workflow 步骤类型、变量插值和可重用模板 |🔒 安全与合规
| API Domain | Status | Pup Commands | Notes | |------------|--------|--------------|-------| | Security Monitoring | ✅ | `security rules`, `security signals`, `security findings`, `security content-packs`, `security risk-scores` | 规则、信号、发现、内容包、实体风险评分 | | Cloud Security | ✅ | `security findings analyze`, `security findings schema` | 用于配置错误、身份风险和所有 Cloud Security 发现类型的 DDSQL 分析 | | Application Security | ✅ | `security findings analyze`, `security asm-custom-rules`, `security asm-exclusions` | 通过 DDSQL 查询 API 发现、WAF 自定义规则和排除过滤器 | | Static Analysis | ✅ | `static-analysis ast`, `static-analysis custom-rulesets`, `static-analysis sca`, `static-analysis coverage` | 代码安全分析 | | Audit Logs | ✅ | `audit-logs list`, `audit-logs search` | 完整的审计日志搜索和列表 | | Data Governance | ✅ | `data-governance scanner-rules list` | 敏感数据扫描器规则 | | CSM Threats | ✅ | `csm-threats` | Cloud Security Management 威胁规则和 agent 规则 | | Sensitive Data Scanner | ✅ | `data-governance scanner-rules list` | 通过上方的数据治理列出 | | Agentless Scanning | ✅ | `agentless-scanning aws list/get/create/update/delete`, `agentless-scanning gcp list`, `agentless-scanning azure list` | AWS、GCP 和 Azure 的云无代理扫描配置 | | Logs Restriction | ✅ | `logs-restriction list`, `logs-restriction get`, `logs-restriction create`, `logs-restriction update`, `logs-restriction delete` | 用于细粒度日志访问控制的日志限制查询 | | Data Deletion | ✅ | `data-deletion requests list`, `data-deletion requests create`, `data-deletion requests cancel` | GDPR/合规性数据删除请求管理 |☁️ 基础设施与云
| API Domain | Status | Pup Commands | Notes | |------------|--------|--------------|-------| | Infrastructure | ✅ | `infrastructure hosts list`, `infrastructure hosts get` | 主机清单管理 | | Tags | ✅ | `tags list`, `tags get`, `tags add`, `tags update`, `tags delete` | 主机标签操作 | | Network | ✅ | `network flows list`, `network devices`, `network interfaces` | 网络流、设备清单、接口标签 | | Cloud (AWS) | ✅ | `cloud aws list`, `cloud aws cloud-auth persona-mappings` | 具有角色映射 CRUD 的 AWS 集成管理 | | Cloud (GCP) | ✅ | `cloud gcp list` | GCP 集成管理 | | Cloud (Azure) | ✅ | `cloud azure list` | Azure 集成管理 | | Cloud (OCI) | ✅ | `cloud oci` | Oracle Cloud 租户配置和产品 | | Containers | ✅ | `containers list`, `containers images list` | Containers | | Processes | ✅ | `processes list` | 进程清单查询 |🚨 事件与运营
| API Domain | Status | Pup Commands | Notes | |------------|--------|--------------|-------| | Incidents | ✅ | `incidents list`, `incidents get`, `incidents attachments`, `incidents settings`, `incidents handles`, `incidents postmortem-templates` | 事件管理,包括设置、处理和事后总结模板 | | On-Call (Teams) | ✅ | `on-call teams` (CRUD, memberships with roles) | 完整的团队管理系统,支持 admin/member 角色 | | Case Management | ✅ | `cases` (create, search, assign, archive, projects, jira, servicenow, move) | 完整的案例管理,支持 Jira/ServiceNow 关联 | | Error Tracking | ✅ | `error-tracking issues search`, `error-tracking issues get` | 错误问题搜索和详情 | | Service Catalog | ✅ | `service-catalog list`, `service-catalog get` | 服务注册表管理 | | Scorecards | ✅ | `scorecards list`, `scorecards get` | 服务质量评分 | | Fleet Automation | ✅ | `fleet agents`, `fleet deployments`, `fleet schedules` | Agent 管理、部署、计划 (预览版) | | HAMR | ✅ | `hamr connections get`, `hamr connections create` | **新增** — 高可用多区域连接 | | Investigations | ✅ | `investigations list`, `investigations get`, `investigations trigger` | Bits AI SRE 调查管理 | | Change Management | ✅ | `change-management create`, `change-management get`, `change-management update`, `change-management create-branch`, `change-management decisions` | 变更请求管理,包括决策和分支 | | Incident Services/Teams | ✅ | `incidents services`, `incidents teams` | 范围限定于事件管理的服务和团队 CRUD | | Live Debugger | ✅ | `debugger probes list`, `debugger probes get`, `debugger probes create`, `debugger probes delete`, `debugger probes watch` | 用于 Live Debugger 的远程日志探针管理 | | Software Catalog | ✅ | `software-catalog entities list`, `software-catalog entities upsert`, `software-catalog kinds list`, `software-catalog relations list` | 软件目录实体和类型管理(下一代目录) |🔧 CI/CD 与开发
| API Domain | Status | Pup Commands | Notes | |------------|--------|--------------|-------| | CI Visibility | ✅ | `cicd pipelines list`, `cicd events list` | CI/CD 流水线可见性和事件 | | Test Optimization | ✅ | `cicd tests`, `cicd flaky-tests`, `test-optimization` | 测试事件、不稳定测试管理和测试优化 API | | DORA Metrics | ✅ | `cicd dora` | DORA 部署补丁 | | Code Coverage | ✅ | `code-coverage branch-summary`, `code-coverage commit-summary` | 分支和提交级别的覆盖率摘要 | | Deployment Gates | ✅ | `deployment-gates gates`, `deployment-gates evaluations`, `deployment-gates rules` | 部署门禁 CRUD、评估触发和规则管理 |👥 组织与访问
| API Domain | Status | Pup Commands | Notes | |------------|--------|--------------|-------| | Users | ✅ | `users list`, `users get`, `users roles`, `users seats` | 用户和角色管理,支持席位分配 | | Organizations | ✅ | `organizations get`, `organizations list` | 组织设置管理 | | API Keys | ✅ | `api-keys list`, `api-keys get`, `api-keys create`, `api-keys delete` | 完整的 API 钥 CRUD | | App Keys | ✅ | `app-keys list`, `app-keys get`, `app-keys create`, `app-keys update`, `app-keys delete` | 完整的应用程序密钥 CRUD | | Service Accounts | ✅ | - | 通过 users 命令管理 | | Roles | ❌ | - | 仅通过 users 列出 | | AuthN Mappings | ✅ | `authn-mappings list`, `authn-mappings get`, `authn-mappings create`, `authn-mappings update`, `authn-mappings delete` | SAML/IdP 属性到角色的身份验证映射 |⚙️ 平台与配置
| API Domain | Status | Pup Commands | Notes | |------------|--------|--------------|-------| | Usage Metering | ✅ | `usage summary`, `usage hourly` | 使用量和计费指标 | | Cost Management | ✅ | `costs datadog projected`, `costs datadog attribution`, `costs datadog by-org`, `costs datadog aws-config`, `costs datadog azure-config`, `costs datadog gcp-config`, `costs ccm custom-costs`, `costs ccm tag-descriptions`, `costs ccm tag-metadata`, `costs ccm tags`, `costs ccm tag-keys`, `costs ccm budgets`, `costs ccm commitments` | 成本归因、云成本配置 (AWS/Azure/GCP) 和云成本管理(自定义成本、标签描述、预算、承诺计划) | | Product Analytics | ✅ | `product-analytics events send`, `product-analytics query` | 服务端产品分析事件和查询 | | Integrations | ✅ | `integrations slack`, `integrations pagerduty`, `integrations webhooks`, `integrations jira`, `integrations servicenow`, `integrations google-chat`, `integrations ms-teams` | 第三方集成,包括 Jira、ServiceNow、Google Chat 和 Microsoft Teams | | Feature Flags | ✅ | `feature-flags flags`, `feature-flags environments`, `feature-flags allocations`, `feature-flags exposure`, `feature-flags enable`, `feature-flags disable` | 功能标志管理,包括环境、分配和曝光控制 | | Data Streams (Kafka) | ✅ | `kafka topic-configs`, `kafka broker-configs`, `kafka client-configs`, `kafka read-messages` | **实验性** — 通过 Datadog 进行 Kafka 集群检查 | | Restricted Datasets | ✅ | `datasets list`, `datasets get`, `datasets create`, `datasets update`, `datasets delete` | 用于数据访问控制的受限数据集管理 | | Observability Pipelines | ✅ | `obs-pipelines list`, `obs-pipelines get`, `obs-pipelines create`, `obs-pipelines update`, `obs-pipelines delete`, `obs-pipelines validate` | 完整的 pipeline CRUD 和验证 | | LLM Observability | ✅ | `llm-obs projects`, `llm-obs experiments`, `llm-obs datasets` | **新增** — LLM Obs 项目、实验和数据集管理 | | Reference Tables | ✅ | `reference-tables list`, `reference-tables get`, `reference-tables create`, `reference-tables batch-query` | **新增** — 用于日志富化的参考表管理 | | Miscellaneous | ✅ | `misc ip-ranges`, `misc status` | IP 范围和状态 | | App Builder | ✅ | `app-builder list`, `app-builder get`, `app-builder create`, `app-builder update`, `app-builder delete`, `app-builder publish` | 具有发布/取消发布和批量删除的低代码应用管理 | | Key Management | ✅ | `api-keys`, `app-keys` | API 密钥和应用程序密钥的 CRUD(在上方的组织和访问中列出) | | IP Allowlist | ❌ | - | 尚未实现 |标签:API安全, API集成, Datadog, JSON输出, OAuth2认证, OISF, Rust, SRE, 人工智能助手, 偏差过滤, 可观测性, 可视化界面, 命令行界面, 基础设施管理, 威胁情报, 开发者工具, 性能监控, 数字取证, 无线安全, 日志管理, 网络流量审计, 自动化脚本, 自动化运维, 运维自动化, 通知系统