Fluent Bit: Official Manual
SlackGitHubCommunity MeetingsSandbox and LabsWebinars
4.0
4.0
  • Fluent Bit v4.0 Documentation
  • About
    • What is Fluent Bit?
    • A Brief History of Fluent Bit
    • Fluentd and Fluent Bit
    • License
    • Sandbox and Lab Resources
  • Concepts
    • Key Concepts
    • Buffering
    • Data Pipeline
      • Input
      • Parser
      • Filter
      • Buffer
      • Router
      • Output
  • Installation
    • Getting Started with Fluent Bit
    • Upgrade Notes
    • Supported Platforms
    • Requirements
    • Sources
      • Download Source Code
      • Build and Install
      • Build with Static Configuration
    • Linux Packages
      • Amazon Linux
      • Redhat / CentOS
      • Debian
      • Ubuntu
      • Raspbian / Raspberry Pi
    • Docker
    • Containers on AWS
    • Amazon EC2
    • Kubernetes
    • macOS
    • Windows
    • Yocto / Embedded Linux
    • Buildroot / Embedded Linux
  • Administration
    • Configuring Fluent Bit
      • YAML Configuration
        • Service
        • Parsers
        • Multiline Parsers
        • Pipeline
        • Plugins
        • Upstream Servers
        • Environment Variables
        • Includes
      • Classic mode
        • Format and Schema
        • Configuration File
        • Variables
        • Commands
        • Upstream Servers
        • Record Accessor
      • Unit Sizes
      • Multiline Parsing
    • Transport Security
    • Buffering and Storage
    • Backpressure
    • Scheduling and Retries
    • Networking
    • Memory Management
    • Monitoring
    • Multithreading
    • HTTP Proxy
    • Hot Reload
    • Troubleshooting
    • Performance Tips
    • AWS credentials
  • Local Testing
    • Validating your Data and Structure
    • Running a Logging Pipeline Locally
  • Data Pipeline
    • Pipeline Monitoring
    • Inputs
      • Collectd
      • CPU Log Based Metrics
      • Disk I/O Log Based Metrics
      • Docker Events
      • Docker Log Based Metrics
      • Dummy
      • Elasticsearch
      • Exec
      • Exec Wasi
      • Ebpf
      • Fluent Bit Metrics
      • Forward
      • Head
      • Health
      • HTTP
      • Kafka
      • Kernel Logs
      • Kubernetes Events
      • Memory Metrics
      • MQTT
      • Network I/O Log Based Metrics
      • NGINX Exporter Metrics
      • Node Exporter Metrics
      • OpenTelemetry
      • Podman Metrics
      • Process Exporter Metrics
      • Process Log Based Metrics
      • Prometheus Remote Write
      • Prometheus Scrape Metrics
      • Random
      • Serial Interface
      • Splunk
      • Standard Input
      • StatsD
      • Syslog
      • Systemd
      • Tail
      • TCP
      • Thermal
      • UDP
      • Windows Event Log
      • Windows Event Log (winevtlog)
      • Windows Exporter Metrics
    • Parsers
      • Configuring Parser
      • JSON
      • Regular Expression
      • LTSV
      • Logfmt
      • Decoders
    • Processors
      • Content Modifier
      • Labels
      • Metrics Selector
      • OpenTelemetry Envelope
      • Sampling
      • SQL
      • Filters as processors
      • Conditional processing
    • Filters
      • AWS Metadata
      • CheckList
      • ECS Metadata
      • Expect
      • GeoIP2 Filter
      • Grep
      • Kubernetes
      • Log to Metrics
      • Lua
      • Parser
      • Record Modifier
      • Modify
      • Multiline
      • Nest
      • Nightfall
      • Rewrite Tag
      • Standard Output
      • Sysinfo
      • Throttle
      • Type Converter
      • Tensorflow
      • Wasm
    • Outputs
      • Amazon CloudWatch
      • Amazon Kinesis Data Firehose
      • Amazon Kinesis Data Streams
      • Amazon S3
      • Azure Blob
      • Azure Data Explorer
      • Azure Log Analytics
      • Azure Logs Ingestion API
      • Counter
      • Dash0
      • Datadog
      • Dynatrace
      • Elasticsearch
      • File
      • FlowCounter
      • Forward
      • GELF
      • Google Chronicle
      • Google Cloud BigQuery
      • HTTP
      • InfluxDB
      • Kafka
      • Kafka REST Proxy
      • LogDNA
      • Loki
      • Microsoft Fabric
      • NATS
      • New Relic
      • NULL
      • Observe
      • OpenObserve
      • OpenSearch
      • OpenTelemetry
      • Oracle Log Analytics
      • PostgreSQL
      • Prometheus Exporter
      • Prometheus Remote Write
      • SkyWalking
      • Slack
      • Splunk
      • Stackdriver
      • Standard Output
      • Syslog
      • TCP and TLS
      • Treasure Data
      • Vivo Exporter
      • WebSocket
  • Stream Processing
    • Introduction to Stream Processing
    • Overview
    • Changelog
    • Getting Started
      • Fluent Bit + SQL
      • Check Keys and NULL values
      • Hands On 101
  • Fluent Bit for Developers
    • C Library API
    • Ingest Records Manually
    • Golang Output Plugins
    • WASM Filter Plugins
    • WASM Input Plugins
    • Developer guide for beginners on contributing to Fluent Bit
