Lenses is available in a number of different deployment options from linux archive to Kubernetes. Installation is straightforward but the approach differs based on your Apache Kafka.
For more advanced installs:
Lenses is architected to enable different teams and engineers to work with data in real-time and create applications and flows. Security and governance are built-in components to enable developers and admins to create secure workspaces and automations.
The diagram gives a high-level overview of the logical components.
At the core of Lenses, we have:
Lenses is a JVM application, written in Scala and exposes secure restful APIs and websockets in addition to providing a user interface.
The UI, developed in React, is served by Akka built-in HTTP webserver.
Lenses requires the following for a setup:
Any version of Apache Kafka (2.0 or newer) on-premise and on-cloud.
For performance and health monitoring, optionally
enable JMX metrics.
Run on any Linux server (review
container technology (docker/kubernetes). For RHEL 6.x and CentOS 6.x use docker.
Linux machines typically have a soft limit of 1024 open file descriptors.
Check your current limit with the ulimit command:
ulimit -S -n # soft limit
ulimit -H -n # hard limit
Increase as a super-user the soft limit to 4096 with:
ulimit -S -n 4096
Use 6GB RAM/4 CPUs and 500MB disk space.
All recent versions of major browsers are fully supported.
Every action in Lenses is backed by an API or websocket, documented at https://api.lenses.io. A Golang client is available and CLI (command line interface).
Lenses can use an embedded H2 database or a Postgres database. Postgres is not supplied by Lenses.
Connectivity to JMX is optional (not required) but recommended for additional/enhanced monitoring of the Kafka Brokers and Connect Workers. Secure JMX connections are also supported, as well as JOLOKIA and OpenMetrics (MSK).
By default, Lenses does not provide TLS termination but can be enabled via a configuration option. TLS termination is recommended for enhanced security and a prerequisite for integrating with SSO (Single Sign On) via SAML2.0.
TLS termination can be configured directly within Lenses or alternatively by using a TLS proxy or load balancer. Refer to the TLS documentation for additional information.
On this page