Updated: How to Configure kafka Monitoring with JMX Exporter and Prometheus.

How to Configure kafka Monitoring with JMX Exporter and Prometheus.
Prometheus have been a de-facto standard for kubernetes Monitoring. In this article we'll see how to monitor Kafka workload in kubernetes with JMX Exporter. 

As every Java Application, we need to Monitor application Matrices through JMX exporter. Its a quite a daunting task to achieve this under a Kubernetes cluster Workload. 

I've made Custom Image, which will make the Life Easy of K8S Admins to Monitor Kakfa. You can Pull the Image by below given command.





docker pull manastri/kafkajmxprom:v11

Please do like and share if you find this useful. 


How to use It?

You need to pull the image if you are using docker.

docker pull manastri/kafkajmxprom:v11

If you want to use the image in kubernetes then mention "manastri/kafkajmxprom:v11" in the image section of your yml file. Once this is done you can deploy your yml file. 

Once the Pod is running, then create your topic and start consuming the message. This image will open the Port 7072 for JMX Exporter. To start capturing the TSDB data please configure  your Prometheus.yml.




  - job_name: 'kafka'


    static_configs:


    - targets:


      - kafka01.example.com:7072


      - kafka02.example.com:7072


      - kafka03.example.com:7072




How to Create a Topic:

root@kafka-0:/# kafka-topics.sh --create --topic test --zookeeper kafka-zookeeper:2181 --partitions 3 --replication-factor 1
 Created topic "test".

Then you can configure your grafana to display beautiful Dashboards for your Kafka Data. 




References:

https://medium.com/@danielmrosa/monitoring-kafka-b97d2d5a5434
https://www.robustperception.io/monitoring-kafka-with-prometheus

0 Comments