برنامه نویسی
ارسال گزارش های سرور DHCP به 2 سرور مختلف Syslog به طور همزمان
1. نصب سرور Rsyslog
- اول از همه، هر 2 سرور پیکربندی شده برای دریافت گزارش سیستم ثبت باید نصب شود. برای این نیاز سرور ورود، می توان از آن برای نصب یک سرور rsyslog منبع باز استفاده کرد.
‼️ مورد سوم در پیوند “تنظیمات ماشین مولد لاگ” برای این مقاله ساخته نخواهد شد.
2. ارسال گزارش از DHCP به 2 آدرس مختلف
-
قبلاً ذکر شد که لاگ های DHCP با استفاده از NXLog در دستگاه ویندوز به سنسور مربوطه ارسال می شوند. نصب و استفاده از NXLog را می توان از مقاله مرتبط بررسی کرد.
-
پس از نصب فایل nxlog.conf را دانلود کنید C:\Program Files\nxlog\conf در پوشه پیدا کنید
- فایل nxlog.conf را با استفاده از یک فایل متنی باز کنید. کپی و چسباندن متن ارائه شده برای نسخه ویندوز شما خروجی سیستم خروجی داخل خط:
- میزبان: IP سرورهای Rsyslog که قرار است گزارش به آنها ارسال شود را تایپ کنید.
- بندر: پورت سرور Rsyslog (514) که قرار است گزارش به آن ارسال شود را تغییر دهید و سپس فایل را ذخیره کنید.
سیستم عامل ویندوز x64 بیت:
#NoFreeOnExit TRUE
define ROOT C:\Program Files\nxlog
define CERTDIR %ROOT%\cert
define CONFDIR %ROOT%\conf\nxlog.d
define LOGDIR %ROOT%\data
include %CONFDIR%\\*.conf
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>
# Snare compatible example configuration
# Collecting event log
<Input watchfile>
Module im_file
File 'C:\Windows\System32\dhcp\DhcpSrvLog-*.log'
Exec $Message = $raw_event;
Exec if file_name() =~ /.*\\(.*)/ $SourceName = $1;
SavePos TRUE
Recursive TRUE
</Input>
<Processor filewatcher_transformer>
Module pm_transformer
Exec $Hostname = hostname();
OutputFormat json
</Processor>
# Converting events to Snare format and sending them out over TCP syslog
<Output out>
Module om_tcp
Host rsyslog_server_1
Port 514
Exec to_syslog_snare();
</Output>
<Output out2>
Module om_tcp
Host rsyslog_server_2
Port 514
Exec to_syslog_snare();
</Output>
# Connect input 'in' to output 'out'
<Route route1>
Path watchfile => filewatcher_transformer => out
</Route>
<Route route2>
Path watchfile => filewatcher_transformer => out2
</Route>
-
اکنون که فرآیند پیکربندی را تکمیل کرده ایم، می توانیم سرویس nxlog خود را مجددا راه اندازی کنیم و لاگ های خود را ارسال کنیم.
-
کنترل پنل > Services’e gidin ve nxlog سرویس پر است.
-
روی nxlog کلیک راست کنید و راه اندازی مجددکلیک .
ls -l /var/log/remote/
- گزارشهای ارسال شده بعداً در هر دو دستگاه مانند خطوط آخر نمایش داده میشوند: