第 6 章 为监控堆栈配置指标
作为集群管理员,您可以配置 OpenTelemetry Collector 自定义资源 (CR) 来执行以下任务:
-
创建 Prometheus
ServiceMonitor
CR,以提取 Collector 的管道指标并启用 Prometheus exporter。 - 配置 Prometheus 接收器,以从集群内监控堆栈中提取指标。
6.1. 将指标发送到监控堆栈的配置
以下两个自定义资源 (CR) 之一配置指标发送到监控堆栈:
- OpenTelemetry Collector CR
-
Prometheus
PodMonitor
CR
配置的 OpenTelemetry Collector CR 可以创建 Prometheus ServiceMonitor
CR,以提取 Collector 的管道指标并启用 Prometheus exporter。
带有 Prometheus exporter 的 OpenTelemetry Collector CR 示例
apiVersion: opentelemetry.io/v1alpha1
kind: OpenTelemetryCollector
spec:
mode: deployment
observability:
metrics:
enableMetrics: true 1
config: |
exporters:
prometheus:
endpoint: 0.0.0.0:8889
resource_to_telemetry_conversion:
enabled: true # by default resource attributes are dropped
service:
telemetry:
metrics:
address: ":8888"
pipelines:
metrics:
receivers: [otlp]
exporters: [prometheus]
- 1
- 配置 Operator,以创建 Prometheus
ServiceMonitor
CR,以提取收集器的内部指标端点和 Prometheus exporter 指标端点。指标将存储在 OpenShift 监控堆栈中。
另外,手动创建 Prometheus PodMonitor
CR 可以提供精细的控制,例如删除 Prometheus 提取过程中添加的重复标签。
配置监控堆栈以提取 Collector 指标的 PodMonitor
CR 示例
apiVersion: monitoring.coreos.com/v1 kind: PodMonitor metadata: name: otel-collector spec: selector: matchLabels: app.kubernetes.io/name: <cr_name>-collector 1 podMetricsEndpoints: - port: metrics 2 - port: promexporter 3 relabelings: - action: labeldrop regex: pod - action: labeldrop regex: container - action: labeldrop regex: endpoint metricRelabelings: - action: labeldrop regex: instance - action: labeldrop regex: job