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號