Windows Event Log (winevtlog)
The winevtlog input plugin allows you to read Windows Event Log with new API from winevt.h.

Configuration Parameters

The plugin supports the following configuration parameters:
Key
Description
Default
Channels
A comma-separated list of channels to read from.
Interval_Sec
Set the polling interval for each channel. (optional)
1
Interval_NSec
Set the polling interval for each channel (sub seconds. (optional)
0
Read_Existing_Events
Whether to read existing events from head or tailing events at last on subscribing. (optional)
False
DB
Set the path to save the read offsets. (optional)
String_Inserts
Whether to include StringInserts in output records. (optional)
False
Render_Event_As_XML
Whether to render system part of event as XML string or not. (optional)
False
Use_ANSI
Use ANSI encoding on eventlog messages. (optional)
False
Note that if you do not set db, the plugin will tail channels on each startup.

Configuration Examples

Configuration File

Here is a minimum configuration example.
1
[INPUT]
2
Name winevtlog
3
Channels Setup,Windows PowerShell
4
Interval_Sec 1
5
DB winevtlog.sqlite
6
7
[OUTPUT]
8
Name stdout
9
Match *
Copied!
Note that some Windows Event Log channels (like Security) requires an admin privilege for reading. In this case, you need to run fluent-bit as an administrator.

Command Line

If you want to do a quick test, you can run this plugin from the command line.
1
$ fluent-bit -i winevtlog -p 'channels=Setup' -p 'Read_Existing_Events=true' -o stdout
Copied!
Note that winevtlog plugin will tail channles on each startup. If you want to confirm whether this plugin is working or not, you should specify -p 'Read_Existing_Events=true' parameter.