Lenses monitors in real-time your Streaming Data Platform and your Kafka cluster and will raise alerts for any significant metric degradation, such as consumer lag, offline or under-replicated partitions and producer SLAs. However, it does not store the metrics for historical analysis.
Lenses integrates with Prometheus and Grafana to export, store and visualize metrics for your cluster and applications.
Lenses ships with a set of pre-defined templates, that use
Log in with your client credentials.
This is the secure area account that you get with Lenses when you sign up. Contact your account representative if you don’t have them already.
Download the suite package:
lenses-monitoring-suite-vX.Y.Z.tar.gz
Extract the package:
tar -xvf lenses-monitoring-suite-vX.Y.Z.tar.gz
The directory structure is:
lenses_monitoring ├── grafana/ <- Grafana dashboards here ├── jmx_exporter/ <- fastdata_server.jar exporter here ├── LICENCE.txt ├── prometheus/ <- Prometheus configuration here └── README.md <- Installation instructions here
Find the detailed instructions in the README.md.
README.md
There are 3 components:
grafana/
jmx_exporter/
prometheus/
To use the Lenses Grafana dashboard configure the Prometheus JMX exporter with the configuration files located in your client area along with a packaged export jars. The following are available for each service:
Start the exporter in server mode:
java -jar /path/to/fastdata_server.jar [PORT] [CONF_FILE]
Where [PORT] is the listening port for scrape requests from Prometheus and [CONF_FILE] the configuration file.
To run as a Java agent, add the following to the environment variables controlling JMX for each service:
Kafka Broker
export KAFKA_OPTS="$KAFKA_OPTS -javaagent:/path/to/fastdata_agent.jar=[PORT]:/path/to/broker.yml"
Kafka Connect
export KAFKA_OPTS="$KAFKA_OPTS -javaagent:/path/to/fastdata_agent.jar=[PORT]:/path/to/connect-worker.yml"
Lenses
export LENSES_OPTS="$LENSES_OPTS -javaagent:/path/to/fastdata_agent.jar=[PORT]:/path/to/client.yml"
Schema Registry
export SCHEMA_REGISTRY_OPTS="$SCHEMA_REGISTRY_OPTS -javaagent:/path/to/fastdata_agent.jar=[PORT]:/path/to/schema-registry.yml"
Prometheus can be used to poll metric information from infrastructure services.
Some important metrics, such as consumer lag are not exposed by Kafka. Lenses provides a metrics API available at http://lenseshost:port/metrics to be added to the Prometheus targets in order to bring in additional critical monitoring information. Authentication is not required, so that Prometheus can freely poll this API.
GET /metrics
The response is a List of prometheus entries, for the consumer lag per partition and the aggregated lag per topic.
lenses_partition_consumer_lag{topic="iot_data",partition="3",consumerGroup="my.group.a"} 537 lenses_topic_consumer_lag{topic="iot_data",consumerGroup="my.group.a"} 4176
A 360-degree of the key metrics of your Kafka cluster is curated into a single template that allows time travel between the past 60 days (by default) of key metrics and pro-actively receives alerts and notifications when your streaming platform is under pressure or signals of partial failures appear.
These are operational metrics from your JVM-based Kafka applications. You can use it to monitor system resources’ performance and usage to detect issues at an early stage. It provides full access to how JVM apps and the Garbage Collector behaves, as well as to open file descriptors and other critical aspects of your applications.
On this page