GitHub Copilot の OpenTelemetry のセットアップ
GitHub Copilot は、トークンの使用状況、リクエスト、ツール呼び出し、レイテンシーに関する OpenTelemetry (OTel) メトリクスを出力します。これらのメトリクスを Amazon CloudWatch に送信すると、Coding Agent Insights ダッシュボードの GitHub Copilot タブに入力されます。ダッシュボードのページの詳細については、「Coding Agent Insights」を参照してください。
Copilot は、OTLP メトリクスを CloudWatch ネイティブ OTLP メトリクスエンドポイントに直接送信し、ベアラートークン (CloudWatch メトリクス API キー) を使用して認証します。OpenTelemetry コレクターは必要ありません。ベアラートークンは現在、Copilot でサポートされているパスです。
注記
このガイドでは、Copilot の OTel メトリクスを CloudWatch に出力する方法のみを説明します。これは、Copilot が推論のためにモデルを呼び出す方法とは無関係です。Copilot はデフォルトで独自のモデルを使用しますが、企業は、Amazon Bedrock など、独自のモデルプロバイダーキーを使用できます。詳細については、GitHub Copilot ドキュメントの「独自の API キーの使用
重要
ベアラートークンは長期的な認証情報です。AWS 外のデベロッパーラップトップなど、短期的な AWS 認証情報が適していない場合にのみお勧めしております。セキュリティのトレードオフとキーローテーションのガイダンスについては、「メトリクスのベアラートークン認証の設定」を参照してください。
前提条件
-
OpenTelemetry メトリクスのエクスポートをサポートしているバージョンの GitHub Copilot がインストールされていること。
-
モデル推論の GitHub Copilot サブスクリプションがアクティブであること。Copilot はデフォルトで独自のモデルを使用します。代わりに Amazon Bedrock を使用するには、GitHub Copilot ドキュメントの「独自の API キーの使用
」の説明に従ってカスタムモデルキーを設定します。 -
CloudWatch メトリクスのアクセス許可がある IAM ユーザーから CloudWatch メトリクス API キー (ベアラートークン) が生成されている。IAM ユーザーを作成してキーを生成する手順については、「メトリクスのベアラートークン認証の設定」を参照してください。
メトリクスエクスポーターの設定
Authorization ヘッダーにベアラートークンを使用して CloudWatch メトリクスエンドポイントにメトリクスを送信するように Copilot の OpenTelemetry エクスポーターを設定します。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=BearerYOUR_API_KEY"
注記
ベアラートークンをシークレットとして扱います。ソースコントロールまたは共有シェルプロファイルにコミットさせないようにし、メトリクスのベアラートークン認証の設定 で説明されているように定期的にキーをローテーションさせます。
ID と組織属性の追加
Coding Agent Insights ダッシュボードは、開発者、チーム、部門、その他の組織ディメンション別に使用状況をグループ化します。OTEL_RESOURCE_ATTRIBUTES 環境変数を使用して、これらを OTel リソース属性として指定します。開発者の ID と組織の構造から値を設定します。
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 に到達したことを確認します。
メトリクスを検証するには
-
Copilot を使用してテレメトリ生成処理を実行します。
-
CloudWatch コンソールで、GenAI Observability、Coding Agent Insights、GitHub Copilot タブの順に選択します。通常は数分以内にメトリクスが表示されます。
-
必要に応じて、PromQL を使用してメトリクスを直接クエリします。詳細については、「PromQL クエリ」を参照してください。