Build and Install

Fluent Bit uses CMake as it build system. The suggested procedure to prepare the build system consists on the following steps:

Prepare environment

In the following steps you can find exact commands to build and install the project with the default options. If you already know how CMake works you can skip this part and look at the build options available.

Create a temporary build/ directory inside the Fluent Bit sources:

$ mkdir build
$ cd build/

Let CMake configure the project specifying where the root path is located:

$ cmake ../
-- The C compiler identification is GNU 4.9.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- The CXX compiler identification is GNU 4.9.2
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
...
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
-- Looking for accept4
-- Looking for accept4 - not found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/edsiper/coding/fluent-bit/build

Now you are ready to start the compilation process through the simple make command:

$ make
Scanning dependencies of target msgpack
[  2%] Building C object lib/msgpack-1.1.0/CMakeFiles/msgpack.dir/src/unpack.c.o
[  4%] Building C object lib/msgpack-1.1.0/CMakeFiles/msgpack.dir/src/objectc.c.o
[  7%] Building C object lib/msgpack-1.1.0/CMakeFiles/msgpack.dir/src/version.c.o
...
[ 19%] Building C object lib/monkey/mk_core/CMakeFiles/mk_core.dir/mk_file.c.o
[ 21%] Building C object lib/monkey/mk_core/CMakeFiles/mk_core.dir/mk_rconf.c.o
[ 23%] Building C object lib/monkey/mk_core/CMakeFiles/mk_core.dir/mk_string.c.o
...
Scanning dependencies of target fluent-bit-static
[ 66%] Building C object src/CMakeFiles/fluent-bit-static.dir/flb_pack.c.o
[ 69%] Building C object src/CMakeFiles/fluent-bit-static.dir/flb_input.c.o
[ 71%] Building C object src/CMakeFiles/fluent-bit-static.dir/flb_output.c.o
...
Linking C executable ../bin/fluent-bit
[100%] Built target fluent-bit-bin

to continue installing the binary on the system just do:

$ make install

it's likely you may need root privileges so you can try to prefixing the command with sudo.

Build Options

Fluent Bit provides certain options to CMake that can be enabled or disabled when configuring, please refer to the following tables under the General Options, Input Plugins and Output Plugins sections.

General Options

option description default
FLB_ALL Enable all features available No
FLB_DEBUG Build binaries with debug symbols No
FLB_JEMALLOC Use Jemalloc as default memory allocator No
FLB_TLS Buils with SSL/TLS support No
FLB_WITHOUT_BIN Do not build executable No
FLB_WITHOUT_EXAMPLES Do not build examples No
FLB_WITHOUT_SHARED_LIB Do not build shared library No
FLB_VALGRIND Enable Valgrind support No
FLB_TRACE Enable trace mode No
FLB_TESTS Enable tests No
FLB_MTRACE Enable mtrace support No
FLB_BUFFERING Enable buffering support No
FLB_POSIX_TLS Force POSIX thread storage No

Input Plugins

The input plugins provides certain features to gather information from a specific source type which can be a network interface, some built-in metric or through a specific input device, the following input plugins are available:

option description default
FLB_IN_CPU Enable CPU input plugin On
FLB_IN_FORWARD Enable Forward input plugin On
FLB_IN_HEAD Enable Head input plugin On
FLB_IN_HEALTH Enable Health input plugin On
FLB_IN_KMSG Enable Kernel log input plugin On
FLB_IN_MEM Enable Memory input plugin On
FLB_IN_RANDOM Enable Random input plugin On
FLB_IN_SERIAL Enable Serial input plugin On
FLB_IN_STDIN Enable Standard input plugin On
FLB_IN_TCP Enable TCP input plugin On
FLB_IN_MQTT Enable MQTT input plugin On
FLB_IN_XBEE Enable Xbee input plugin Off

Output Plugins

The output plugins gives the capacity to flush the information to some external interface, service or terminal, the following table describes the output plugins available as of this version:

option description default
FLB_OUT_ES Enable Elastic Search output plugin On
FLB_OUT_FORWARD Enable Fluentd output plugin On
FLB_OUT_HTTP Enable HTTP output plugin On
FLB_OUT_NATS Enable NATS output plugin Off
FLB_OUT_PLOT Enable Plot output plugin On
FLB_OUT_STDOUT Enable STDOUT output plugin On
FLB_OUT_TD Enable Treasure Data output plugin On
FLB_OUT_NULL Enable /dev/null output plugin On

results matching ""

    No results matching ""