Powered by GitBook
On this page
  • Configuration
  • Migration to Fluent Bit
  • Installation packages
  • Installing from a ZIP archive
  • Installing from the EXE installer
  • Installer options
  • Windows service support
  • FAQs
  • Fluent Bit fails to start up when installed under C:\Program Files
  • Can you manage Fluent Bit service using PowerShell?
  • Compile from Source
  • Preparation
  • Compilation
  • Packaging

Was this helpful?

Export as PDF
  1. Installation

Windows

Last updated 15 days ago

Was this helpful?

Fluent Bit is distributed as the fluent-bit package for Windows and as a. Fluent Bit provides two Windows installers: a ZIP archive and an EXE installer.

Not all plugins are supported on Windows. The shows the default set of supported plugins.

Configuration

Provide a valid Windows configuration with the installation.

The following configuration is an example:

[SERVICE]
    # Flush
    # =====
    # set an interval of seconds before to flush records to a destination
    flush        5

    # Daemon
    # ======
    # instruct Fluent Bit to run in foreground or background mode.
    daemon       Off

    # Log_Level
    # =========
    # Set the verbosity level of the service, values can be:
    #
    # - error
    # - warning
    # - info
    # - debug
    # - trace
    #
    # by default 'info' is set, that means it includes 'error' and 'warning'.
    log_level    info

    # Parsers File
    # ============
    # specify an optional 'Parsers' configuration file
    parsers_file parsers.conf

    # Plugins File
    # ============
    # specify an optional 'Plugins' configuration file to load external plugins.
    plugins_file plugins.conf

    # HTTP Server
    # ===========
    # Enable/Disable the built-in HTTP Server for metrics
    http_server  Off
    http_listen  0.0.0.0
    http_port    2020

    # Storage
    # =======
    # Fluent Bit can use memory and filesystem buffering based mechanisms
    #
    # - https://docs.fluentbit.io/manual/administration/buffering-and-storage
    #
    # storage metrics
    # ---------------
    # publish storage pipeline metrics in '/api/v1/storage'. The metrics are
    # exported only if the 'http_server' option is enabled.
    #
    storage.metrics on

[INPUT]
    Name         winlog
    Channels     Setup,Windows PowerShell
    Interval_Sec 1

[OUTPUT]
    name  stdout
    match *

Migration to Fluent Bit

For version 1.9 and later, td-agent-bit is a deprecated package and was removed after 1.9.9. The correct package name to use now is fluent-bit.

Installation packages

The latest stable version is 4.0.1. Each version is available from the following download URLs.

INSTALLERS
SHA256 CHECKSUMS

These are now using the Github Actions built versions. Legacy AppVeyor builds are still available (AMD 32/64 only) at releases.fluentbit.io but are deprecated.

MSI installers are also available:

To check the integrity, use the Get-FileHash cmdlet for PowerShell.

PS> Get-FileHash fluent-bit-4.0.1-win32.exe

