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