kafka_lag_exporter_ansible
Lightbend Kafka Lag Exporter
Ansible Role for installing and configuring the Kafka Lag Exporter from Lightbend.
Requirements
- Java 8+ installed on host
- unzip installed on host
Role Variables
Controlling the Installation
Variable | Default | Description |
---|---|---|
kafka_lag_exporter_version | 0.6.5 | Which release to install from Github Release |
kafka_lag_exporter_service_name | kafka-lag-exporter | Service Name for System.d |
kafka_lag_exporter_user | kafkalag | User for all file permissions and system.d execution |
kafka_lag_exporter_group | kafkalag | Group for all file permissions and system.d execution |
kafka_lag_exporter_config_dir | /etc/kafka-lag-exporter | Directory where all Configuration should exist |
kafka_lag_exporter_extraction_dir | /opt/kafka-lag-exporter | Directory where the archive should be extracted |
kafka_lag_exporter_download | true | Bool on if the archive should be downloaded from the Github Releases Archive. Uses kafka_lag_exporter_download_url to determin where to download from. |
kafka_lag_exporter_download_url | GITHUB RELEASE URL | URL where to download the Archive |
kafka_lag_exporter_upload | false | Bool to control if the archive should be uploaded from the local ansible controller rather then downloaded |
kafka_lag_exporter_upload_path | Local path where to find the archive to upload |
Configuraing Kafka Lag Exporter
General Settings
Variable | Default | Description |
---|---|---|
kafka_lag_exporter_poll_interval | 30 seconds | How frequent to check Kafka Cluster for Offsets |
kafka_lag_exporter_client_group_id | kafkalagexporter | Consumer Group ID for the embeded Kafka Consumer |
kafka_lag_exporter_client_timeout | 10 seconds | TCP timeout for Kafka Clients |
kafka_lag_exporter_lookup_table_size | 60 | |
kafka_lag_exporter_environment_overrides | {} | Map of ENV Vars to populate in System.d execution environment |
kafka_lag_exporter_metric_whitelist | [".*"] | Whitelist of metrics to return |
kafka_lag_exporter_reporters_prometheus_enabled | true | Bool to enable exposing the collected metrics as a prometheus endpoint |
kafka_lag_exporter_reporters_prometheus_port | 8000 | Port to display Prometheus metrics on |
kafka_lag_exporter_reporters_graphite_enabled | false | |
kafka_lag_exporter_reporters_graphite_host | ||
kafka_lag_exporter_reporters_graphite_port | ||
kafka_lag_exporter_clusters | [] | List of Kafka Clusters to gather consumer offsets/lags for. See Cluster Settings below for paramaters. |
Cluster Settings
Variable | Default | Description |
---|---|---|
name | Name of the Kafka Cluster. This will be presented in the metrics tags as well. | |
servers | [] | List of Kafka Brokers and ports. In the form of address:port |
ssl_enabled | false | If SSL/TLS is in use. This requires that the below Keystore SSL/TLS settings also be configured |
ssl_mutual_auth_enabled | false | If Mutual TLS is being used. This requires that the below Keystore SSL/TLS settings also be configured |
sasl_protocol | none | SASL Protocol (GSSAPI , PLAIN , SCRAM ) for the Kafka Clients to connect on |
username | Required when sasl_protocol equals PLAIN or SCRAM |
|
password | Required when sasl_protocol equals PLAIN or SCRAM |
|
keytab | Required when sasl_protocol equals GSSAPI . GSSAPI Keytab file path on the server. |
|
keytab_src | Required when sasl_protocol equals GSSAPI . GSSAPI Keytab file path local to the Ansible Controller. This file will be uploaded and place into the location provided by keytab |
|
principal | Required when sasl_protocol equals GSSAPI . GSSAPI Keytab Principal. This is usually the SPN of the Keytab. |
|
properties | {} | Map of additional properties to provide to both the Admin Client and Kafka Consumer Client |
consumer_properties | {} | Map of additional properties for the Kafka Consumer Client |
admin_properties | {} | Map of additional properties for the Admin Client |
topic_whitelist | [".*"] | |
topic_blacklist | [] | |
group_whitelist | [".*"] | |
labels | {} | Additional Metric Labels to include |
Logging
Variable | Default | Description |
---|---|---|
kafka_lag_exporter_logging_policy_days | 7 | Max Number of days to retain logs |
kafka_lag_exporter_logging_policy_total_size | 3GB | Max amount of logs to retain |
kafka_lag_exporter_logging_policy_file_size | 1GB | Max size to let a single log get to within a days boundry |
Dependencies
No other dependencies at this time.
Example Playbook
---
- name: Kafka Lag Exporter Install/Config
hosts: kafka_lag_exporter
gather_facts: true
tasks:
- name: Install Java
import_role:
name: java
- name: Install/Config
import_role:
name: kafka-lag-exporter-ansible
License
Author Information
Nikoleta Verbeck | Github/@nerdynick
About
Lightbend Kafka Lag Exporter Ansible Role
Install
ansible-galaxy install nerdynick/kafka-lag-exporter-ansible
License
mit
Downloads
39
Owner