将 Config Sync 指标发送到自定义监控系统

本页面介绍了如何将指标从 Config Sync 发送到自定义 OpenTelemetry 导出器。

Config Sync 使用 OpenCensus 创建和记录指标,并使用 OpenTelemetry 导出其指标。本页面介绍了如何将这些指标配置为自定义导出器。如需了解导出指标的其他方法,请参阅使用 Cloud Monitoring 监控 Config Sync使用 Prometheus 监控 Config Sync

配置自定义 OpenTelemetry 导出器

如果您要将指标发送到 Prometheus 或 Cloud Monitoring 以外的监控系统,您可以修改 OpenTelemetry 配置。如需查看受支持的监控系统列表,请参阅 OpenTelemetry Collector 导出器OpenTelemetry Collector-Contrib 导出器

OpenTelemetry 监控资源在单独的 config-management-monitoring 命名空间中管理。如需配置自定义 OpenTelemetry 导出器以与 Config Sync 搭配使用,您需要在该 config-management-monitoring 命名空间中创建名为 otel-collector-custom 的 ConfigMap。ConfigMap 应包含 otel-collector-config.yaml 键,并且值应该是自定义 OpenTelemetry 收集器配置的文件内容。如需详细了解配置选项,请参阅 OpenTelemetry 收集器配置文档

以下 ConfigMap 是一个具有自定义日志记录导出器的 ConfigMap 示例:

# otel-collector-custom-cm.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: otel-collector-custom
  namespace: config-management-monitoring
  labels:
    app: opentelemetry
    component: otel-collector
data:
  otel-collector-config.yaml: |
    receivers:
      opencensus:
    exporters:
      logging:
        logLevel: debug
    processors:
      batch:
    extensions:
      health_check:
    service:
      extensions: [health_check]
      pipelines:
        metrics:
          receivers: [opencensus]
          processors: [batch]
          exporters: [logging]

所有自定义配置都必须定义 opencensus 接收器和 metrics 流水线。其余字段均为可选且可配置,但我们建议您添加 batch 处理器和健康检查扩展程序,如示例中所示。

创建 ConfigMap 后,您可以使用 kubectl 创建资源:

kubectl apply -f otel-collector-custom-cm.yaml

OpenTelemetry Collector Deployment 选取此 ConfigMap 并自动重启以应用自定义配置。

限制

将 Config Sync 升级到新版本时,如果您为先前版本创建了 otel-collector-custom ConfigMap,则自定义设置可能与新版本的 Config Sync 不兼容。例如,不同 Config Sync 版本的指标名称、标签和属性可能会发生变化。

如果 Config Sync 指标有变化,会在版本说明中公布。这些更改需要您更新自定义 otel-collector 配置。

由于存在此限制,我们建议您仅将自定义指标配置用作临时的解决方法。如果您发现需要使用某个自定义配置,请提交支持服务工单,以请求日后将该解决方法作为功能或问题修复提供。