JMX Metrics
This page describes how to configure JMX metrics for Connections in Lenses.
JMX
Simple
The same port used for all brokers/workers/nodes. No SSL, no authentication.
kafka:
tags: []
templateName: Kafka
configurationObject:
kafkaBootstrapServers:
- PLAINTEXT://my-kafka-host-0:9092
protocol: PLAINTEXT
metricsPort:
value: 9585
metricsType:
value: JMXSSL
kafka:
tags: []
templateName: Kafka
configurationObject:
kafkaBootstrapServers:
- PLAINTEXT://my-kafka-host-0:9092
protocol: PLAINTEXT
metricsPort:
value: 9585
metricsType:
value: JMX
metricsSsl:
value: trueBasic Auth
kafka:
tags: []
templateName: Kafka
configurationObject:
kafkaBootstrapServers:
- PLAINTEXT://my-kafka-host-0:9092
protocol: PLAINTEXT
metricsPort:
value: 9581
metricsType:
value: JMX
metricsSsl:
value: false
metricsUsername:
value: user
metricsPassword:
value: passSuch a configuration means that the Agent will try to connect using JMX with every pair of kafkaBootstrapServers.host:metricsPort, so following the example: my-kafka-host-0:9581.
Jolokia
For Jolokia the Agent supports two types of requests: GET (JOLOKIAG) and POST (JOLOKIAP).
Simple
The same port used for all brokers/workers/nodes. No SSL, no authentication.
kafka:
tags: []
templateName: Kafka
configurationObject:
kafkaBootstrapServers:
- PLAINTEXT://my-kafka-host-0:9092
protocol: PLAINTEXT
metricsPort:
value: 9585
metricsType:
value: JMX
metricsSsl:
value: false
metricsHttpSuffix:
value: /jolokia/Custom Http Request Timeout
JOLOKIA monitoring works on the top of HTTP protocol. To fetch metrics the Agent has to perform either GET or POST request. There is a way of configuring http request timeout using httpRequestTimeout property (ms value). Its default value is 20 seconds.
httpRequestTimeout:
value: 30000Custom Metrics Http Suffix
Default suffix for Jolokia endpoints is /jolokia/, so that should be provided value. Sometimes that suffix can be different, so there is a way of customizing it by using metricsHttpSuffix field.
metricsHttpSuffix:
value: /custom/AWS
AWS has predefined metrics configuration. The Agent hits the Prometheus endpoint using port 11001 for each broker. There is an option of customizing AWS metrics connection in Lenses by using metricsUsername, metricsPassword, httpRequestTimeout, metricsHttpSuffix, metricsCustomUrlMappings, metricsSsl properties, but most likely no one will need to do that - AWS has its own standard and most probably it won’t change. Customization can be achieved only by API or CLI - UI does not support it.
kafka:
tags: ["optional-tag"]
name: Kafka
configuration:
kafkaBootstrapServers:
value:
- SASL_SSL://your.kafka.broker.0:9098
- SASL_SSL://your.kafka.broker.1:9098
protocol: SASL_SSL
saslMechanism:
value: AWS_MSK_IAM
saslJaasConfig:
value: software.amazon.msk.auth.iam.IAMLoginModule required;
additionalProperties:
value:
sasl.client.callback.handler.class: "software.amazon.msk.auth.iam.IAMClientCallbackHandler"
metricsPort:
value: 9581
metricsType:
value: JMX
metricsSsl:
value: false
metricsCustomUrlMappings:
value:
"my-kafka-host-0:9092": my-kafka-host-0:9582Custom url mapping
There is also a way to configure custom mapping for each broker (Kafka) / node (Schema Registry, Zookeeper) / worker (Kafka Connect).
Such a configuration means that the Agent will try to connect using JMX for:
my-kafka-host-0:9582 - because of
metricsCustomUrlMappingsmy-kafka-host-1:9581 - because of
metricsPortand no entry inmetricsCustomUrlMappings
Last updated
Was this helpful?

