Fluent Bit is compatible with the latest Apple macOS software for x86_64 and Apple Silicon architectures.
Installation packages
Installation packages can be found here.
Requirements
You must have Homebrew installed in your system. If it isn't present, install it with the following command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Installing from Homebrew
The Fluent Bit package on Homebrew isn't officially supported, but should work for basic use cases and testing. It can be installed using:
brew install fluent-bit
Compile from source
Install build dependencies
Run the following brew command in your terminal to retrieve the dependencies:
brew install git cmake openssl bison
Download and build the source
Download a copy of the Fluent Bit source code (upstream):
git clone https://github.com/fluent/fluent-bit
cd fluent-bit
If you want to use a specific version, checkout to the proper tag. For example, to use v1.8.13
, use the command:
To prepare the build system, you must expose certain environment variables so Fluent Bit CMake build rules can pick the right libraries:
export OPENSSL_ROOT_DIR=`brew --prefix openssl`
export PATH=`brew --prefix bison`/bin:$PATH
Change to the build/
directory inside the Fluent Bit sources:
Build Fluent Bit. This example indicates to the build system the location the final binaries and config
files should be installed:
cmake -DFLB_DEV=on -DCMAKE_INSTALL_PREFIX=/opt/fluent-bit ../
make -j 16
Install Fluent Bit to the previously specified directory. Writing to this directory requires root privileges.
The binaries and configuration examples can be located at /opt/fluent-bit/
.
Create macOS installer from source
Clone the Fluent Bit source code (upstream):
git clone https://github.com/fluent/fluent-bit
cd fluent-bit
If you want to use a specific version, checkout to the proper tag. For example, to use v1.9.2
do:
To prepare the build system, you must expose certain environment variables so Fluent Bit CMake build rules can pick the right libraries:
export OPENSSL_ROOT_DIR=`brew --prefix openssl`
export PATH=`brew --prefix bison`/bin:$PATH
Create the specific macOS SDK target. For example, to specify macOS Big Sur (11.3) SDK environment:
export MACOSX_DEPLOYMENT_TARGET=11.3
Change to the build/
directory inside the Fluent Bit sources:
Build the Fluent Bit macOS installer:
cmake -DCPACK_GENERATOR=productbuild -DCMAKE_INSTALL_PREFIX=/opt/fluent-bit ../
make -j 16
cpack -G productbuild
The macOS installer will be generated as:
CPack: Create package using productbuild
CPack: Install projects
CPack: - Run preinstall target for: fluent-bit
CPack: - Install project: fluent-bit []
CPack: - Install component: binary
CPack: - Install component: library
CPack: - Install component: headers
CPack: - Install component: headers-extra
CPack: Create package
CPack: - Building component package: /Users/fluent-bit-builder/GitHub/fluent-bit/build/_CPack_Packages/Darwin/productbuild//Users/fluent-bit-builder/GitHub/fluent-bit/build/fluent-bit-1.9.2-apple/Contents/Packages/fluent-bit-1.9.2-apple-binary.pkg
CPack: - Building component package: /Users/fluent-bit-builder/GitHub/fluent-bit/build/_CPack_Packages/Darwin/productbuild//Users/fluent-bit-builder/GitHub/fluent-bit/build/fluent-bit-1.9.2-apple/Contents/Packages/fluent-bit-1.9.2-apple-headers.pkg
CPack: - Building component package: /Users/fluent-bit-builder/GitHub/fluent-bit/build/_CPack_Packages/Darwin/productbuild//Users/fluent-bit-builder/GitHub/fluent-bit/build/fluent-bit-1.9.2-apple/Contents/Packages/fluent-bit-1.9.2-apple-headers-extra.pkg
CPack: - Building component package: /Users/fluent-bit-builder/GitHub/fluent-bit/build/_CPack_Packages/Darwin/productbuild//Users/fluent-bit-builder/GitHub/fluent-bit/build/fluent-bit-1.9.2-apple/Contents/Packages/fluent-bit-1.9.2-apple-library.pkg
CPack: - package: /Users/fluent-bit-builder/GitHub/fluent-bit/build/fluent-bit-1.9.2-apple.pkg generated.
Finally, the fluent-bit-<fluent-bit version>-(intel or apple)
.pkg will be generated.
The created installer will put binaries at /opt/fluent-bit/
.
Running Fluent Bit
To make the access path easier to Fluent Bit binary, extend the PATH
variable:
export PATH=/opt/fluent-bit/bin:$PATH
To test, try Fluent Bit by generating a test message using the Dummy input plugin which prints to the standard output interface every one second:
fluent-bit -i dummy -o stdout -f 1
You will see an output similar to this:
Fluent Bit v1.9.0
* Copyright (C) 2015-2021 The Fluent Bit Authors
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
* https://fluentbit.io
[2022/02/08 17:13:52] [ info] [engine] started (pid=14160)
[2022/02/08 17:13:52] [ info] [storage] version=1.1.6, initializing...
[2022/02/08 17:13:52] [ info] [storage] in-memory
[2022/02/08 17:13:52] [ info] [storage] normal synchronization mode, checksum disabled, max_chunks_up=128
[2022/02/08 17:13:52] [ info] [cmetrics] version=0.2.2
[2022/02/08 17:13:52] [ info] [sp] stream processor started
[0] dummy.0: [1644362033.676766000, {"message"=>"dummy"}]
[0] dummy.0: [1644362034.676914000, {"message"=>"dummy"}]
To halt the process, press ctrl-c
in the terminal.