Exec WASI
The Exec WASI input plugin lets you execute Wasm programs that are WASI targets like external programs and collect event logs from there.
Configuration parameters
The plugin supports the following configuration parameters:
WASI_Path
The location of a Wasm program file.
Parser
Specify the name of a parser to interpret the entry as a structured message.
Accessible_Paths
Specify the allowed list of paths to be able to access paths from Wasm programs.
Interval_Sec
Polling interval (seconds).
Interval_NSec
Polling interval (nanosecond).
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.
Buf_Size
Size of the buffer See unit sizes for allowed values.
Oneshot
Only run once at startup. This allows collection of data precedent to the Fluent Bit startup (Boolean, default: false).
Threaded
Indicates whether to run this input in its own thread. Default: false.
Configuration examples
Here is a configuration example.
in_exec_wasi can handle parsers. To retrieve from structured data from a Wasm program, you must create a parser.conf:
The Time_Format should be aligned for the format of your using timestamp.
This example assumes the Wasm program writes JSON style strings to stdout.
parsers:
- name: wasi
format: json
time_key: time
time_format: '%Y-%m-%dT%H:%M:%S.%L %z'[PARSER]
Name wasi
Format json
Time_Key time
Time_Format %Y-%m-%dT%H:%M:%S.%L %zThen, you can specify the parsers.conf in the main Fluent Bit configuration:
service:
flush: 1
daemon: off
parsers_file: parsers.yaml
log_level: info
http_server: off
http_listen: 0.0.0.0
http_port: 2020
pipeline:
inputs:
- name: exec_wasi
tag: exec.wasi.local
wasi_path: /path/to/wasi/program.wasm
# Note: run from the 'wasi_path' location.
accessible_paths: /path/to/accessible
outputs:
- name: stdout
match: '*'[SERVICE]
Flush 1
Daemon Off
Parsers_File parsers.conf
Log_Level info
HTTP_Server Off
HTTP_Listen 0.0.0.0
HTTP_Port 2020
[INPUT]
Name exec_wasi
Tag exec.wasi.local
WASI_Path /path/to/wasi/program.wasm
Accessible_Paths .,/path/to/accessible
Parser wasi
[OUTPUT]
Name stdout
Match *
Last updated
Was this helpful?