14.4. 部署 Prometheus 指标配置


部署 Prometheus 指标配置,以将 Prometheus 与 AMQ Streams 搭配使用。使用 metricsConfig 属性启用和配置 Prometheus 指标。

您可以使用您自己的配置或 AMQ Streams 提供的示例自定义资源配置文件

  • kafka-metrics.yaml
  • kafka-connect-metrics.yaml
  • kafka-mirror-maker-2-metrics.yaml
  • kafka-bridge-metrics.yaml
  • kafka-cruise-control-metrics.yaml

示例配置文件已重新标记规则,以及启用 Prometheus 指标所需的配置。Prometheus 从目标 HTTP 端点中提取指标。示例文件是尝试使用 AMQ Streams 尝试 Prometheus 的好方法。

要应用重新标记规则和指标配置,请执行以下操作之一:

  • 将示例配置复制到您自己的自定义资源中
  • 使用指标配置部署自定义资源

如果要包含 Kafka Exporter 指标,请在 Kafka 资源中添加 kafkaExporter 配置。

重要

Kafka Exporter 仅提供与消费者滞后和消费者偏移相关的额外指标。对于常规 Kafka 指标,您必须在 Kafka 代理 中配置 Prometheus 指标。

此流程演示了如何在 Kafka 资源中部署 Prometheus 指标配置。将示例文件用于其他资源时,该过程相同。

流程

  1. 使用 Prometheus 配置部署示例自定义资源。

    例如,对于应用 kafka-metrics.yaml 文件的每个 Kafka 资源。

    部署示例配置

    oc apply -f kafka-metrics.yaml
    Copy to Clipboard Toggle word wrap

    另外,您可以将 kafka-metrics.yaml 中的示例配置复制到您自己的 Kafka 资源中。

    复制示例配置

    oc edit kafka <kafka-configuration-file>
    Copy to Clipboard Toggle word wrap

    复制 metricsConfig 属性及其引用您的 Kafka 资源的 ConfigMap

    Kafka 的指标配置示例

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: my-cluster
    spec:
      kafka:
        # ...
        metricsConfig: 
    1
    
          type: jmxPrometheusExporter
          valueFrom:
            configMapKeyRef:
              name: kafka-metrics
              key: kafka-metrics-config.yml
    ---
    kind: ConfigMap 
    2
    
    apiVersion: v1
    metadata:
      name: kafka-metrics
      labels:
        app: strimzi
    data:
      kafka-metrics-config.yml: |
      # metrics configuration...
    Copy to Clipboard Toggle word wrap

    1
    复制 metricsConfig 属性,以引用包含指标配置的 ConfigMap。
    2
    复制指定指标配置的整个 ConfigMap
    注意

    对于 Kafka Bridge,您可以指定 enableMetrics 属性并将其设置为 true

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaBridge
    metadata:
      name: my-bridge
    spec:
      # ...
      bootstrapServers: my-cluster-kafka:9092
      http:
        # ...
      enableMetrics: true
      # ...
    Copy to Clipboard Toggle word wrap
  2. 要部署 Kafka Exporter,请添加 kafkaExporter 配置。

    kafkaExporter 配置只在 Kafka 资源中指定。

    部署 Kafka Exporter 的配置示例

    apiVersion: kafka.strimzi.io/v1beta2
    kind: Kafka
    metadata:
      name: my-cluster
    spec:
      # ...
      kafkaExporter:
        image: my-registry.io/my-org/my-exporter-cluster:latest 
    1
    
        groupRegex: ".*" 
    2
    
        topicRegex: ".*" 
    3
    
        resources: 
    4
    
          requests:
            cpu: 200m
            memory: 64Mi
          limits:
            cpu: 500m
            memory: 128Mi
        logging: debug 
    5
    
        enableSaramaLogging: true 
    6
    
        template: 
    7
    
          pod:
            metadata:
              labels:
                label1: value1
            imagePullSecrets:
              - name: my-docker-credentials
            securityContext:
              runAsUser: 1000001
              fsGroup: 0
            terminationGracePeriodSeconds: 120
        readinessProbe: 
    8
    
          initialDelaySeconds: 15
          timeoutSeconds: 5
        livenessProbe: 
    9
    
          initialDelaySeconds: 15
          timeoutSeconds: 5
    # ...
    Copy to Clipboard Toggle word wrap

    1
    ADVANCED OPTION:容器镜像配置,这只在特殊情况下建议使用。
    2
    指定指标中包含的消费者组的正则表达式。
    3
    指定指标中包含的主题的正则表达式。
    4
    要保留的 CPU 和内存资源。
    5
    日志记录配置,以记录具有给定严重性(debug、info、warn、error、fatal)或以上的消息。
    6
    启用 Sarama 日志记录的布尔值,这是 Kafka Exporter 使用的 Go 客户端库。
    7
    自定义部署模板和 pod。
    8
    健康检查就绪度探测。
    9
    健康检查存活度探测。
注意

要使 Kafka Exporter 能够正常工作,消费者组需要使用。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat