本文說明為何建議您使用 Telemetry (OTLP) API 將追蹤記錄資料傳送至Google Cloud 專案,因為該 API 會實作 OpenTelemetry OTLP 通訊協定。此外,這項服務也提供應用程式檢測指引,以及查看追蹤資料的位置。使用其中一個 OpenTelemetry SDK 檢測應用程式時,或使用 OpenTelemetry Collector 時,您可以使用 Telemetry API。
建議使用 Telemetry API 的原因如下:
這個 API 與開放原始碼 OpenTelemetry 生態系統相容,而且限制通常比 Cloud Trace API 更寬鬆,後者是專有 Google Cloud API
追蹤資料的儲存格式通常與 OpenTelemetry OTLP 通訊協定定義的 proto 檔案一致。部分欄位可能會先從 OpenTelemetry 專屬資料類型轉換為 JSON 資料類型,再進行儲存。如要進一步瞭解儲存格式,請參閱追蹤資料的結構定義。
您的檢測不依賴 Google Cloud專屬的匯出工具。
部分功能 (例如應用程式監控) 只能在您將追蹤資料傳送至 Telemetry API 時使用。
OpenTelemetry 是 Google Cloud支援的開放原始碼專案, Google Cloud有專責工程師確保支援遙測資料的擷取和視覺化。
Google Cloud Observability 會先驗證 Google Cloud 專案是否已啟用 Cloud Trace API,再儲存任何追蹤資料。也就是說,如果停用 Cloud Trace API,Google Cloud Observability 就會捨棄您傳送至 Telemetry API 的追蹤記錄資料。
最佳做法
監測應用程式以將追蹤記錄資料傳送至Google Cloud 專案時,建議您使用匯出工具,將 OTLP 格式的資料寫入 Collector,然後將追蹤記錄資料傳送至 Telemetry API。在收集器中,只指定根網址:
exporters:
otlphttp:
encoding: proto
endpoint: https://telemetry.googleapis.com
OpenTelemetry 會偵測資料類型,並視情況自動附加 /v1/traces、/v1/metrics 或 /v1/logs。詳情請參閱「OTLP/HTTP 要求」。
如需將追蹤或指標資料匯出至 Telemetry API 的範例,請參閱下列文件:
如果無法使用收集器,可以改用含有程序內 OTLP 匯出器的 OpenTelemetry 程式庫,將遙測資料傳送至 Telemetry API。如要瞭解如何直接匯出追蹤資料,請參閱「Cloud Trace exporter to the OTLP endpoint」。
驗證
您必須使用必要憑證設定匯出工具,才能將資料傳送至 Google Cloud 專案。舉例來說,使用收集器時,通常也會使用 googleclientauth 擴充功能,透過 Google 憑證進行驗證。
如需使用直接匯出追蹤資料時的驗證範例,請參閱「設定驗證」。這個範例說明如何使用 Google Cloud 應用程式預設憑證 (ADC) 設定匯出工具,以及如何將特定語言的 Google Auth 程式庫新增至應用程式。
Cloud Trace 和資料落地
如果您因為有資料駐留或影響層級 4 (IL4) 的需求而使用 Assured Workloads,請勿使用 Telemetry API 將追蹤範圍傳送至專案。
查看擷取資料的位置
您可以使用「Trace 探索工具」和「Observability Analytics」頁面查看追蹤記錄資料。詳情請參閱下列文章: