目录
- server 192.168.222.5 controller
- client 192.168.222.10 computer
一、配置rsyslog日志服务器
1.修改/etc/rsyslog.conf 配置文件
(此处修改白名单设置即可)
[root@controller ~]# tail -n12 /etc/rsyslog.conf (文件最后添加如下内容)
#启动udp端口也能够是tcp端口
$ModLoad imudp
$UDPServerRun 514
#设置白名单
$AllowedSender UDP, 192.168.222.10/24, 10.0.0.0/8
#配置模板,以客户端ip为目录,以日期命名文件
$template IpTemplate,"/var/log/remote/%FROMHOST-IP%/%$YEAR%-%$MONTH%-%$DAY%.log"
#把非本地传输的日志按照指定的模板存放
:fromhost-ip, !isequal, "127.0.0.1" ?IpTemplate
# & 表示已经匹配处理的内容,~ 表示再也不进行其余处理
& ~
2.重启服务
[root@controller ~]# systemctl restart rsyslog二、配置rsyslog客户端
1.配置PROMP_COMMAND
[root@computer ~]# vim /etc/bashrc
#文件最后添加如下内容
readonly PROMPT_COMMAND='logger -p local3.notice -t bash "$(ifconfig | grep -E "eth|em" -A 1 | grep "192.168.222.10" | grep -oP "(?<=addr:)[\d\.]+") $(who am i |awk "{print \$1\" \"\$2\" \"\$3\" \"\$4\" \"\$5}") [`pwd`] currentuser=$(whoami) command=$(history 1 | { read x cmd; echo "$cmd"; })"'
[root@computer ~]# source /etc/bashrc (注意修改下图中框红内容)

2.修改rsyslog.conf 配置文件
(此处修改远程日志服务器IP)
[root@computer ~]# vim /etc/rsyslog.conf
[root@computer ~]# tail -n8 /etc/rsyslog.conf (添加如下内容)
#添加local3.none
*.info;mail.none;authpriv.none;cron.none;local3.none /var/log/messages
##保存到本地的文件
local3.notice /var/log/audit.log
##远程日志服务器#
local3.notice @192.168.222.5
[root@computer ~]# systemctl restart rsyslog3.配置轮转日志并强制轮转
[root@computer ~]# vim /etc/logrotate.d/rsyslog
[root@computer ~]# cat /etc/logrotate.d/rsyslog
/var/log/audit.log{
daily
rotate 4
missingok
notifempty
nocompress
create
dateext
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
[root@computer ~]# logrotate -vf /etc/logrotate.d/rsyslog
[root@computer ~]# ls /var/log|grep audit检查对应日志是否生成

三、结果检查
1.客户端检查

2.服务器检查
