這是 AWS CDK v2 開發人員指南。較舊的 CDK v1 已於 2022 年 6 月 1 日進入維護,並於 2023 年 6 月 1 日結束支援。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 AWS CDK CLI 遙測
什麼是 CDK CLI 遙測?
重要
AWS CDK CLI 遙測僅在 AWS CDK CLI 2.1100.0 版及更新版本中收集。
AWS 雲端開發套件 (AWS CDK) 會收集 CLI 用量的遙測資料,以提供彙總用量模式和錯誤頻率,協助我們識別影響 CDK CLI 使用者群的廣泛問題。
根據預設,客戶可以選擇加入 CLI 遙測資料收集。您可以使用下列方法選擇退出 CDK CLI 遙測。
AWS CDK 會收集嚴格資料最小化的遙測資料,防止識別或歸因於特定使用者、帳戶或組織。預設收集的指標完整清單,原因如下。不會收集進一步的遙測或指標。
請注意,我們目前未收集錯誤訊息、堆疊追蹤和日誌,而且在明確選擇加入下,此資料收集將在未來的 CDK CLI 版本中提供。如需這些指標的詳細資訊,請參閱 資料表。
正在收集的資料如下:
| 指標 | Description | Reason | 範例 |
|---|---|---|---|
|
CDK CLI 版本 |
CLI 版本 (x.y.z) |
收集這些資訊將有助於我們將資料依版本進行分組,這有助於我們識別有問題的版本。 |
"2.1100.0" |
|
安裝 ID |
隨機 UUID 存放在執行 CLI 命令的本機電腦上 |
這有助於我們估計受到錯誤影響的不同使用者數量。每個唯一機器都會有自己的安裝 ID,透過 UUID V4 隨機產生。 |
"881d3281-2811-4c86-b7b6-4a8a621cf6f2" |
|
工作階段 ID |
在每個 CLI 命令調用上產生的隨機 UUID |
這有助於我們識別來自相同命令的所有事件。 |
"c47e3d55-bc20-406b-a02a-e0285dd63230" |
|
事件 ID |
工作階段 ID 加上計數器 |
這會為工作階段中的每個事件建立唯一識別符。 |
"c47e3d55-bc20-406b-a02a-e0285dd63230:0" |
|
區域 |
AWS 區域 |
這將有助於我們將資料劃分為區域特定問題。 |
"us-east-1" |
|
時間戳記 |
資料傳送到遙測端點的時間 (由用戶端產生) |
這將有助於我們產生時間序列圖表。 |
"2025-12-12T00:00:00.000Z" |
|
事件狀態 |
事件的「結果」。可能的值為 'SUCCESS'、'FAILURE'、'ABORTED' |
這將有助於我們追蹤每個 CLI 命令的錯誤率,並在客戶回報潛在迴歸之前提醒我們。 |
"SUCCESS" |
|
事件類型 |
產生資料的 事件類型的識別符 |
這是一個列舉,可識別由於命令執行中可能有多個事件而轉換的事件類型。 |
"SYNTH" |
|
命令路徑 |
輸入 CLI 的命令和屬性,並修訂任何任意文字 |
除了命令參數之外,此資訊也有助於判斷已轉換事件的行為,這有助於我們識別發生問題的爆量半徑和原因。 |
["cdk", "deploy", "$STACK1"] |
|
命令參數 |
輸入 CLI 的選用參數,並修訂任何任意文字 |
除了命令路徑之外,此資訊也有助於判斷已轉換之事件的行為,這有助於我們識別爆量半徑和引發問題的原因。 |
{
all: true,
concurrency: 4
}
|
|
Configuration |
可能影響 CLI 命令的其他參數 (即 cdk.context.json 或 |
這將有助於我們提供可能影響 CLI 行為之所有可能參數的完整檢視,以促進偵錯。 |
{ context: { "@aws-cdk/core:explicitStackTags": true } } |
|
作業系統 |
正在使用的作業系統 |
這將有助於我們偵錯僅影響特定作業系統的問題。 |
{
platform: "linux",
release: "5.15.0-1019-aws",
}
|
|
CI/CD |
是否從 CI/CD 環境叫用 CLI 命令 |
這將有助於我們識別 CI/CD 環境特有的問題。 |
false |
|
節點版本 |
環境中使用的節點版本 |
這將有助於我們偵錯出現的任何節點特定問題。 |
"v22.0.0" |
|
持續時間 |
事件的長度,以毫秒為單位 |
這有助於我們注意到特定事件需要多長時間的模式。 |
{ total: 300 }
|
|
計數器 |
衍生自 CDK 應用程式和 CLI 執行的各種計數器指標 |
我們將監控計數統計資料,例如 (但不限於) CFN 資源計數如何影響部署持續時間。 |
{
resourceCount: 25,
errorCount: 0,
warningCount: 2,
}
|
|
相依性 |
相關的 AWS 相依性及其版本 |
我們計劃追蹤可能影響 CLI 結果的 AWS 相依性,例如 aws-cdk-lib、jsii、projen 等。我們只會收集特定 AWS 擁有程式庫的相依性。 |
[{ "aws-cdk-lib": "2.232.0"}]
|
|
錯誤名稱 |
發生錯誤時的錯誤名稱。 |
我們只會記錄我們控制的錯誤名稱,這有助於識別重複發生的錯誤類型。 |
"ToolkitError" |
|
下列指標需要明確選擇加入,目前尚未收集: |
|||
|
錯誤訊息 |
如果發生錯誤,則傳回錯誤訊息。自由格式文字已修訂 |
【需要選擇加入】 擷取錯誤訊息有助於我們以更高的速率彙總遇到錯誤的資料,並協助我們偵錯個別使用案例中發生的錯誤。 |
目前未收集 |
|
錯誤堆疊追蹤 |
發生錯誤時,錯誤訊息的堆疊追蹤。自由格式文字已修訂 |
【需要選擇加入】 堆疊追蹤有助於個別偵錯目的,而且對於我們能夠重現可能發生的問題是必要的。 |
目前未收集 |
|
錯誤日誌 |
如果發生錯誤,則會記錄失敗的 CLI 命令。自由格式文字已修訂 |
【需要選擇加入】 錯誤日誌也會協助我們偵錯和重現我們在 CLI 中看到的問題。 |
目前未收集 |
如何選擇退出 CDK CLI 遙測
若要根據內容值和環境變數檢視您目前的遙測狀態,請執行下列命令:
cdk cli-telemetry --status
使用內容值選擇退出
如果各種來源的內容值發生衝突,CDK 會使用下列優先順序。
-
使用 CDK CLI 命令搭配
--context選項指定的內容值 -
cdk.json 中的內容值
-
cdk.context.json 中的內容值
-
~/.cdk.json 中的內容值
使用 CDK CLI 命令選擇退出
執行下列 CDK CLI 命令以停用遙測:
cdk cli-telemetry --disable
執行此命令會將 動作記錄到您的本機cdk.context.json檔案,並僅適用於目前的 CDK 應用程式。
使用應用程式組態檔案選擇退出
在應用程式的 cdk.json cli-telemetry: false檔案中設定 。這會停用應用程式的遙測。
使用全域組態檔案選擇退出
cli-telemetry: false 在 ~/.cdk.json 檔案中設定 ,以停用相同電腦上所有 CDK 應用程式的遙測。您必須在內容元素內指定此設定,如下所示:
{ "context": { "cli-telemetry": false } }
使用環境變數選擇退出
將CDK_DISABLE_CLI_TELEMETRY環境變數設定為 true,在該環境中停用 CLI 遙測。
CDK_DISABLE_CLI_TELEMETRY=true
此環境變數的值會優先於已設定的任何內容值。
提示
將此環境變數新增至 shell 啟動檔案,例如 .bashrc,以在每次開啟終端機視窗時停用遙測。
使用 DNS 篩選選擇退出
遙測端點為 cdk-cli-telemetry.us-east-1.api.aws/metrics。在防火牆中封鎖此網域名稱會停用 CLI 遙測,且不會影響 CDK CLI 功能。
選擇退出所有用量資料報告
若要選擇退出單一命令的所有用量資料報告,請使用--no-version-reporting全域 CLI 選項。此選項會同時關閉應用程式用量資料收集和 CDK CLI 遙測。
如果您目前使用 --no-version-reporting選項選擇退出應用程式用量資料收集,則無論內容值為何,您都會自動選擇退出該特定命令執行的 CDK CLI 遙測。
注意
如果您在analyticsReporting堆疊層級設定 ,其優先順序會高於僅收集應用程式用量資料--no-version-reporting的選項。
將遙測資料傳送至本機檔案
如果您選擇繼續選擇使用 CDK CLI 遙測,您可以選擇將遙測資料傳送至本機檔案。然後,您可以檢閱 檔案來稽核我們收集的遙測資料。
在任何 CDK CLI 命令上使用下列選項,將遙測資料傳送至本機檔案:
注意
如果您使用的 AWS CDK CLI 版本低於 2.1100.0,您必須指定 --unstable=telemetry與 --telemetry-file。
--telemetry-file='path/to/local/file'
例如,此deploy命令會將遙測資料傳送至本機檔案:
cdk deploy --telemetry-file='path/to/local/file'