需求说明

由于新增一套安全分析设备系统,需要将青藤云万相的日志发送到态势感知和安全分析设备中,万相不支持配置多个syslog服务器地址,当然使用API方式也是比较好的,不过使用API方式进行接入会累死我。

无奈厂商和设备负责人不给力,只好自己动手了,lol..

为了满足这个需求,我们需要搭建一个rsyslog服务,通过配置rsyslog,使得成为一台日志中继的服务器,安全设备发送日志到这个rsyslog中继服务器,然后再通过这台服务器转发到不同的两个设备中,本例端口使用方式标准的514 udp端口。

基础环境

环境说明

rsyslog日志中继服务器操作系统:Centos7,Centos一般自带rsyslog,无需安装

rsyslog日志中继服务器IP:192.168.1.100

第三方设备平台IP2:192.168.1.101

第三方平台设备IP1:192.168.1.102

配置Rsyslog中继

编辑/etc/rsyslog.conf,配置日志接收的方式,根据自身需求删掉对应的#号。

本例使用udp 514端口进行日志接收,

如需使用udp非514端口,记得要关掉selinux。

先备份原文件

cp /etc/rsyslog.conf /etc/rsyslog.conf.bak

再编辑

vim /etc/rsyslog.conf

这里我删掉了原文件,直接使用如下内容

#使用udp进行日志接收
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

#使用tcp进行日志接收
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

配置日志转发方式(日志输出方式)

编辑/etc/rsyslog.conf,在文件末尾添加如下内容

#发送所有日志到192.168.1.101的udp 514端口
*.* @192.168.1.101:514
*.* @192.168.1.102:514

#发送所有日志到192.168.1.102的tcp 514端口
*.* @@192.168.1.102:514

所以这是我最后的/etc/rsyslog.conf所有内容

$ModLoad imudp
$UDPServerRun 514
*.* @192.168.1.101:514
*.* @192.168.1.102:514

如果要按源设备的IP进行区分的话可以按照下面的方式修改
收到192.168.2.201设备发送过来的日志 转发到192.168.1.101的514 UDP端口

:fromhost-ip, isequal,"192.168.2.201"  @192.168.1.101:514

收到192.168.2.202设备发送过来的日志 转发到192.168.1.102的514 TCP端口

:fromhost-ip, isequal,"192.168.2.202"  @@196.168.1.102:514

限制rsyslogd内存占用

修改rsyslogd服务配置文件

vim /usr/lib/systemd/system/rsyslog.service

在Service配置中添加

MemoryAccounting=yes

MemoryMax=80M

MemoryHigh=8M

[Service]
Type=notify
EnvironmentFile=-/etc/sysconfig/rsyslog
ExecStart=/usr/sbin/rsyslogd -n $SYSLOGD_OPTIONS
Restart=on-failure
UMask=0066
StandardOutput=null
Restart=on-failure
MemoryAccounting=yes
MemoryMax=80M
MemoryHigh=8M

通常情况下rsyslogd大小只有5M,所以将内存上限设置为8M,然后将绝对内存限制为80M。

重启服务

[root@localohsot ~]#
systemctl daemon-reload
systemctl enable rsyslog
systemctl start rsyslog
systemctl restart rsyslog
systemctl status rsyslog

参考链接

https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=139391

https://blog.espnlol.com/?p=525

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注