Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This page describes configuring Lenses to connect to Confluent Cloud.
Lenses will not start without a valid Kafka Connection. You can either add the connection via the bootstrap wizard or use provisioning for automated deployments.
For Confluent Platform see Apache Kafka.
From Data integration API keys
, select Create Key
.
For this guide select Global access
In the Lenses bootstrap UI, Select:
Security Protocol SASL SSL
SASL Mechanism PLAIN
In the JAAS Configuration update the username
and password
from the respective fields Key and Secret of the API key created above:
Prerequisites to check before using Lenses against your Kafka cluster.
Any version of Apache Kafka (2.0 or newer) on-premise and on-cloud.
Any version of Confluent Schema Registry (5.5.0 or newer), APICurio (2.0 or newer) and AWS Glue.
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).
For more enable JMX for Lenses itself see here.
Run on any Linux server (review ulimits or 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:
Increase as a super-user the soft limit to 4096 with:
Use 6GB RAM/4 CPUs and 500MB disk space.
This is the default configuration = Request 1
CPU & Memory 3Gi
, Limit 2 CPU & Memory 5Gi
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).
For websockets you may need to adjust your loadbalancer to allow them. See here.
Lenses can use an embedded H2 database or a Postgres database. Postgres is not supplied by Lenses.
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 by using a TLS proxy or load balancer. Refer to the TLS documentation for additional information.
This page describes connecting Lenses to Apache Kafka.
Lenses will not start without a valid Kafka Connection. You can either add the connection via the bootstrap wizard or use provisioning for automated deployments.
Add your bootstrap brokers including ports
Optionally, security protocol e.g. SASL_SCRAM, SASL_SSL
Optionally, SASL Mechanism, e.g. SCRAM-SHA-256
If your Kafka connection requires TLS, set the following
Truststore: The SSL/TLS trust store to use as the global JVM trust store. Available formats are .jks
, .p12
, .pfx
.
Keystore: The SSL/TLS keystore to use for the TLS listener for Lenses. Available format is .jks
.
Lenses allows you to connect to brokers JMX. Supported formats are:
Simple with and without SSL
Jolokia (JOLOKIAG and JOLOKIAP)
With and without SSL
With Basic Auth
Custom http requests and suffix
AWS Open Monitoring
This page describes how to connect to your Kafka brokers.
See provisioning for automating connections.
Lenses can connect to any Kafka cluster or service exposing the Apache Kafka APIs and supporting the authentication methods offered by Apache Kafka.
Follow the guide for your distribution to obtain the credentials and bootstrap broker to provide to Lenses.
Apache Kafka
Connect Lenses to your Apache Kafka cluster.
AWS MSK
Connect Lenses to your AWS MSK cluster.
AWS MSK Serverless
Connect Lenses to your AWS MSK Serverless.
Aiven
Connect Lenses to your Aiven Kafka cluster.
Azure HDInsight
Connect Lenses to your Azure HDInsight cluster.
Confluent Cloud
Connect Lenses to your Confluent Cloud.
Confluent Platform
Connect Lenses to your Confluent Platform (on premise) cluster.
IBM Event Streams
Connect Lenses to your IBM Event Streams cluster.
This page describes configuring Lenses to connect to Aiven.
Lenses will not start without a valid Kafka Connection. You can either add the connection via the bootstrap wizard or use provisioning for automated deployments.
From the Aiven, locate your Service URI
.
In the Lenses bootstrap UI:
Set the Service URI as bootstrap servers
Set SASL SSL
as the security protocol
Set SCRAM-SHA-SHA-256
as the security mechanism
Set the**jaas.conf
** as the following:
This page describes configuring Lenses to connect to Confluent Platform.
Lenses will not start without a valid Kafka Connection. You can either add the connection via the bootstrap wizard or use provisioning for automated deployments.
For Confluent Platform see Apache Kafka.
This page describes connecting Lenses to Confluent schema registries.
To add a connection, go to:
Admin->Connections
Select the New Connection button and select Schema Registry.
Enter:
Comma-separated list of schema registry URLs including ports
Enable basic auth if required and set the user name and password
Enable SSL if required and upload the keystore
Optionally upload a trust store
Set any additional properties
Optional enable metrics
Connect Lenses to your environment.
To connect Lenses to your real environment you can:
Install Lenses (not the Box) and manually configure the connections to Kafka, Zookeepers, Schema Registries and Connect, or
Install Lenses and configure the connections in one go using provisioning.
How to connect to Kafka depends on your Kafka provider.
This page describes connection Lenses to a AWS MSK cluster.
Lenses will not start without a valid Kafka Connection. You can either add the connection via the bootstrap wizard or use provisioning for automated deployments.
It is recommended to install Lenses on an EC2 instance or with EKS in the same VPC as your MSK cluster. Lenses can be installed and preconfigured via the AWS Marketplace.
Edit the AWS MSK security group in the AWS Console and add the IP address of your Lenses installation.
If you want to have Lenses collect JMX metrics you have to enable Open Monitoring on your MSK cluster. Follow the AWS guide here.
Depending on your MSK cluster, select the endpoint and protocol you want to connect with.
It is not recommended to use Plaintext for secure environments. For these environments use TLS or IAM.
In the Lenses bootstrap UI, Select:
Security Protocol and set the protocol you want to use
SASL Mechanism and set the mechanism you want to use.
In the Lenses bootstrap UI, Select:
Security Protocol and set it to SASL_SSL
Sasl Mechanism and set it to AWS_MSK_IAM
Add software.amazon.msk.auth.iam.IAMLoginModule required;
to the Sasl Jaas Config section
Optionally upload your trust store
Set sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
in the Advances Kafka Properties section.
This page describes how to connect Lenses to an Amazon MSK Serverless cluster.
Lenses will not start without a valid Kafka Connection. You can either add the connection via the bootstrap wizard or use provisioning for automated deployments.
It is recommended to install Lenses on an EC2 instance or with EKS in the same VPC as your MSK Serverless cluster. Lenses can be installed and preconfigured via the AWS Marketplace.
Enable communications between Lenses & the Amazon MSK Serverless cluster by opening the Amazon MSK Serverless cluster's security group in the AWS Console and add the IP address of your Lenses installation.
To authenticate Lenses & access resources within our MSK Serverless cluster, we'll need to create an IAM policy and apply that to the resource (EC2, EKS cluster, etc) running the Lenses service. here is an example IAM policy with sufficient permissions which you can associate with the relevant IAM role:
MSK Serverless IAM to be used after cluster creation. Update this IAM policy with the relevant ARN.
Click your MSK Serverless Cluster in the MSK console and select View Client Information page to check the bootstrap server endpoint.
In the Lenses bootstrap UI, Select:
For the bootsrap server configuration, use the MSK Serverless endpoint
For the Security Protocol, set it to SASL_SSL
Customize the Sasl Mechanism and set it to AWS_MSK_IAM
Add software.amazon.msk.auth.iam.IAMLoginModule required;
to the Sasl Jaas Config section
Set sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
in the Advances Kafka Properties section.
During the broker metrics export step, keep it disabled, as AWS Serverless does not export the metrics to Lenses. Click Next
Copy your license and add it to Lenses, validate your license, and click Next
Click on Save & Boot Lenses. Lenses will finish the setup on its own
To enable the creation of SQL Processors that create consumer groups, you need to add the following statement in your IAM policy:
Update the placeholders in the IAM policy based on the relevant MSK Serverless cluster ARN.
To integrate with the AWS Glue Schema Registry, you also need to add the following statement for the registries and schemas in your IAM policy:
Update the placeholders in the IAM policy based on the relevant MSK Serverless cluster ARN.
To integrate with the AWS Glue Schema Registry, you also need to modify the security policy for the registry and schemas, which results in additional functions within it:
More details about how IAM works with MSK Serverless can be found in the documentation: MSK Serverless
When using Lenses with MSK Serverless:
Lenses does not receive Prometheus-compatible metrics from the brokers because they are not exported outside of CloudWatch.
Lenses does not configure quotas and ACLs because MSK Serveless does not allow this.
This page describes how to add a License.
Lenses requires a valid license to start. The license can be added via the UI when in bootstrap mode or at deployment time via the.
See for integration into your CI/CD pipelines.
If at any point the license becomes invalid (it expired / too many brokers were added to the cluster) only the license page will be available.
See .
This page describes connection Lenses to a Azure HDInsight cluster.
Lenses will not start without a valid Kafka Connection. You can either add the connection via the bootstrap wizard or use for automated deployments.
In our Azure Portal, go to Dashboards > Ambari home
.
Kafka endpoints: Go to Kafka > Configs > Kafka Broker > Kafka Broker hosts
Optionally get the Zookeeper endpoints: Go to Zookeeper > Configs > Zookeeper Server > Zookeeper Server hosts
.
In the Lenses bootstrap UI:
Set the Kafka endpoints as bootstrap servers
Set the security protocol, mechanism and Jaas config according to your setup. For information on configuring clients (Lenses) for your HDInsight cluster see for unauthenticated and for authenticated.
Set the following:
security.protocol
to SSL
Set the password for your trust store
Upload your trust store
Perform the additional steps to above
Set the password for your key store
Upload your key store
Set your key password
This page describes connecting Lenses to Apicurio.
Apicuro supports the following versions of Confluent's API:
Confluent Schema Registry API v6
Confluent Schema Registry API v7
Set the schema registry URLs to include the compatibility endpoints, for example:
To add a connection, go to:
Admin->Connections
Select the New Connection button and select Schema Registry.
Enter:
Comma-separated list of schema registry URLs including ports and compatibility endpoint path
Enable basic auth if required and set the user name and password
This page describes connecting Lenses to Schema registries
See for automating connections.
Consider if you have a high number of schemas.
Lenses can work with the following schema registry implementations which can be added via the Connections
page in Lenses.
Go to Admin->Connections->New Connections->Schema Registry and follow the guide for your registry provider.
TLS and basic authentication are supported for connections to Schema Registries.
Lenses can collect Schema registry metrics via:
JMX
Jolokia
AVRO
PROTOBUF
JSON and XML formats are supported by Lenses but without a backing schema registry.
To connect your Schema Registry with Lenses, select Schema Registry -> Create Connection.
To enable the deletion of schemas in the UI, set the following in the lenses.conf
file.
IBM Event Streams supports hard deletes only
This page describes how to connect Lenses to IBM Event Streams.
Lenses will not start without a valid Kafka Connection. You can either add the connection via the bootstrap wizard or use for automated deployments.
From the IBM Cloud console, locate your bootstrap_endpoints
. for the service credentials you want to connect with.
In the Lenses bootstrap UI:
Set the bootstrap_endpoints as bootstrap servers
Set SASL SSL
as the security protocol
Set PLAIN
as the security mechanism
Set the**jaas.conf
** as the following, using the apiKey value as the password.
IBM Event Streams requires a replication factor of 3. Ensure you set the replication factor accordingly for Lenses internal topics.
See .
This page describes connection to AWS Glue.
Lenses provides support for AWS Glue to manage schema and also explore and process data linked to it via the Lenses
To connect to Glue, first create a AWS Connection. Go to Admin->Connections->AWS and enter your AWS credentials or select the IAM support if Lenses is running on an AWS host, e.g. EC2 instance or it has the AWS default credentials toolchain provider in place.
Rather than enter your AWS credentials you can use the .
Next, Select New Connection->Schema Registry->AWS Glue. Select your AWS Connection with access to Glue, and enter the Glue ARN.
Kafka
Learn how to connect Lenses to your Kafka.
Schema Registries
Learn how to connect Lenses to your Schema Registry.
Zookeeper
Learn how to connect Lenses to your Zookeepers.
Kafka Connect
Learn how to connect Lenses to your Kafka Connect Clusters.
Alert & Audits
Learn how to connect Lenses to your alerting and auditing systems.
AWS
Learn how to connect Lenses to AWS (credentials).
This page describes connecting Lenses to Zookeeper.
Not all cloud providers give access to Zookeeper. Zookeeper is optional for Lenses.
See provisioning for automating connections.
Connectivity to Zookeeper is optional for Lenses. Zookeeper is used by Lenses for such purposes:
To provide quotas management (until quotas can be managed via the Brokers API)
To autodetect the JMX connectivity settings to Kafka brokers (if metrics are not defined directly for Kafka connection).
To add a Zookeeper connection go to Admin->Connections->New Connection->Zookeeper.
Add a comma-separated list of Zookeepers, including port
Optionally set a session timeout
Optionally set a Chroot path
Optionally set a connection timeout
Optionally enable the collection of JMX metrics (Simple or Jolokia with SSL and Basic auth support)
This page describes connecting Lenses to IBM Event Streams schema registry.
Requires Enterprise subscription on IBM Event Streams and only hard delete is supported for IBM Event streams
To configure an application to use this compatibility API, specify the Schema Registry endpoint in the following format:
To add a connection, go to:
Admin->Connections
Select the New Connection button and select Schema Registry.
Enter:
Comma-separated list of schema registry URLs including ports, adding the confluent path at the end. Use the value from the kafka_http_url
field in the IBM Console Service Credentials tab
Enable basic auth if required
Set the user name "token"
Set the password as the value from API key in the IBM Console Service Credentials tab
Connect Lenses to your alerting and auditing systems.
You can either configure the connections in the UI or via provisioning. Provisioning is recommended.
Lenses can send out alerts and audits events, the following integrations are supported:
Alerts
DataDog
AWS CloudWatch
PagerDuty
Slack
Alert Manager
Webook (Email, SMS, HTTP and MS Teams)
Audits
Webhook
Splunk
Once you have configure alert and audit connections, you can create alert and audit channels to route events to them. See Monitoring & Alerting or Auditing for more information.
This page describes adding a Kafka Connect Cluster to Lenses.
Lenses integrates with Kafka Connect Clusters to manage connectors.
For documentation about the available Lenses Apache 2.0 Connectors, see the Stream Reactor documentation.
The name of a Kafka Connect Connections may only contain alphanumeric characters ([A-Za-z0-9]
) and dashes (-
). Valid examples would be dev
, Prod1
, SQLCluster
,Prod-1
, SQL-Team-Awesome
.
Multiple Kafka Connect clusters are supported.
If you are using Kafka Connect < 2.6 set the following to ensure you can see Connectors
lenses.features.connectors.topics.via.api.enabled=false
See provisioning for automating connections.
Consider Rate Limiting if you have a high number of connectors.
To add a connection, go to Admin->Connections->New Connection->Kafka Connect.
Provide a name for the Connect cluster
Add a comma-separated list of the workers in the Connector cluster, including ports
Optionally enable Basic Auth and set the username and password
Optionally enable SSL and upload the key-store file
Optionally upload a trust store
Optionally enable the collection of JMX metrics (Simple or Jolokia with SSL and Basic auth support)
If you have developed your own Connector or are using not using a Lenses connector you can still display the connector instances in the topology. To do this Lenses needs to know the configuration option of the Connector that defines which topic the Connector reads from or writes to. This is set in the connectors.info
parameter in the lenses.conf
file.
Add a connection to AWS in Lenses.
You can either configure the connections in the UI or via provisioning. Provisioning is recommended.
Lenses uses an AWS in two places:
AWS IAM connection to MSK for Lenses itself
Alert channels to Cloud Watch.
If Lenses is deployed on an EC2 Instance or has access to AWS credentials in the default AWS toolchain that can be used instead.