View a markdown version of this page

为 GitHub Copilot 设置 OpenTelemetry - Amazon CloudWatch

为 GitHub Copilot 设置 OpenTelemetry

GitHub Copilot 会发出有关令牌使用情况、请求、工具调用和延迟的 OpenTelemetry(OTel)指标。当您将这些指标发送到 Amazon CloudWatch 时,它们会填充编程代理洞察控制面板的 GitHub Copilot 选项卡。有关控制面板的更多信息,请参阅 编程代理洞察

Copilot 直接将 OTLP 指标发送到 CloudWatch 原生 OTLP 指标端点,并通过持有者令牌(CloudWatch 指标 API 密钥)进行身份验证。不需要 OpenTelemetry 收集器。持有者令牌是 Copilot 目前支持的路径。

注意

本指南仅介绍如何将 Copilot 的 OTel 指标发出到 CloudWatch,这与 Copilot 如何调用模型进行推理无关。Copilot 默认使用自己的模型,但企业可以引入自己的模型提供程序密钥,包括 Amazon Bedrock。有关更多信息,请参阅 GitHub Copilot 文档中的 Use your own API keys

重要

持有者令牌是长期凭证。我们建议仅在短期 AWS 凭证不可行的情况下使用它们,例如 AWS 之外的开发人员笔记本电脑。有关安全权衡和密钥轮换指导,请参阅为指标设置持有者令牌身份验证

先决条件

  • 已安装 GitHub Copilot,且版本支持 OpenTelemetry 指标导出。

  • 用于模型推理的有效 GitHub Copilot 订阅。Copilot 默认使用其自己的模型;要改用 Amazon Bedrock,请按照 GitHub Copilot 文档中的 Use your own API keys 所述配置自定义模型密钥。

  • 由具有 CloudWatch 指标权限的 IAM 用户创建的 CloudWatch 指标 API 密钥(持有者令牌)。有关创建 IAM 用户和生成密钥的过程,请参阅为指标设置持有者令牌身份验证

配置指标导出程序

配置 Copilot 的 OpenTelemetry 导出程序,使用 Authorization 标头中的持有者令牌将指标发送到 CloudWatch 指标端点。在启动 Copilot 的环境中设置下面的环境变量。设置 COPILOT_OTEL_ENABLED=true 以启用 OpenTelemetry。Copilot 对所有信号使用标准 OpenTelemetry 变量;它不支持特定于指标的覆盖。将 OTEL_EXPORTER_OTLP_ENDPOINT 设置为不带 /v1/metrics 路径的基本端点:导出程序会为您追加信号路径。

export COPILOT_OTEL_ENABLED=true export OTEL_EXPORTER_OTLP_ENDPOINT="https://monitoring.region.amazonaws.com" export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer YOUR_API_KEY"
注意

将持有者令牌视为机密。避免将其提交到源代码控制或共享的 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"

验证和查看

使用 Copilot 生成指标,然后确认数据已到达 CloudWatch。

验证指标
  1. 使用 Copilot 执行一些会生成遥测数据的工作。

  2. 在 CloudWatch 控制台中,选择 GenAI 可观测性编程代理洞察,然后选择 GitHub Copilot 选项卡。指标通常会在几分钟内显示。

  3. 或者,直接使用 PromQL 查询指标。有关更多信息,请参阅 PromQL 查询