日誌輪轉導致 nxlog 失敗

日誌輪轉導致 nxlog 失敗

我正在使用 nxlog 來監視 Windows Server 2008 系統上的兩個 vCenter 日誌文件,並且我有一個非常簡單的配置來將訊息發送到 Logstash。昨天,檔案輪替後,Nxlog 開始失敗。這是我的配置:

<Extension syslog>
    Module      xm_syslog
</Extension>

<Input in1>
    Module      im_file
    File        "C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-[0-5][0-9].log"
    SavePos     TRUE
</Input>

<Input in2>
    Module      im_file
    File        "C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-alert-[0-5][0-9].log"
    SavePos     TRUE
</Input>

<Processor buffer1>
    Module  pm_buffer
    MaxSize 1024
    Type    Mem
    WarnLimit   512
</Processor>

<Processor buffer2>
    Module  pm_buffer
    MaxSize 1024
    Type    Mem
    WarnLimit   512
</Processor>

<Output out1>
    Module      om_udp
    Host        <ip>
    Port        514
</Output>

<Output out2>
    Module      om_udp
    Host        <ip>
    Port        514
</Output>

<Route 1>
    Path        in1 => buffer1 => out1
</Route>

<Route 2>
    Path        in2 => buffer2 => out2
</Route>

vCenter 日誌輪換有點奇怪,所以我認為它至少部分導致了這個問題。您可以從上面看到我正在觀看的檔案名稱。該檔案創建為 vpxd-01.log 並從那裡遞增。檔案達到 50MB 時會輪換,舊日誌會在建立兩個新檔案後進行壓縮,例如建立 vpxd-03 並壓縮 vpxd-01。

但昨天 nxlog 開始監視的第一個檔案(自上周安裝以來)被輪換,導致此錯誤:

2013-12-28 19:41:08 WARNING input file does not exist: C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-47.log

它在接下來的 24 小時內重複了 12 次,然後 nxlog 完全失敗,直到我昨天早上重新啟動該服務。

希望我的解釋有意義。我最終丟失了大約六個小時的日誌,所以我想確保這種情況不會再次發生。有人有任何解決方案或建議嗎?

答案1

嘗試使用此輸入而不是硬定義 [0-5][0-9]:

<Input in2>
    Module      im_file
    File        "C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-*.log"
    SavePos     TRUE
</Input>

相關內容