目录

rsyslog日志服务器搭建

rsyslog日志服务器搭建

rsyslog客户端:负责发送日志到远程日志服务器,支持udp,tcp,relp协议。

rsyslog服务端:负责接收客户端发来的日志并存储在本地,支持文件存储和数据库存储方式。

保存日志的路径格式为:源IP地址/设施名(日志类别)/年月.log。

安装rsyslog软件

1
yum install rsyslog -y 

配置rsyslog.conf文件

开放514 tcp 和 udp 监听

1
2
3
4
5
6
7
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

服务端核心配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
#### GLOBAL DIRECTIVES ####

# Where to place auxiliary files
$WorkDirectory /var/lib/rsyslog

# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
##这里是服务端添加的配置 begin
# 使用 RemoteLogs 模板接收客户端的日志,保存到本地的/var/log/remote目录下,每台客户端的ip_年份_月份_日期的log
$template RemoteLogs,"/var/log/remote/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"
# 所有服务所有级别的日志都记录
*.* ?RemoteLogs
#服务端本机的日志不记录
:fromhost-ip, !isequal, "127.0.0.1" ?Remote

#指示rsyslog在将消息写入文件后停止处理消息,如果不包含"& ~",则消息将被写入本地文件,导致消息被记录2次。
& ~
## 这里是服务端添加的配置 end

重启rsyslog服务

1
systemctl restart rsyslog

最后到配置目录下查看是否有日志生成

1
2
3
4
5
[root@localhost 127.0.0.1]# ll
total 4
-rw------- 1 root root 1639 Oct 25 10:01 127.0.0.1_2022-10-25.log
[root@localhost 127.0.0.1]# pwd 
/var/log/remote/127.0.0.1

rsyslog客户端配置

表示将用户登录日志和定时任务日志发送到192.168.1.74的514端口,默认采用TCP进行发送。

1
2
3
vi /etc/rsyslog.conf
###rule for 192.168.1.74 ###
auth.*;authpriv.*;cron.*  @@192.168.1.74:514
警告
本文最后更新于 October 25, 2022,文中内容可能已过时,请谨慎使用。