我正在嘗試使用 nxlog 將 vCenter 訊息轉發到 Logstash,並使用im_file
輸入模組和模式來指定要監視的確切檔案。通常很簡單的事情現在變得不必要地複雜,因為 vCenter 的日誌輪換會壓縮日誌,然後在建立下一個日誌檔案時增加檔案名稱。例如:
vpxd-1.log -> vpxd-1.log.gz -> vpxd-2.log
我想轉送來自 vCenter vpxd.log 日誌的訊息:
*vpxa(\.log|\.\d+(\.gz)?|-\d+\.log(\.gz)?)
答案1
由於 vCenter 日誌的格式與 ESXi 日誌不同,因此我決定使用 Logstash 而不是 nxlog。我將在轉發器中設定本機過濾器,以將 vCenter 訊息轉換為與 ESXi 訊息類似的格式。
有關將 Logstash 作為 Windows 服務運行的更多信息,請參閱本指南。
服務配置:
C:
cd \logstash
set HOME=c:/logstash/sincedb
"C:\Program Files\Java\jdk1.7.0_45\bin\java.exe" -jar logstash-1.2.2.jar agent --config logstash.conf --log logstash.log
日誌儲存配置:
input {
file {
path => [ "C:/vmware_logs/vpxd-[0-5][0-9].log", "C:/vmware_logs/vpxd-alert-[0-5][0-9].log" ]
type => "syslog"
exclude => "*.gz"
}
}
output {
udp {
host => "<address>"
port => "514"
}
stdout {
debug => true
}
}