The exec input plugin, allows to execute external program and collects event logs.
The plugin supports the following configuration parameters:
Key | Description |
Command | The command to execute. |
Parser | Specify the name of a parser to interpret the entry as a structured message. |
Interval_Sec | Polling interval (seconds). |
Interval_NSec | Polling interval (nanosecond). |
Buf_Size | Size of the buffer (check unit sizes for allowed values) |
You can run the plugin from the command line or through the configuration file:
The following example will read events from the output of ls.
$ fluent-bit -i exec -p 'command=ls /var/log' -o stdoutFluent Bit v1.x.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​[2018/03/21 17:46:49] [ info] [engine] started[0] exec.0: [1521622010.013470159, {"exec"=>"ConsoleKit"}][1] exec.0: [1521622010.013490313, {"exec"=>"Xorg.0.log"}][2] exec.0: [1521622010.013492079, {"exec"=>"Xorg.0.log.old"}][3] exec.0: [1521622010.013493443, {"exec"=>"anaconda.ifcfg.log"}][4] exec.0: [1521622010.013494707, {"exec"=>"anaconda.log"}][5] exec.0: [1521622010.013496016, {"exec"=>"anaconda.program.log"}][6] exec.0: [1521622010.013497225, {"exec"=>"anaconda.storage.log"}]
In your main configuration file append the following Input & Output sections:
[INPUT]Name execTag exec_lsCommand ls /var/logInterval_Sec 1Interval_NSec 0Buf_Size 8mb​[OUTPUT]Name stdoutMatch *