Microsoft Windows has a service that maintains local logs and events called EventLog. The EventLog acts as a local repository of all the logs produced by the system itself, including the operating system and its various services.

Collecting and forwarding data from Windows systems requires an agent that can:

  • Collect logs and events from Windows EventLog
  • Collect logs and events placed in local files and folders by applications
  • Foward real-time syslog-compatible data to an external system

Use NXLog

Once such agent is NXLog. You can download NXLog and its documentation at:

Below is a sample config that grabs Windows EventLogs and two application log files, then sends them over UDP to Unomaly.

define ROOT C:\Program Files (x86)\nxlog

Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
SuppressRepeatingLogs FALSE

<Extension syslog>
Module xm_syslog

<Input eventlog>
Module im_msvistalog

<Input logfile>
InputType LineBased
Module im_file
File 'C:\Path\To\file.log'
PollInterval 10
DirCheckInterval 10
CloseWhenIdle TRUE

<Output uout>
Module om_udp
Host unomaly_host
Port 514
Exec to_syslog_bsd();

<Route 1>
Path eventlog, logfile => uout

Table of Contents