Installing from a ZIP archive

  1. Download a ZIP archive. Choose the suitable installers for your 32-bit or 64-bit environments.

  2. Expand the ZIP archive. You can do this by clicking Extract All in Explorer or Expand-Archive in PowerShell.

    PS> Expand-Archive fluent-bit-4.0.1-win64.zip

    The ZIP package contains the following set of files.

    fluent-bit
    ├── bin
    │   ├── fluent-bit.dll
    │   └── fluent-bit.exe
    │   └── fluent-bit.pdb
    ├── conf
    │   ├── fluent-bit.conf
    │   ├── parsers.conf
    │   └── plugins.conf
    └── include
        │   ├── flb_api.h
        │   ├── ...
        │   └── flb_worker.h
        └── fluent-bit.h
  3. Launch cmd.exe or PowerShell on your machine, and execute fluent-bit.exe:

    PS> .\bin\fluent-bit.exe -i dummy -o stdout

The following output indicates Fluent Bit is running:

PS> .\bin\fluent-bit.exe  -i dummy -o stdout
Fluent Bit v2.0.x
* Copyright (C) 2019-2020 The Fluent Bit Authors
* Copyright (C) 2015-2018 Treasure Data
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
* https://fluentbit.io

[2019/06/28 10:13:04] [ info] [storage] initializing...
[2019/06/28 10:13:04] [ info] [storage] in-memory
[2019/06/28 10:13:04] [ info] [storage] normal synchronization mode, checksum disabled, max_chunks_up=128
[2019/06/28 10:13:04] [ info] [engine] started (pid=10324)
[2019/06/28 10:13:04] [ info] [sp] stream processor started
[0] dummy.0: [1561684385.443823800, {"message"=>"dummy"}]
[1] dummy.0: [1561684386.428399000, {"message"=>"dummy"}]
[2] dummy.0: [1561684387.443641900, {"message"=>"dummy"}]
[3] dummy.0: [1561684388.441405800, {"message"=>"dummy"}]

To halt the process, press Control+C in the terminal.

Installing from the EXE installer

  1. Download an EXE installer for the appropriate 32-bit or 64-bit build.

  2. Double-click the EXE installer you've downloaded. The installation wizard starts.

  3. Click Next and finish the installation. By default, Fluent Bit is installed in C:\Program Files\fluent-bit\.

You should be able to launch Fluent Bit using the following PowerShell command:.

PS> C:\Program Files\fluent-bit\bin\fluent-bit.exe -i dummy -o stdout

Installer options

To silently install to C:\fluent-bit directory here is an example:

PS> <installer exe> /S /D=C:\fluent-bit

The uninstaller also supports a silent uninstall using the same /S flag. This can be used for provisioning with automation like Ansible, Puppet, and so on.

Windows service support

Windows services are equivalent to daemons in UNIX (long-running background processes). For v1.5.0 and later, Fluent Bit has native support for Windows services.

For example, you have the following installation layout:

C:\fluent-bit\
├── conf
│   ├── fluent-bit.conf
│   └── parsers.conf
│   └── plugins.conf
└── bin
    ├── fluent-bit.dll
    └── fluent-bit.exe
    └── fluent-bit.pdb

To register Fluent Bit as a Windows service, execute the following command on at a command prompt. A single space is required after binpath=.

sc.exe create fluent-bit binpath= "\fluent-bit\bin\fluent-bit.exe -c \fluent-bit\conf\fluent-bit.conf"

Fluent Bit can be started and managed as a normal Windows service.

% sc.exe start fluent-bit
% sc.exe query fluent-bit
SERVICE_NAME: fluent-bit
    TYPE               : 10  WIN32_OWN_PROCESS
    STATE              : 4 Running
    ...

To halt the Fluent Bit service, use the stop command.

sc.exe stop fluent-bit

To start Fluent Bit automatically on boot, execute the following:

sc.exe config fluent-bit start= auto

FAQs

Fluent Bit fails to start up when installed under C:\Program Files

Quotations are required if file paths contain spaces. For example:

sc.exe create fluent-bit binpath= "\"C:\Program Files\fluent-bit\bin\fluent-bit.exe\" -c \"C:\Program Files\fluent-bit\conf\fluent-bit.conf\""

Can you manage Fluent Bit service using PowerShell?

Instead of sc.exe, PowerShell can be used to manage Windows services.

Create a Fluent Bit service:

