第 6 章 为监控堆栈配置指标


作为集群管理员,您可以配置 OpenTelemetry Collector 自定义资源 (CR) 来执行以下任务:

  • 创建 Prometheus ServiceMonitor CR,以提取 Collector 的管道指标并启用 Prometheus exporter。
  • 配置 Prometheus 接收器,以从集群内监控堆栈中提取指标。

6.1. 将指标发送到监控堆栈的配置

您可以配置 OpenTelemetryCollector 自定义资源 (CR),为 sidecar 部署创建 Prometheus ServiceMonitor CR 或 PodMonitor CR。ServiceMonitor 可以提取 Collector 的内部指标端点和 Prometheus exporter 指标端点。

带有 Prometheus exporter 的 OpenTelemetry Collector CR 示例

apiVersion: opentelemetry.io/v1beta1
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:
          exporters: [prometheus]

1
配置红帽构建的 OpenTelemetry Operator,以创建 Prometheus ServiceMonitor CR 或 PodMonitor CR,以提取 Collector 的内部指标端点和 Prometheus exporter 指标端点。
注意

enableMetrics 设置为 true 会创建以下两个 ServiceMonitor 实例:

  • 一个 ServiceMonitor 实例用于 <instance_name>-collector-monitoring 服务。此 ServiceMonitor 实例提取 Collector 的内部指标。
  • 一个 ServiceMonitor 实例用于 <instance_name>-collector 服务。此 ServiceMonitor 实例提取 Prometheus exporter 实例公开的指标。

另外,手动创建 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

1
OpenTelemetry Collector CR 的名称。
2
OpenTelemetry Collector 的内部指标端口的名称。此端口名称始终是 metrics
3
OpenTelemetry Collector 的 Prometheus exporter 端口的名称。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.