本文說明如何使用 Cloud Trace 和遙測政策搭配 Secure Web Proxy,診斷及解決分散式追蹤問題。
Trace 中未顯示行跡
如果 Secure Web Proxy 產生的追蹤記錄時距未顯示在追蹤記錄探索器中,請檢查下列項目:
確認已啟用 Cloud Trace API:請確認在代管 Secure Web Proxy 閘道的Google Cloud 專案中,已啟用 Trace API (
cloudtrace.googleapis.com)。<pre class="devsite-click-to-copy"> gcloud services enable cloudtrace.googleapis.com </pre>確認遙測政策存在且處於啟用狀態:使用
gcloud beta network-services telemetry-policies describe指令,確認遙測政策位於正確的區域,並參照適當的 Secure Web Proxy 閘道:gcloud beta network-services telemetry-policies describe POLICY_NAME \ --location=REGION更改下列內容:
POLICY_NAME:遙測政策名稱,例如my-swp-tracing-policyREGION:部署遙測政策的區域,例如us-central1
檢查取樣率:如果政策的
samplingRate較低 (例如 1% 的0.01或 0.1% 的0.001),系統可能不會對個別手動測試要求取樣。如要確認追蹤功能是否正常運作,請暫時將政策更新為使用 100% 取樣 (samplingRate: 1.00),然後還原生產率。驗證目標閘道資源 URI:確認遙測政策中的
telemetryTarget.resources欄位是否指定 Secure Web Proxy 閘道的確切完整資源 URL 或簡稱。//networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME
更改下列內容:
PROJECT_ID: Google Cloud 專案的 IDREGION:部署 Secure Web Proxy 閘道的區域,例如us-central1GATEWAY_NAME:Secure Web Proxy 閘道執行個體的名稱
如果專案 ID、區域或閘道名稱不符,Proxy 就無法接收政策設定。
檢查 Identity and Access Management (IAM) 權限:
- 請確認您已將 Cloud Trace 使用者角色 (
roles/cloudtrace.user) 授予使用者帳戶或服務帳戶,以便在 Google Cloud 控制台中查看範圍。 - 請確認您已將 Cloud Trace 代理人角色 (
roles/cloudtrace.agent) 授予下列服務帳戶:service-PROJECT_NUMBER@compute-system.service-PROJECT_NUMBER@gcp-sa-networksecurity.- 用戶端虛擬機器 (VM) 服務帳戶 (如果用戶端應用程式產生或傳播 span)
- 請確認您已將 Cloud Trace 使用者角色 (
缺少子範圍或追蹤圖表損毀
如果 Secure Web Proxy Proxy 範圍顯示為獨立或中斷的根追蹤記錄,而非應用程式要求的子範圍,請按照下列步驟操作:
啟用以父項為準的取樣:在遙測政策 YAML 檔案中,確認
parentBasedSampling.enabled已設為true。tracingConfiguration: samplingRate: 0.01 parentBasedSampling: enabled: true如果停用以父項為準的取樣,Secure Web Proxy 可能會捨棄上游取樣的追蹤記錄,因為這些記錄與本機
samplingRate不符。檢查 OpenTelemetry 檢測:確認應用程式使用的 OpenTelemetry SDK 已啟用分散式追蹤內容傳播功能。詳情請參閱 OpenTelemetry TraceContext 傳播器說明文件。
追蹤記錄擷取量異常偏高
如果發現 Trace 的追蹤記錄擷取量或費用高於預期,請採取下列行動:
- 降低基準取樣率:在高流量的正式環境中,請將
samplingRate設為較小的比例,例如0.01(1%) 或0.001(0.1%)。 - 採用以父項為準的取樣方式:將閘道基準保持在
samplingRate低點,並啟用parentBasedSampling。這項組合可確保 Proxy 只會對上游應用程式特別選取的要求進行取樣。 - 移除暫時的偵錯政策:如果在疑難排解期間套用了 100% 取樣 (
samplingRate: 1.00),請在偵錯程序完成後移除政策,或還原先前的設定。