我在用著rsyslog 8.40我正在嘗試使用佇列設定日誌轉發。
我能夠使用以下配置將日誌傳送到轉送伺服器。
action(type="omfwd" target="host1" port="10515" protocol="udp" )
action(type="omfwd" target="host2" port="10514" protocol="udp" )
現在,我想將日誌保留在佇列中,以便每當我的目標伺服器發生故障時,我都不會遺失日誌。
為此,我正在做這樣的事情:
action(type="omfwd" target="host1" port="10515" protocol="udp"
queue.spoolDirectory="/var/lib/rsyslog"
queue.type="LinkedList"
queue.filename="host1.queue"
action.resumeRetryCount="-1"
queue.saveOnShutdown="on"
)
action(type="omfwd" target="host2" port="10514" protocol="udp"
queue.type="LinkedList"
queue.filename="host2.queue"
action.resumeRetryCount="-1"
queue.saveOnShutdown="on"
)
如果我關閉轉發伺服器,則不會在佇列文件中建立日誌,我希望該日誌出現在 /var/lib/rsyslog 中,因為我有以下設定:
global(
net.enableDNS="off"
preserveFQDN="on"
umask="0004"
workDirectory="/var/lib/rsyslog"
)
JFTR,
- 配置沒有任何配置錯誤。
- 我已經在 rsyslogd 中啟用了調試,但這並沒有給我指出任何錯誤。
答案1
我設法找出這種行為的原因:
引用自這裡
只有當遠端伺服器關閉且記憶體佇列中沒有更多空間時,才會建立實際的假脫機檔案。預設情況下,遠端伺服器的短暫故障永遠不會導致建立磁碟文件,因為預設可以在記憶體中保存數百條訊息。