


Running the exporter as a Java Agent is thus strongly encouraged. It can also be run as an independent HTTP server and scrape remote JMX targets, but this comes with various disadvantages, such as it being harder to configure and it being unable to expose process metrics (e.g., memory and CPU usage). It runs as a Java Agent, exposing an HTTP server and serving metrics of the local JVM. They’ve written a collector that can configurably scrape and expose the mBeans of a JMX target. The folks at Prometheus have a nice solution to all of the above. Also, you’ll have to run a new JVM to collect the available information through JMX and secure the channel somehow. This opens up some options for monitoring, but at the same time raises some questions (for example, about security). The snippet from our deployment descriptor, which installs the Kafka Helm chart with JMX enabled, looks like this: Using existing tools 🔗︎Īpache Kafka deployments on Kubernetes expose JMX interfaces to interact with. Below you will find examples of using the File Connector and JDBC Connector. There are a couple of supported connectors built upon Kafka Connect, which also are part of the Confluent Platform. Based on these metrics, we can optimize settings for memory usage, threads, or even by using exposed setters through MBeans. Kafka Connect is an open source import and export framework shipped with the Confluent Platform.

The simplest way to collect information is through JMX, where metrics about the state of the JVM, CPU, Memory, and GC are already available. It’s quite common for Java applications to monitor the JVM itself, since applications do not have a built-in monitoring component. For further details please read this post. Note that we have removed Zookeeper from Kafka and we use Etcd instead. This post is about getting into the nitty-gritty of your available options, and exploring some examples of monitoring solutions. We have centralized the monitoring of multiple large Kafka clusters with federated Prometheus on Kubernetes. One of the most popular frameworks we deploy to Kubernetes at scale, and one that we love, is Apache Kafka. The clusters, applications or frameworks are all managed by our next generation PaaS, Pipeline. Monitoring Spark with Prometheus, reloadedĪt Banzai Cloud we provision and monitor large Kubernetes clusters deployed to multiple cloud/hybrid environments, using Prometheus. Monitoring multiple federated clusters with Prometheus - the secure wayĪpplication monitoring with Prometheus and Pipelineīuilding a cloud cost management system on top of Prometheus
