apache-kafkajmx-exporter

Jmx_exporter kafka config example question


Im looking at the example config for kafka in the official jmx_exporter repo

https://github.com/prometheus/jmx_exporter/blob/master/example_configs/kafka-2_0_0.yml

as well as the one from Kafka

https://github.com/confluentinc/cp-helm-charts/blob/master/charts/cp-kafka/templates/jmx-configmap.yaml

We can see things like

- pattern : kafka.server<type=ReplicaManager, name=(.+)><>(Value|OneMinuteRate)
  name: "cp_kafka_server_replicamanager_$1"
- pattern : kafka.controller<type=KafkaController, name=(.+)><>Value
  name: "cp_kafka_controller_kafkacontroller_$1"
- pattern : kafka.server<type=BrokerTopicMetrics, name=(.+)><>OneMinuteRate
  name: "cp_kafka_server_brokertopicmetrics_$1"

My question concern Value, is it the name of an attribute that can be found on those Means identified by the following patterns kafka.server<type=ReplicaManager, name=(.+)>

I would imagine that OneMinuteRate is one. Although i could not find it in the list of metrics provided by Confluent: https://docs.confluent.io/current/kafka/monitoring.html. My guess was that, that metrics comes from an old version of kafka.

Hence, could someone let me know what Value is ?

Also, is there a place where i could find the official complete list of Kafka Mbeans ...


Solution

  • These metrics exist and are valid.

    Value is one of the attributes of the kafka.server<type=ReplicaManager, name=(.+)> MBean when name is AtMinIsrPartitionCount for example.

    OneMinuteRate is also a possible attribute on some of the names, for example when name is FailedIsrUpdatesPerSec.

    The best way to find all these names is to use jsoncole. Upon starting, attach to the Kafka process and you can explore all the MBeans and find all attributes.