一.安装
yum install -y rsyslog
二.发送端LOG的机器配置
记录到本地文件
$template rsys_alert,"iCatch|%PRI%|%timereported:::date-rfc3339%|%msg%\n"
local1.* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/var/log/alert.log;rsys_alert
日志转发规则-全部转发
#$WorkDirectory /var/spppl/rsyslog # where to place spool files
#$ActionQueueFileName fwdRule1 ? #unique name prefix for spool files
#$ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible)
#$ActionQueueSaveOnShutdown on ? #save messages to disk on shutdown
#$ActionQueueType LinkedList ? ? #run asynchronously
#$ActionResumeRetryCount -1 ? ? ?#infinite retries if host is down
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* ? ?@@remote-host:514 ? ? ? ?#@@表示通过tcp协议发送 @表示通过udp进行转发
#local1.info @@localhost :514
#local1.* ? ? ? ? ? ? ? ? ? ? ? ?#@@192.168.56.7:514
日志转发规则-指定文件转发
#定义从指定的设备文件中读取日志
$AddUnixListenSocket /var/log/alert.log
#使用一个已定义的模板(rsys_alert);
$ActionFileDefaultTemplate rsys_alert
?
#摘取$msg(消息)变量内容,判断如果有keyboard就进行远程传送,没有的就不传送;
if $msg contains "keyboard" ?then
action()
#这里不用判断都发送
action(type="omfwd" Target="172.18.20.60"\
? ? ? ?Port="8594"\
? ? ? ?Protocol="udp"\
? ? ? ?queue.type="LinkedList"\
? ? ? ?queue.spoolDirectory="/var/spool/rsyslog"\
? ? ? ?queue.filename="test2"\
? ? ? ?queue.size="100000"\
? ? ? ?queue.maxdiskspace="2g"\
? ? ? ?queue.highwatermark="60000"\
? ? ? ?queue.lowwatermark="2000"\
? ? ? ?queue.discardmark="80000"\
? ? ? ?queue.timeoutenqueue="3000"\
? ? ? ?queue.maxfilesize="200m"\
? ? ? ?queue.dequeuebatchsize="1000"\
? ? ? ?)
& stop
最后重启下发送端主机的firewalld服务
systemctl restart firewalld
三.接收LOG机器配置
配置启用udp.tcp协议,监听514端口
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
接收日志的存放目录和文件命名规则
#将所有从远程客户端接受到的消息写入指定目录下以它们的IP地址命名和日期命名的的文件中
$template RemoteLogs,"/var/log/devicelog/%$YEAR%-%$MONTH%/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"
*.* ?RemoteLogs
& ~
修改配置之后重启机器
systemctl stop rsyslog.service && systemctl start rsyslog.service && systemctl status rsyslog.service
参考
http://www.rsyslog.com
https://www.rsyslog.com/doc/v8-stable/configuration/templates.html
https://www.linuxprobe.com/linux-rsyslog-system.html
|