Skip to content

Latest commit

 

History

History
48 lines (36 loc) · 1.91 KB

wasm.md

File metadata and controls

48 lines (36 loc) · 1.91 KB
description
Use Wasm programs as a filter

Wasm Filter

Wasm Filter allows you to modify the incoming records using Wasm technology.

Due to the necessity to have a flexible filtering mechanism, it is now possible to extend Fluent Bit capabilities by writing custom filters using built Wasm programs and its runtime. A Wasm-based filter takes two steps:

  1. (Optional) Compiled as AOT (Ahead Of Time) objects to optimize Wasm execution pipeline
  2. Configure the Filter in the main configuration
  3. Prepare a Wasm program that will be used by the Filter

Configuration Parameters

The plugin supports the following configuration parameters:

Key Description
Wasm_Path Path to the built Wasm program that will be used. This can be a relative path against the main configuration file.
Event_Format Define event format to interact with Wasm programs: msgpack or json. Default: json
Function_Name Wasm function name that will be triggered to do filtering. It's assumed that the function is built inside the Wasm program specified above.
Accessible_Paths Specify the whitelist of paths to be able to access paths from WASM programs.
Wasm_Heap_Size Size of the heap size of Wasm execution. Review unit sizes for allowed values.
Wasm_Stack_Size Size of the stack size of Wasm execution. Review unit sizes for allowed values.

Configuration Examples

Here is a configuration example.

[INPUT]
    Name   dummy
    Tag    dummy.local

[FILTER]
    Name wasm
    Match dummy.*
    Event_Format json # or msgpack
    WASM_Path /path/to/wasm_program.wasm
    Function_Name filter_function_name
    Accessible_Paths .,/path/to/accessible

[OUTPUT]
    Name   stdout
    Match  *