Kafka Streaming Output and Integration

George Alpizar
George Alpizar
  • Updated

Overview

The Kafka output will stream analytics and insights to your Kafka endpoint.


Review Sample Configuration

The following sample configuration displays an output without the name of the organization-level integration:

    - name: kafka
      type: kafka
      endpoint: localhost:2888,localhost:3888 # brokers
      topic: example_kafka_topic
      required_acks: 10
      batch_size: 1000
      batch_bytes: 10000
      batch_timeout: 1m
      async: true
      features: log,metric
      tls:
        disable_verify: true
        ca_file: /var/etc/kafka/ca_file
        ca_path: /var/etc/kafka
        crt_file: /var/etc/kafka/crt_file
        key_file: /var/etc/kafka/keyfile
        key_password: p@ssword123
        client_auth_type: noclientcert 
      sasl:
        username: kafka_username
        password: p@ssword123
        mechanism: PLAIN 

Review Parameters

Review the following parameters that you can configure in the Edge Delta App.


name

Required 

Enter a descriptive name for the output or integration.

For outputs, this name will be used to map this destination to a workflow.

Review the following example:

name: kafka

integration_name

Optional

This parameter refers to the organization-level integration created in the Integrations page. 

If you need to add multiple instances of the same integration into the config, then you can add a custom name to each instance via the name parameter. In this situation, the name should be used to refer to the specific instance of the destination in the workflows.

Review the following example:

integration_name: orgs-kafka

type

Required 

Enter kafka.

Review the following example:

type: kafka

endpoint

Required 

Enter your Kafka broker address.

Review the following example:

endpoint: localhost:2888,localhost:3888

topic

Required

Enter your Kafka topic name.

Review the following example:

topic: example_kafka_topic

required_acks

Optional 

Enter the number of acknowledgments that the leader must receive before considering a request to be complete.

Review the following example:

required_acks: 10

batch_size

Optional

Enter the maximum number of messages to buffer being being sent to a partition.

The default limit is 100 messages. 

Review the following example:

batch_size: 1000

batch_bytes

Optional 

Enter a limit (in bytes) for the maximum size of a request before being sent to a partition. 

The default value is 1048576.

Review the following example:

batch_bytes: 10000

batch_timeout

Optional 

Enter a time limit for how often incomplete message batches will be flushed to Kafka.

Review the following example:

batch_timeout: 1m

async

Optional 

Enter true or false to enable or disable asynchronous communication between Edge Delta and Kafka.

Review the following example:

async: true

tls: disable_verify

Optional 

To disable a TLS verification of a certificate, in the YAML file, enter:

  • disable_verify:true.

To enable a TLS verification of the certificate, in the YAML file, you can enter disable_verify:false or you can remove this line entirely. 

Review the following example: 

tls:
  disable_verify: true

tls: ca_file

Optional

Enter the absolute file path to the CA certificate file. 

Review the following example: 

tls:
ca_file: /var/etc/cribl/ca_file

tls: ca_path

Optional 

Enter the absolute path to scan the CA certificate file. 

Review the following example: 

tls:
ca_path: /var/etc/cribl

tls: crt_file

Optional 

Enter the absolute path to the certificate file. 

Review the following example: 

tls:
crt_file: /var/etc/kafka/crt_file

tls: key_file

Optional

Enter the absolute path to the private key file. 

Review the following example: 

tls:
  key_file: /certs/server-key.pem

tls: key_password

Optional

Enter the password for the key file. 

Review the following example: 

tls:
  key_password: p@ssword123

tls: client_auth_type

Optional 

Enter a client authorization type. 

You can enter:

  • noclientcert
  • requestclientcert
  • requireanyclientcert
  • verifyclientcertifgiven
  • requireandverifyclientcert

The default setting is noclientcert.

Review the following example: 

tls:
client_auth_type: noclientcert

tls: min_version

Optional

Enter the minimum version of TLS to accept. 

Review the following example: 

tls:
min_version: TLSv1_1

tls: max_version 

Optional

Enter the maximum version of TLS to accept. 

Review the following example: 

tls:
max_version: TLSv1_3

sasl: username

Optional 

Enter your Kafka SASL username.

Review the following example:

sasl:
  username: kafka_username

sasl: password

Optional

Enter your Kafka SASL password.

Review the following example:

sasl:  
password: p@ssword123

sasl: mechanism

Optional

Enter a Kafka SASL mechanism type to implement a secure authentication.

You can enter: 

  • PLAIN
  • SCRAM-SHA-256
  • SCRAM-SHA-512

Review the following example:

sasl:
mechanism: PLAIN

features

Optional 

This parameter defines which data types to stream to the destination.

To learn more, review the Review Feature Types section in Stream Outputs and Integrations Overview.

Review the following example: 

features: log,edac,metric,alert

buffer_ttl

Optional

Enter a length of time to retry failed streaming data.

After this length of time is reached, the failed streaming data will no longer be tried.

Review the following example: 

buffer_ttl: 2h

buffer_path

Optional

Enter a folder path to temporarily store failed streaming data.

The failed streaming data will be retried until the data reaches its destinations or until the Buffer TTL value is reached.

If you enter a path that does not exist, then the agent will create directories, as needed.

Review the following example: 

buffer_path: /var/log/edgedelta/pushbuffer/

buffer_max_bytesize

Optional 

Enter the maximum size of failed streaming data that you want to retry.

If the failed streaming data is larger than this size, then the failed streaming data will not be retried.

Review the following example: 

buffer_max_bytesize: 100MB

 

Share this document