使用 Telemetry API

本文說明如何設定 Ops Agent,以使用 Telemetry (OTLP) APItelemetry.googleapis.com。Telemetry API 是開放原始碼 OpenTelemetry Line Protocol 的實作項目。啟用這項功能後,Ops Agent 會使用 Telemetry API,而非專屬的 Cloud Monitoring API 和 Cloud Logging API,將記錄和指標傳送至您的 Google Cloud 專案。

如果您在 Ops Agent 中採用 Telemetry API,並有圖表或快訊政策監控 API 使用情形,就必須更新這些構件,監控 telemetry.googleapis.com 端點,而非 monitoring.googleapis.comlogging.googleapis.com 端點。

事前準備

如要使用 Telemetry API,請按照下列步驟操作:

  1. 如果專案尚未啟用 Telemetry API,請啟用。 Google Cloud 您可以執行下列指令來啟用 API:

    gcloud services enable telemetry.googleapis.com
    
  2. 如果預設值不足,請調整 Telemetry API 配額。Telemetry API 的配額與 Cloud Monitoring API 和 Cloud Logging API 的配額不同。如要瞭解 Telemetry API 的配額和限制,請參閱下列內容:

    您可能需要調整這些配額,以配合擷取的遙測資料量。

設定 Ops Agent 以使用 Telemetry API

在預先發布期間,Ops Agent 使用 Telemetry API 時,會受到環境變數 EXPERIMENTAL_FEATURES 控制。如要使用 Ops Agent 和 Telemetry API 收集遙測資料,請按照下列各節說明,完成下列步驟:

  1. 安裝支援 Telemetry API 的 Ops Agent 版本。
  2. 設定 EXPERIMENTAL_FEATURES 環境變數。
  3. 重新啟動 Ops Agent,即可擷取變更。

使用 Ops Agent 2.66.0 以上版本

如要搭配使用 Telemetry API 與 Ops Agent,請務必安裝 2.66.0 以上版本的 Ops Agent。如要瞭解如何安裝 Ops Agent,請參閱「在個別 VM 中安裝 Ops Agent」。

設定環境變數

EXPERIMENTAL_FEATURES 環境變數設為 otlp_exporter 值,讓 Ops Agent 存取 Telemetry API,如下列分頁所示:

Linux

如要修改 Ops Agent 的環境,請在執行個體上執行下列指令:

for service in \
        google-cloud-ops-agent \
        google-cloud-ops-agent-fluent-bit \
        google-cloud-ops-agent-opentelemetry-collector \
        ; do
        sudo mkdir -p "/etc/systemd/system/${service}.service.d"
        echo -e '[Service]\nEnvironment="EXPERIMENTAL_FEATURES=otlp_exporter"' | sudo tee "/etc/systemd/system/${service}.service.d/otlp_exporter.conf"
done
sudo systemctl daemon-reload

Windows

如要修改 Ops Agent 的環境,請按照下列步驟操作:

  1. 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。
  2. 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,以管理員權限開啟 PowerShell 終端機。
  3. 執行下列 PowerShell 指令,設定 EXPERIMENTAL_FEATURES 環境變數:
    setx EXPERIMENTAL_FEATURES "otlp_exporter" /M
    

重新啟動 Ops Agent

Linux

  1. 如要重新啟動代理程式,請在執行個體上執行下列指令:
    sudo systemctl restart google-cloud-ops-agent
    
  2. 如要確定代理程式已重新啟動,請執行下列指令,並驗證「指標代理程式」和「Logging 代理程式」元件是否已啟動:
    sudo systemctl status "google-cloud-ops-agent*"
    

Windows

  1. 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。
  2. 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,以管理員權限開啟 PowerShell 終端機。
  3. 如要重新啟動代理程式,請執行下列 PowerShell 指令:
    Restart-Service google-cloud-ops-agent -Force
    
  4. 如要確定代理程式已重新啟動,請執行下列指令,並驗證「指標代理程式」和「Logging 代理程式」元件是否已啟動:
    Get-Service google-cloud-ops-agent*
    

設定 Ops Agent,使其不使用 Telemetry API

如要使用 Telemetry API 停止收集遙測資料,並使用 Cloud Monitoring API 和 Cloud Logging API 繼續收集遙測資料,請按照下列步驟操作:

  1. 取消設定 EXPERIMENTAL_FEATURES 環境變數。

    Linux

    如要修改 Ops Agent 的環境,請在執行個體上執行下列指令:

    sudo find /etc/systemd/system -name otlp_exporter.conf | sudo xargs rm
    sudo systemctl daemon-reload
    

    Windows

    如要修改 Ops Agent 的環境,請按照下列步驟操作:

    1. 使用遠端桌面協定或類似工具連線至執行個體,並登入 Windows。
    2. 以滑鼠右鍵按一下 PowerShell 圖示,然後選取「以系統管理員身分執行」,以管理員權限開啟 PowerShell 終端機。
    3. 執行下列 PowerShell 指令,移除 EXPERIMENTAL_FEATURES 環境變數:
      REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V EXPERIMENTAL_FEATURES
      
  2. 重新啟動 Ops Agent,即可擷取變更。

後續步驟