使用持有者令牌设置 OpenAI Codex
在此路径中,OpenAI Codex 直接将 OpenTelemetry(OTel)指标发送到 Amazon CloudWatch 原生 OTLP 指标端点,并通过持有者令牌(CloudWatch 指标 API 密钥)进行身份验证。不需要 OpenTelemetry 收集器。这是个人开发人员或小型团队将 Codex 指标引入编程代理洞察控制面板的最快方法。
重要
持有者令牌是长期凭证。我们建议仅在短期 AWS 凭证不可行的情况下使用它们,例如 AWS 之外的开发人员笔记本电脑。有关安全权衡和密钥轮换指导,请参阅为指标设置持有者令牌身份验证。通过公司 SSO 联合身份的组织应改为使用企业部署。请参阅为企业部署设置 OpenAI Codex。
先决条件
-
OpenAI Codex 安装在开发人员的计算机上。
-
Codex 调用模型进行推理的有效方式。此遥测设置与推理无关,因此您可以使用 OpenAI 账户(默认 Codex 提供商)或 Amazon Bedrock。要使用 Amazon Bedrock 进行推理,请参阅 OpenAI Codex 文档中的 Amazon Bedrock
。 -
由具有 CloudWatch 指标权限的 IAM 用户创建的 CloudWatch 指标 API 密钥(持有者令牌)。有关创建 IAM 用户和生成密钥的过程,请参阅为指标设置持有者令牌身份验证。
配置指标导出程序
Codex 从 ~/.codex/config.toml 中读取其配置。添加指向 CloudWatch 指标 OTLP 端点的 [otel.metrics_exporter] 部分,并在 Authorization 标头中发送持有者令牌。包括完整的 /v1/metrics 路径;Codex 不会为您追加路径。
[otel] environment = "production" [otel.metrics_exporter] otlp-http = { endpoint = "https://monitoring.region.amazonaws.com/v1/metrics", protocol = "binary", headers = { "Authorization" = "BearerYOUR_API_KEY" } }
注意
某些 Codex 版本不扩展标头值中的环境变量,因此 API 密钥会以内联方式显示。将 config.toml 视为机密:限制其文件权限(例如 chmod 600 ~/.codex/config.toml),不要将其提交到源代码控制。
添加身份和组织属性
编程代理洞察控制面板按开发人员、团队、部门和其他组织维度对使用情况进行分组。通过启动 Codex 的 shell 中的 OTEL_RESOURCE_ATTRIBUTES 环境变量将这些内容作为 OTel 资源属性提供。根据开发人员的身份和组织结构设置值。
export OTEL_RESOURCE_ATTRIBUTES="\ user.id=alias,\ user.email=developer@example.com,\ user.name=Jane Doe,\ department=engineering,\ team.id=platform,\ cost_center=cc-1234,\ organization=example-corp,\ location=us-seattle,\ role=software-engineer,\ manager=manager@example.com"
注意
将它们设置为资源属性(而不是每个数据点的属性)与控制面板预期的结构相匹配,因此您可以按 @resource.team.id、@resource.department 和类似标签进行分组。Codex 会自动在指标上标记指标级维度(例如 model 和 token_type)。
验证和查看
运行 Codex 几轮生成指标,然后确认数据已到达 CloudWatch。
验证指标
-
运行 Codex 会话来执行一些工作(例如,让它运行命令并编辑文件)。
-
在 CloudWatch 控制台中,选择 GenAI 可观测性、编程代理洞察,然后选择 Codex 选项卡。指标通常会在几分钟内显示。
-
或者,直接使用 PromQL 查询指标。有关更多信息,请参阅 PromQL 查询。
有关持续更新的完整指导,请参阅 GitHub 上的 Amazon Bedrock 上的 Codex 指导