使用 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. 在 Google Cloud 项目中启用 Telemetry API(如果尚未启用)。您可以运行以下命令来启用该 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 搭配使用,您必须安装 Ops Agent 2.66.0 版或更高版本。 如需了解如何安装 Ops Agent,请参阅在单个虚拟机上安装 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. 使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。
  2. 右键点击 PowerShell 图标并选择 Run as Administrator,以管理员权限打开 PowerShell 终端
  3. 运行以下 PowerShell 命令,设置 EXPERIMENTAL_FEATURES 环境变量:
    setx EXPERIMENTAL_FEATURES "otlp_exporter" /M
    

重启 Ops Agent

Linux

  1. 要重启代理,请在您的实例上运行以下命令:
    sudo systemctl restart google-cloud-ops-agent
    
  2. 如需确认代理已重启,请运行以下命令并验证“Metrics Agent”和“Logging Agent”组件是否已启动:
    sudo systemctl status "google-cloud-ops-agent*"
    

Windows

  1. 使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。
  2. 右键点击 PowerShell 图标并选择 Run as Administrator,以管理员权限打开 PowerShell 终端
  3. 如需重启代理,请运行以下 PowerShell 命令:
    Restart-Service google-cloud-ops-agent -Force
    
  4. 如需确认代理已重启,请运行以下命令并验证“Metrics Agent”和“Logging Agent”组件是否已启动:
    Get-Service google-cloud-ops-agent*
    

将 Ops Agent 配置为不使用 Telemetry API

如需停止 Ops Agent 使用 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. 使用 RDP 或类似工具连接到您的实例,然后登录到 Windows。
    2. 右键点击 PowerShell 图标并选择 Run as Administrator,以管理员权限打开 PowerShell 终端
    3. 运行以下 PowerShell 命令,移除 EXPERIMENTAL_FEATURES 环境变量:
      REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V EXPERIMENTAL_FEATURES
      
  2. 重启 Ops Agent 以使更改生效。

后续步骤