2.0.1 • Published 12 months ago

kafka-lag-script v2.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months ago

Kafka Lag Monitoring Script

This script is designed to monitor the lag of Kafka consumer groups and send notifications to a Slack webhook if a significant lag is detected.

Usage

To use this script, you need to provide the following configurations:

  1. Kafka Configuration:

    • clientId (string): The client ID for the Kafka connection.
    • brokers (string[]): An array of Kafka broker URLs.
    • sasl (optional, SASLConfig): The SASL configuration for authentication, if required.
    • ssl (optional, boolean, default: true): Whether to use SSL for the Kafka connection.
    • connectionTimeout (optional, number, default: 100000): The connection timeout in milliseconds.
  2. Slack Configuration:

    • webHookUrl (string): The Slack webhook URL for sending notifications.
    • tokenConfig (optional, object): Additional token configuration for the Slack API, if required.
  3. Namespace Filter (optional):

    • name_space (string[] ): An array of namespace strings to filter the consumer groups. If provided, only consumer groups with the specified namespaces will be monitored.

Example usage:

import { initRunner,SASLConfig } from 'kafka-lag-script';

const saslConfig:SASLConfig={
    mechanism: 'scram-sha-512',
    username: 'my-username',
    password: 'my-password'
}

const kafkaConfig = {
  clientId: 'my-client-id',
  brokers: ['broker1:9092', 'broker2:9092'],
  sasl: saslConfig
};

const slackConfig = {
  webHookUrl: 'https://hooks.slack.com/services/...',
  tokenConfig: {
    channelName: 'channel_xyz',
    tokenId: 'xoxb-...'
  }
};

const namespaces = ['NAMESPACE1', 'NAMESPACE2'];

initRunner(kafkaConfig, slackConfig, namespaces);