Kafka Logs

ID: kafkalogs

Kafkalogs Plugin

This plugin adds support for streaming build console output to a kafka server and topic. 

Using in pipeline workflows

The build wrapper can be used to ship logs to kafka server and topic.

E.g., pipeline job "test" with build 40 ran with the following pipeline script:

Usage

node {
    wrap([$class: 'KafkaBuildWrapper', kafkaServers: 'host1.example.com:9092,host2.example.com:9092', kafkaTopic: 'buildlogs', metadata:'Other info to send..']) {
        echo 'Hello World'
        echo 'Oh Hello'
        echo 'Finally'
    }
}

Or you can use withKafkaLog structs syntax:

Usage

node {
    withKafkaLog(kafkaServers: 'host1.example.com:9092,host2.example.com:9092', kafkaTopic: 'buildlogs', metadata:'Other info to send..') {
        echo 'Hello World'
        echo 'Oh Hello'
        echo 'Finally'
    }
}

 

Would produce messages on kafka topic "buildlogs":

Output

{"build":40,"job":"test","message":"Hello World","metadata":"Other info to send.."}
{"build":40,"job":"test","message":"Oh Hello","metadata":"Other info to send.."}
{"build":40,"job":"test","message":"Finally","metadata":"Other info to send.."}

Contribute

Fork me on Github at https://github.com/jenkinsci/kafkalogs-plugin