5.0
Multi cluster
A portal to monitor the health and performance across a number of Lenses’ deployments of Apache Kafka.
Quickstart
- Download, extract and run
bin/lensesio-portal
on a Linux 64bit machine. - Access http://localhost:3000 and start adding workspaces.
By default, state is stored in a .db file as an embedded SQLite database.
Add workspaces
- On the Lenses instance create a new group with read-only permissions and a service account.
- On the portal add a new workspace with the url, port, service account and token.
Production Multi-Cluster Kafka monitoring
We recommend using a Postgres database for production deployments.
Create a DB lensesioportal
and export the following environment variables before startup:
LENSES_DB_TYPE="postgress"
LENSES_DB_HOST="localhost"
LENSES_DB_PORT=5432
LENSES_DB_NAME="lensesioportal"
LENSES_DB_USERNAME="<db-username>"
LENSES_DB_PASSWORD="<db-password>"
For security, service account tokens can be encrypted when stored in the DB, either via local encryption, or using Vault.
Local secret encryption
Pick an 32-bytes long key i.e. thisisasecretof32byteslengthsize
encode it in base64 and export the following env variables:
LENSES_SECRETS_TYPE="local"
LENSES_SECRETS_SECRET="your-base64-encoded-key-of-length-32-bytes"
Hashicorp Vault secret encryption
Use these parameters to enable Vault Transit secrets for the encryption of sensitive data:
LENSES_SECRETS_TYPE="vault"
LENSES_SECRETS_SECRET="<the-key-name-in-vault-transit-engine>"
LENSES_SECRETS_VAULT_HOST="<http://<your-vault-instance>"
LENSES_SECRETS_VAULT_TOKEN="<http://<your-vault-token>"
HTTP settings
Following settings control the binding address, port and CORS options:
LENSES_HTTP_ADDRESS=":3000"
LENSES_HTTP_CORS_ENABLE=true
LENSES_HTTP_CORS_ORIGIN="*"
YAML configuration file
Create a file config.yaml
:
http:
address: ":3000"
cors:
enable: true
origin: "*"
secrets:
type: "local"
secret: "<your-base64-encoded-key-of-length-32-bytes>"
db:
type: "postgres"
host: "localhost"
port: 5432
name: "multicluster"
username: "<your-db-username>"
password: "<your-db-password>"