PS> New-Service fluent-bit -BinaryPathName "`"C:\Program Files\fluent-bit\bin\fluent-bit.exe`" -c `"C:\Program Files\fluent-bit\conf\fluent-bit.conf`"" -StartupType Automatic -Description "This service runs Fluent Bit, a log collector that enables real-time processing and delivery of log data to centralized logging systems."

Start the service:

PS> Start-Service fluent-bit

Query the service status:

PS> get-Service fluent-bit | format-list
Name                : fluent-bit
DisplayName         : fluent-bit
Status              : Running
DependentServices   : {}
ServicesDependedOn  : {}
CanPauseAndContinue : False
CanShutdown         : False
CanStop             : True
ServiceType         : Win32OwnProcess

Stop the service:

PS> Stop-Service fluent-bit

Remove the service (requires PowerShell 6.0 or later)

PS> Remove-Service fluent-bit

Compile from Source

If you need to create a custom executable, use the following procedure to compile Fluent Bit by yourself.

Preparation

  1. Install Microsoft Visual C++ to compile Fluent Bit. You can install the minimum toolkit using the following command:

PS> wget -o vs.exe https://aka.ms/vs/16/release/vs_buildtools.exe
PS> start vs.exe
  1. Choose C++ Build Tools and C++ CMake tools for Windows and wait until the process finishes.

  2. PS> wget -o winflexbison.zip https://github.com/lexxmark/winflexbison/releases/download/v2.5.22/win_flex_bison-2.5.22.zip
    PS> Expand-Archive winflexbison.zip -Destination C:\WinFlexBison
    PS> cp -Path C:\WinFlexBison\win_bison.exe C:\WinFlexBison\bison.exe
    PS> cp -Path C:\WinFlexBison\win_flex.exe C:\WinFlexBison\flex.exe
  3. Install OpenSSL binaries, at least the library files and headers.

  4. PS> wget -o git.exe https://github.com/git-for-windows/git/releases/download/v2.28.0.windows.1/Git-2.28.0-64-bit.exe
    PS> start git.exe

Compilation

  1. Open the Start menu on Windows and type command Prompt for VS. From the result list, select the one that corresponds to your target system ( x86 or x64).

  2. Verify the installed OpenSSL library files match the selected target. You can examine the library files by using the dumpbin command with the /headers option .

  3. Clone the source code of Fluent Bit.

    % git clone https://github.com/fluent/fluent-bit
    % cd fluent-bit/build
  4. Compile the source code.

    % cmake .. -G "NMake Makefiles"
    % cmake --build .

Now you should be able to run Fluent Bit:

.\bin\debug\fluent-bit.exe -i dummy -o stdout

Packaging

To create a ZIP package, call cpack as follows:

cpack -G ZIP

The Windows installer is built by and supports the for silent installation and install directory.

Install flex and bison. One way to install them on Windows is to use.

Add the path C:\WinFlexBison to your systems environment variable Path..

Install to pull the source code from the repository.

Windows container on Docker Hub
CMake configuration
fluent-bit-4.0.1-win32.msi
fluent-bit-4.0.1-win64.msi
fluent-bit-4.0.1-winarm64.msi
CPack using NSIS
default NSIS options
winflexbison
Here's how to do that
Git
fluent-bit-4.0.1-win32.exe
1734f62dd29d7a94390564e08dc8ecb558e7e668d3c2057d158a40166287effd
fluent-bit-4.0.1-win32.zip
8b8c37bef79d2f940068e1b7ef34d16e5c7e63deaebefbf4117c03cf59788b20
fluent-bit-4.0.1-win64.exe
8a5a72c8cd9fd9ef3ec4238ff322022de9b1714a06610d678288a577dc5da2f5
fluent-bit-4.0.1-win64.zip
79789acb344743f89ea8c4edc1ddd079e80bef5f3060edd8be47d7cf201f0762
fluent-bit-4.0.1-winarm64.exe
a6c50736c11f01dbf34a1336cdbaa8e16500c5431a5f9a82d0b17e79ecc50913
fluent-bit-4.0.1-winarm64.zip
1b2ace05905e1ef5a29ab7a7b4466a66554a919ddff90d93460a5b0e9d5913b5
Installation wizard screenshot