启用了 HTTP 代理转发的 OpenTelemetry 收集器

启用 HTTP 代理转发时,您需要创建单一点,供多台机器向外部服务器发送请求。如果您使用公司代理或防火墙,Apigee 可能无法使用其默认设置将指标发送到 Cloud Monitoring。您可以直接在 OpenTelemetry 收集器中设置和修改设置,使其请求可以通过代理服务器。

本主题介绍了如何使用以下三个可用的环境变量之一配置 OpenTelemetry 收集器设置:

  • NO_PROXY:接受其流量不应通过 HTTP 代理的主机名或 IP 地址的列表。
  • HTTP_PROXY:接受其服务器用于 HTTP 连接的代理的网址。
  • HTTPS_PROXY:接受其服务器用于 HTTPS 连接的代理的网址。

配置 OpenTelemetry 收集器设置

您可以使用 overrides.yaml 中的 metrics.collector.EnvVars 属性配置 OpenTelemetry 收集器设置,以使用 HTTP 代理转发。metrics.collector.EnvVars 属性允许您传入 OpenTelemetry 支持的环境变量。如需了解详情,请参阅 OpenTelemetry 文档中的代理支持

您可以将以下值用于 metrics.collector.EnvVars 属性:

  • 对于 http 代理:
    metrics:
    ...
    collector:
      EnvVars:
        HTTP_PROXY: '<proxy-address>'

    例如:

      EnvVars:
        HTTP_PROXY: 'http://1.1.1.1:80'
  • 对于 https 代理:
    metrics:
    ...
    collector:
      EnvVars:
        HTTPS_PROXY: '<proxy-address>'

    例如:

      EnvVars:
        HTTPS_PROXY: 'https://1.1.1.1:80'
  • 对于不得使用代理的地址:
    metrics:
    ...
    collector:
      EnvVars:
        NO_PROXY: '<comma-separated-values>'

    例如:

      EnvVars:
        NO_PROXY: 'http://1.1.1.1:80, http://1.1.1.1:81'

应用更改

使用以下命令通过 apigee-telemetry 图表应用更改:

helm upgrade telemetry apigee-telemetry/ \
  --namespace APIGEE_NAMESPACE \
  --atomic \
  -f OVERRIDES_FILE

后续步骤