v1.1.0

We provides the means for the collection, organization and computerized retrieval of knowledgeand Lightweight Data Forwarder for Linux, BSD and OSX. We are proud to announce the availability of Fluent Bit v1.1.0.

May 9, 2019

KNOWLEDGE BASE

Release Notes v1.1.0

Fluent Bit is a Fast and Lightweight Data Forwarder for Linux, BSD and OSX. We are proud to announce the availability of Fluent Bit v1.1.0.

Windows Support (beta)

Starting from this version we are supporting builds on Windows environments, note that not all plugins are enabled by the build system since portability is still an ongoing work. Consider Windows support still an early implementation.

Stream Processor

Stream Processing is about the ability to perform data processing while it still in motion in-memory. Starting from Fluent Bit v1.1 we implement a Stream Processor engine that provides a full SQL interface to query or filter your logs after they passed the storage phase. For more details about this new feature please refer to the following documentation:

https://docs.fluentbit.io/stream-processing/

List of general changes

Core

bin

  • new -T/–sp-task option to set SQL task for stream processor
  • accept flush time parameter in format seconds.nanoseconds (sec.nsec)

io

  • tls: fix conditional for ca_path (CID 185944)

utils: protect flb_utils_split() from null input (#1150)

parser

  • parser: do not raise errors instantly on ‘%z’/’%Z’ on Windows
  • parser: Add FLB_HAVE_GMTOFF to detect tm_gmtoff support (#1048)

scheduler

  • scheduler: fix multiple SIGSEGV issues on Windows (#1209)
  • scheduler: use mk_event_closesocket() to close timer->timer_fd (#1205)

parser: include k8s nginx ingress parser

config:

  • fix SIGSEGV errors on shutdown of input plugins (#1081)
  • support ‘double’ type in configuration

filter:

  • use unique instance ids
  • on exit, do not invoke cb_exit() if no context is set (#1195)
  • initialize every memory instance with zeros (#1195)
  • compose safety Tag and fix write offset (#993)
  • fix buffer management on chain filters (#975)

lib: mbedtls: upgrade from v2.14.1 to v2.16.1

hash:

  • improve flb_hash_add to take key up to key_length (#1186)
  • fix key deletion (#1185)
  • make flb_hash_get to work with non-null terminated strings (#1216)

proxy:

  • go: create cb_flush_ctx to share context between init and flush
  • use flb_plugin_proxy_context when calling into remote plugins
  • proxy: add Windows support for Golang plugins (#1196)

router: unify call to check matching routes

task: if a retry exceed current memory limit, put chunk down

output:

  • remove unnecessary loop to initialize proxies
  • set remote proxy context for output instances
  • fix protocol loader/check
  • use unique instance id, no mask_id

pack:

  • gelf: allow valid level 7 (#1165)
  • gelf: fix printf %.*s arguments order. (#1132)
  • gelf: fix wrong warn gelf-level (#912)
Plugins

Systemd (Input)

  • Fix endless loop while reading a rotated journal file it fixes fluent-bit issue #899.
  • Register read_from_tail option and cleanup variable check
  • Fix strip_underscores (adds extra character to value) #904

Stdin (Input)

  • Prevent double free / use after free of msgpack buffer (#1052)

Lib (Input)

  • Use flb_pipe_r() for compatibility with Windows

Exec (Input)

  • Add buf_size property for exec plugin (#1116)

{ Storage_Backlog (Input)

  • Upon start, put chunks ‘down’

Random (Input)

  • Use evutil_secure_rng_get_byte to obtain random numbers on Windows (#1181)

Tail (Input)

  • Restore support of absolute path in expanded tags

  • Windows Support

    • Use win32 glob emulation on Windows
    • Add crlf support to in_tail (#1161)
    • Emulate inodes on windows (#1160)
    • Avoid locking files on windows (#1159)
    • Add tail_scan_win32.c for scanning paths on windows (#1156)
    • Implement flb_tail_file_name() for windows (#1144)
  • Cast arguments explicitly for snprintf(2) (#1158)

  • Use c99 macro instead of ‘%lu’ to format 64-bit integers (#1157)

  • Disable multiline support if no parser backend exists

  • Avoid double freeing the same timeout event object (#1139)

  • Migrate pipe operations to flb_pipe_* functions (#1137)

  • Include libgen.h though flb_compat.h for portability (#1136)

  • Fix sigsegv due to the incompatible type length in windows (int/intptr_t) (#1133)

  • Open the target file in binary mode (#1113)

  • Inotify: add detailed error on inotify enospc (#1018)

  • Add support for internal metrics

  • MQTT (Input)

    • Fix memory corruption on dropping packet (#1135)
  • Stream_Processor (Input)

    • Auto-set tag based on alias
    • New stream processor helper plugin
  • Forward (Input)

    • Disable unix socket support if not available in the system
  • Cpu (Input)

    • Extend to support sec.nanosecond for sub-second sample rate (#1122)
  • Lua (Filter)

    • Fix casting of int64 value (#1103)
    • Port filter_lua to windows (#1054)
  • Kubernetes (Filter)

    • New configuration property ‘kube_tag_prefix’
    • Fix default api server hostname
    • Add new keep_log configuration option
    • Allow user to decide whether they want to include labels (#1129)
    • Extract docker_id and container_hash from kubernetes api (#1131)
    • Fix memory leak on pod record exclusion (#1068)
  • HTTP (Output)

    • Add epoch option for json_date_format (#1111)
    • Add user-agent header (#1058)
  • Kafka_Rest (Output)

    • Rename config functions to avoid bad reference
  • Kafka (Output)

    • Make msvc compatible (#1179)
    • Add timestamp_format to kafka output (#1086)
  • File (Output)

    • Make windows ready (#1268)
    • Fix data type to validate fwrite() return value (cid 185940)
    • Add new ‘msgpack’ format (for devs use only)
    • Fix leaks when exiting on exception (cid 185662, 185672)
  • Forward (Output)

    • Make shared_key usable without tls (and vice versa)
    • Fix the error handling for network writes
  • Stackdriver (Output)

    • Add missing / to uri
    • Fix uri leak on gce_metadata (cid 185751)
    • Fix order of upstream i/o sync flags (cid 185752)
    • Fix gce metadata header length (cid 185754)
    • Added support of metadata server and gce_instance resource. (#1073)
  • Elasticsearch (Output)

    • Fix buffer overrun on trace_output=on (#1201)
    • Fix elasticsearch_error_check, add trace_error output (#1148)
    • Validate mem allocation and fail upon exception (cid 185622)
    • Add path option. fixes #900. (#901)
    • Add logstash_prefix_key support (#698)
    • Add current_time_index option (pr #512, #454)

Join us

We want to hear about you, our community is growing and you can be part of it!, you can contact us at:

Latest Version

New release on Apr 15, 2024

Fluent Bit v3.0.2 is out!

Check out the Release Notes, read the Updated Documentation or jump directly to the Downloads Section.

We are part of a wide community, no vendor lock-in.