Selamlar arkadaşlar bu makalemde sizlere Windows 10 Pro cihazımıza NXLog yükleyerek Windows Log’larımızı GrayLog sistemimize göndermeyi anlatacağım.
Bunun için ilk olarak Linkinden NXLog indirmelisiniz ve Windows 10 cihazınıza bunu kurmanız gerekmektedir.
Açılan sayfada Windows İşletim Sistemini bulmalı ve gerekli programı sisteminize indirmelisiniz. Ardından bu programı çalıştırmalı ve Super Next’ler ile kurulumu gerçekleştirmelisiniz.
Daha sonra cihazınızda C:\Program Files (x86)\nxlog\conf yolunu izlemeli ve nxlog.conf dosyasını not defteri ile açmalısınız. Bunun yapmamızın sebebi sistemimizde kurulu olan NXLog’un Graylog’u tanımasını sağlamaktır.
Dosyanın içerisine aşağıdaki kodları eklemeniz gerekmektedir. Bu kodlar sayesinde GELF formatında Logları iletiyor olacaksınız.
Panic Soft
#NoFreeOnExit TRUE
define ROOT C:\Program Files (x86)\nxlog
define CERTDIR %ROOT%\cert
define CONFDIR %ROOT%\conf
define LOGDIR %ROOT%\data
define LOGFILE %LOGDIR%\nxlog.log
LogFile %LOGFILE%
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
<Extension _syslog>
Module xm_syslog
</Extension>
<Extension _charconv>
Module xm_charconv
AutodetectCharsets iso8859-2, utf-8, utf-16, utf-32
</Extension>
<Extension _exec>
Module xm_exec
</Extension>
<Extension _fileop>
Module xm_fileop
# Check the size of our log file hourly, rotate if larger than 5MB
<Schedule>
Every 1 hour
Exec if (file_exists('%LOGFILE%') and \
(file_size('%LOGFILE%') >= 5M)) \
file_cycle('%LOGFILE%', 8);
</Schedule>
# Rotate our log file every week on Sunday at midnight
<Schedule>
When @weekly
Exec if file_exists('%LOGFILE%') file_cycle('%LOGFILE%', 8);
</Schedule>
</Extension>
<Extension gelf>
Module xm_gelf
</Extension>
<Input in>
Module im_msvistalog
ReadFromLast FALSE
SavePos FALSE
Query <QueryList>\
<Query Id="0">\
<Select Path="Application">*</Select>\
<Select Path="System">*</Select>\
<Select Path="Security">*</Select>\
</Query>\
</QueryList>
</Input>
<Output out>
Module om_udp
Host 192.168.1.104
Port 12201
OutputType GELF
</Output>
<Route 1>
Path in => out
</Route>
# Snare compatible example configuration
# Collecting event log
# <Input in>
# Module im_msvistalog
# </Input>
#
# Converting events to Snare format and sending them out over TCP syslog
# <Output out>
# Module om_tcp
# Host 192.168.1.104
# Port 12201
# Exec to_syslog_snare();
# </Output>
#
# Connect input 'in' to output 'out'
# <Route 1>
# Path in => out
# </Route>
Bu sayede Config işlemlerimizi tamamladık.
Artık Services.msc altında bulunan nxlog servisini yeniden başlatabilirsiniz. Bu sayede loglar server’ınıza gidecektir.
SYSLOG Formatında İletmek İsterseniz Aşağıdaki Conf’u Kullanabilirsiniz :
## Please set the ROOT to your nxlog installation directory
#define ROOT C:\Program Files\nxlog
define ROOT C:\Program Files (x86)\nxlog
Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log
<Extension syslog>
Module xm_syslog
</Extension>
# Monitor application log files
<Input watchfile>
Module im_file
File 'C:\\path\\to\\*.log'
Exec $Message = $raw_event;
Exec if file_name() =~ /.*\\(.*)/ $SourceName = $1;
SavePos TRUE
Recursive TRUE
</Input>
# Monitor a single application log file
#<Input watchfile2>
# Module im_file
# # File 'C:\\path\\to\\a\\single\\file.log'
# Exec $Message = $raw_event;
# Exec if file_name() =~ /.*\\(.*)/ $SourceName = $1;
# SavePos TRUE
# Recursive TRUE
#</Input>
# Monitor Windows event logs
<Input eventlog>
# Uncomment for Windows Vista/2008 or later
Module im_msvistalog
# Uncomment for Windows 2000 or later
# Module im_mseventlog
</Input>
<Processor eventlog_transformer>
Module pm_transformer
Exec $Hostname = hostname();
OutputFormat syslog_rfc5424
</Processor>
<Processor filewatcher_transformer>
Module pm_transformer
# Uncomment to override the program name
# Exec $SourceName = 'PROGRAM NAME';
Exec $Hostname = hostname();
OutputFormat syslog_rfc5424
</Processor>
<Output syslogout>
Module om_udp
Host 192.168.1.96
Port 12201
</Output>
<Route 1>
Path eventlog => eventlog_transformer => syslogout
</Route>
<Route 2>
Path watchfile => filewatcher_transformer => syslogout
</Route>
# Replace route 2 with this implementation if watchfile2 is active
#<Route 2>
# Path watchfile, watchfile2 => filewatcher_transformer => syslogout
#</Route>
Almış olduğunuz Log’ları Graylog sisteminde toplayabilmek için Linkine gidebilir ve Graylog makalemi okuyabilirsiniz.
Umarım yararlı bir makale olmuştur. Herkese kolaylıklar dilerim.