rsyslog日志配置
1. syslog主配置文件:/etc/rsyslog.conf
是以tcp方式接收远程服务发来的日志
# provides TCP syslog reception module(load="imtcp") #导入tcp模块 #input(type="imtcp" port="514")
2. syslog子配置文件:/etc/rsyslog.d/01-tcp-remote.conf
这个01-tcp-remote.conf是要自己创建的
写入配置内容前创建好日志要保存的位置
sudo mkdir -p /mnt/x/logs # 创建日志保存的目录
sudo chown syslog:adm /mnt/x/logs # 修改 /mnt/x/logs 目录的所有者和所属组
sudo chmod 0744 /mnt/x/logs # 添加权限
# TCP输入配置 input(type="imtcp" port="514") # 定义日志保存模板:按日期目录+小时文件存储 # 路径格式:/mnt/x/logs/年份月份日期/主机名/小时.log # %$YEAR%%$MONTH%%$DAY%:日期目录(如20250907) # %$HOUR%:小时文件(如14.log表示14点) $template HourlyTcpLogs,"/mnt/x/logs/%$YEAR%%$MONTH%%$DAY%/%HOSTNAME%/%$HOUR%.log" # 应用规则:仅对TCP接收的日志生效 if $inputname == "imtcp" then { *.* ?HourlyTcpLogs # 应用小时分割模板 & ~ # 不再转发到其他规则 } # 权限设置 $FileOwner syslog $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 # 确保日志按小时滚动(每小时创建新文件) $ActionQueueFileName queue # 队列文件名前缀 $ActionQueueMaxDiskSpace 1g # 队列最大磁盘空间 $ActionQueueSaveOnShutdown on # 关闭时保存队列 $ActionQueueType LinkedList # 队列类型 $ActionResumeRetryCount -1 # 无限重试
3. 发送端:
logger -T -n 127.0.0.1 -P 514 "hello syslog"
4. 接收端:
tail -f 16.log # 动态产看日志变化(重复的日志将不会记录)
好好学习,天天向上。

浙公网安备 33010602011771号