Categorygithub.com/relex/fluentlib
repositorypackage
0.0.0-20240516105411-5529b575f355
Repository: https://github.com/relex/fluentlib.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# README

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