搭建Rsyslog集中日志服务器
1、Rsyslog ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地。 rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收日志消息。rsyslog守护进程可以被配置成两种环境,一种是配置成日志收集服务器,rsyslog进程可以从网络中收集其它主机上的日志数据,这些主机会将日志配置为发送到另外的远程服务器。rsyslog的另外一个用法,就是可以配置为客户端,用来过滤和发送内部日志消息到本地文件夹(如/var/log)或一台可以路由到的远程rsyslog服务器上。 logrotate是一个日志文件管理工具。用来把旧文件轮转、压缩、删除,并且创建新的日志文件。我们可以根据日志文件的大小、天数等来转储,便于对日志文件管理,一般都是通过cron计划任务来完成的。
案列安装 1、172.16.5.154 Server端 2、172.16.5.150 Clinet端
2、rsyslog server服务端配置 安装
yum -y install rsyslog
修改配置文件 /etc/rsyslog.conf 启用udp 和tcp 模块 查看
cat /etc/rsyslog.conf
内容如下
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
#####开启udp接收日志
$ModLoad imudp
$UDPServerRun 514
$template RemoteHost,"/data/syslog/%$YEAR%-%$MONTH%-%$DAY%/%FROMHOST-IP%.log"
*.* ?RemoteHost
& ~
####开启tcp协议接受日志
$ModLoad imtcp
$InputTCPServerRun 514
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
#######启用/etc/rsyslog.d
3、启动rsyslog服务
systemctl restart rsyslog
systemctl status rsyslog
netstat -anp | grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 41910/rsyslogd
tcp6 0 0 :::514 :::* LISTEN 41910/rsyslogd
udp 0 0 0.0.0.0:514 0.0.0.0:* 41910/rsyslogd
udp6 0 0 :::514 :::* 41910/rsyslogd
1、rsyslog 客户端的配置 安装
yum -y install rsyslog
查看配置文件
grep -v "^$" /etc/rsyslog.conf | grep -v "^#"
内容如下
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template myFormat,"%timestamp% %fromhost-ip% %msg%\n" #######自定义模板的相关信息
$IncludeConfig /etc/rsyslog.d
2、重启Rsyslog客户端
systemctl restart rsyslog
systemctl status rsyslog
查看服务端 是否在/data/日期/ip.log正常生成
tail -f /data/syslog/2021-08-03/172.16.5.150.log
查看客户端日志是否同步
tail -f /var/log/messages
日志服务端和客户端日志同步完成
|