You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在自定义KafkaConnect插件中暴露Prometheus指标的方案咨询

解决Strimzi 0.35.1 Kafka Connect自定义连接器暴露Prometheus指标的问题

方案1:利用Strimzi原生JMX Exporter集成(最直接)

Strimzi 0.35.1的Kafka Connect默认支持通过JMX Exporter将JMX指标转为Prometheus可抓取的格式,这是最贴合原生体系的方案,无需额外端口或镜像改造:

  • 先确保你的自定义连接器将指标通过JMX MBean暴露(比如用io.prometheus.jmx.JmxCollector注解或代码逻辑实现JMX指标输出)
  • 在KafkaConnect CR中启用Prometheus监控:
    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaConnect
    metadata:
      name: my-connect-cluster
    spec:
      metrics:
        prometheus:
          enabled: true
      # 保留你原有其他配置(如镜像、副本数、连接器配置等)
    
  • 部署后,Strimzi会自动为Connect Pod配置JMX Exporter,将JMX指标转换成HTTP端点(默认路径/metrics),Prometheus可通过Kubernetes Service发现自动抓取这些指标

方案2:自定义Connect镜像+声明额外端口(适合直接HTTP暴露指标的场景)

如果你的连接器必须通过HTTP直接暴露Prometheus指标,可通过自定义镜像+CR中声明额外端口实现:

  1. 构建自定义Kafka Connect镜像,将你的连接器和Prometheus Java客户端依赖打包进去,在连接器代码中启动HTTP指标服务(比如绑定9999端口)
  2. 在KafkaConnect CR中添加端口声明,绕过Strimzi默认CRD的端口限制:
    spec:
      template:
        pod:
          containers:
            - name: connect
              ports:
                - name: custom-metrics
                  containerPort: 9999
                  protocol: TCP
      # 其他原有配置...
    
  3. 配置Prometheus通过Kubernetes Service抓取9999端口的指标,可通过修改原有Connect Service或创建新Service暴露该端口

方案3:自定义JMX Exporter采集规则(适配自定义指标)

如果需要针对自定义连接器的JMX指标做更精细的采集控制,可通过Strimzi的metrics.custom配置扩展:

  1. 创建ConfigMap存储自定义JMX Exporter规则,比如:
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: custom-jmx-exporter-config
    data:
      config.yaml: |-
        rules:
          - pattern: 'my.custom.connector<type=(.*), name=(.*)><>(.*):'
            name: 'kafka_connect_custom_$1_$3'
            labels:
              connector: '$2'
    
  2. 在KafkaConnect CR中引用该ConfigMap:
    spec:
      metrics:
        prometheus:
          enabled: true
          configMapRef:
            name: custom-jmx-exporter-config
      # 其他原有配置...
    

注意事项

  • 优先选择方案1,完全适配Strimzi原生监控,避免额外维护成本
  • 方案2需要自定义镜像,需注意Strimzi的Pod安全策略是否允许添加自定义端口
  • Pushgateway会引入指标持久化、标签基数膨胀等问题,不推荐作为首选方案

内容的提问来源于stack exchange,提问作者code-gorilla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 03:37:43