罪恶克星 发表于 2024-10-28 13:22:11

Windows使用nxlog发送系统日志到Linux的rsyslog服务器

媒介

要将Windows系统日志发送到Linux的rsyslog服务器,可以使用一种叫做nxlog的工具。
nxlog是一款跨平台的日志管理工具,能够收集、转换和转发日志数据。
一、IP地点规划及示意图

https://i-blog.csdnimg.cn/blog_migrate/937c9b375105612a99734aa41c6dc40e.jpeg#pic_center
二、在windows上安装及配置nxlog

1.下载nxlog

https://nxlog.co/products/nxlog-community-edition
https://i-blog.csdnimg.cn/blog_migrate/0a3352bba109ec59394a0d77d940bfab.jpeg#pic_center
https://i-blog.csdnimg.cn/blog_migrate/4c8f75d5c4ea0cc77e58d93a71625664.jpeg#pic_center
https://i-blog.csdnimg.cn/blog_migrate/9e6eeaff0e443398837f88289cdcd2e0.jpeg#pic_center
2.安装nxlog

https://i-blog.csdnimg.cn/blog_migrate/14c2c568e4ecc1b14d56366ccecc9ba1.jpeg#pic_center
https://i-blog.csdnimg.cn/blog_migrate/842b6e0c78bdadaca22b34d3ec8c3db1.jpeg#pic_center
3.配置nxlog

新建txt文件,编辑内容如下,并将其重命名为nxlog.conf
更换C:\Program Files\nxlog\conf\nxlog.conf
define ROOT C:\Program Files\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>

<Extension _exec>
    Module xm_exec
</Extension>

<Input in>
    Module im_msvistalog
</Input>

<Input logger>
    Module im_file
    File 'C:\\path\\to\\custom.log'
    SavePos TRUE
    Exec $Message = $raw_event;
</Input>

<Output out>
    Module om_udp
    Host 10.10.10.10
    Port 514
    Exec to_syslog_bsd();
</Output>

<Route 1>
    Path in => out
</Route>

<Route 2>
    Path logger => out
</Route>
https://i-blog.csdnimg.cn/blog_migrate/eff4dcf29a75f38b1496238e722b6758.jpeg#pic_center
https://i-blog.csdnimg.cn/blog_migrate/4e632958139ed53616d731943f11b974.jpeg#pic_center
4.创建对应日志路径的文件夹

https://i-blog.csdnimg.cn/blog_migrate/6c3f6b97d91045a01d44825b41eac17c.jpeg#pic_center
三、windows上启动nxlog服务

打开“运行”对话框(按Win + R)。
输入services.msc并按回车。
在服务列表中找到nxlog,右键单击并选择“启动”。
https://i-blog.csdnimg.cn/blog_migrate/c054897d0b71a1a446fa61fd05850932.jpeg#pic_center
四、在CentOS 7上配置日志存到指定位置文件

1.编辑/etc/rsyslog.conf 文件

实现来自不同客户端的日志,存储在不同的日志文件中
nano /etc/rsyslog.conf

if ($fromhost-ip == '10.10.10.30') then /var/log/client_logs/10.10.10.30.log
& stop
https://i-blog.csdnimg.cn/blog_migrate/ca1c5faaa211c0db45a96f36dae33e02.jpeg#pic_center
2.重启rsyslog服务

systemctl restart rsyslog
五、验证日志服务器配置是否生效

1.在windows上使用批处置惩罚写入自界说消息到日志

新建txt,编辑内容如下,并改后缀为bat实行
@echo off
echo %date% %time% Custom log message winchen789789 >> C:\path\to\custom.log
每次运行这个脚本都会将自界说日志消息写入到 custom.log 文件中,nxlog 会监视该文件并将日志消息发送到 rsyslog 服务器。
2.在CentOS 7 的rsyslog服务端上验证是否收到自界说消息

tail -f /var/log/client_logs/10.10.10.30.log
https://i-blog.csdnimg.cn/blog_migrate/ff2b4301b295b856af2adf29a2bf1519.jpeg#pic_center


[*]END

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Windows使用nxlog发送系统日志到Linux的rsyslog服务器