Skip to content

A Go library for Fluentd's forward protocol and tools for Fluentd / Fluent Bit

License

Notifications You must be signed in to change notification settings

relex/fluentlib

Repository files navigation

fluentdlib

A library for Fluentd's forward protocol and tools for Fluentd / Fluent Bit

Tools

Dump contents of Fluentd Forward messages (Forward, PackedForward, CompressedPackedForward) and Fluent Bit chunk files:

fluentlibtool dump [filepath]...

Run a fake Fluentd server to print logs in JSON to stdout or one file per each tag + key fields

fluentlibtool server -f 0 -x 0 -n 0.5
fluentlibtool server --split_output_keys=environment/class,level --split_output_path=/tmp/%s.json --split_strict_mode=true

(-f, -x, and -n are to simulate network errors etc, use fluentlibtool help server to get help)

Library

  • protocol/fluentbitchunk can decode Fluent Bit's internal chunk (buffer) files.
  • protocol/forwardprotocol provides definitions of Fluentd Forward Protocol v1 in Go, as well as utility functions for handshaking and decoding.
  • server provides a fake Fluentd server that can be used for testing

The library part is intended for verification and functions here are NOT optimized for performance.

See server/server_test.go:TestServerBasic for basic examples of a client

Build

  1. Install go
  2. Install https://github.com/relex/gotils
make
make test

About

A Go library for Fluentd's forward protocol and tools for Fluentd / Fluent Bit

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published