Categorygithub.com/fluent/fluent-bit-go
module
0.0.0-20230731091245-a7a013e2473c
Repository: https://github.com/fluent/fluent-bit-go.git
Documentation: pkg.go.dev

# README

Fluent Bit Go!

This repository contains Go packages that allows to create Fluent Bit plugins. At the moment it only supports the creation of Output and Input plugins.

Requirements

The code of this package for output plugin is intended to be used with Fluent Bit v1.4 branch or higher.

The code of this package for input plugin is intended to be used with Fluent Bit v1.9 branch or higher.

Usage

Fluent Bit Go packages are exposed on this repository:

github.com/fluent/fluent-bit-go

Creating Output Plugin

When creating a Fluent Bit Output plugin, the output package can be used as follows:

import "github.com/fluent/fluent-bit-go/output"

For a more practical example please refer to the out_multiinstance plugin implementation located at:

Creating Input Plugin

When creating a Fluent Bit Input plugin, the input package can be used as follows:

import "github.com/fluent/fluent-bit-go/input"

Config key constraint

Some config keys are used/overwritten by Fluent Bit and can't be used by a custom plugin, they are:

PropertyInputOutput
aliasXX
hostXX
ipv6XX
listenX
log_levelXX
log_suppress_intervalX
matchX
match_regexX
mem_buf_limitXX
portXX
retry_limitX
routableXX
storage.pause_on_chunks_overlimitXX
storage.total_limit_sizeX
storage.typeXX
tagXX
threadedXX
tlsXX
tls.ca_fileXX
tls.ca_pathXX
tls.crt_fileXX
tls.debugXX
tls.key_fileXX
tls.key_passwdXX
tls.verifyXX
tls.vhostXX
workersX

This implies that if your plugin depends on property like listen you can use on output plugin but not on input plugin, host don't work on both, rather than this custom key like address work on both.

[OUTPUT]
    Name   my_output_plugin
    Listen something # work
    Host # don't work
    Address # work
[INPUT]
    Name   my_input_plugin
    Listen something #don't work
    Host localhost # don't work
    Address # work

Contact

Feel free to join us on our Slack channel, Mailing List, IRC or Twitter:

Authors

Fluent Bit Go is made and sponsored by Treasure Data among other contributors.

# Packages

No description provided by the author