rsyslog 日誌不儲存在佇列檔案中

rsyslog 日誌不儲存在佇列檔案中

我在用著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

我設法找出這種行為的原因:

引用自這裡

只有當遠端伺服器關閉且記憶體佇列中沒有更多空間時,才會建立實際的假脫機檔案。預設情況下,遠端伺服器的短暫故障永遠不會導致建立磁碟文件,因為預設可以在記憶體中保存數百條訊息。

相關內容