我正在尝试使用nxlog将vCenter消息转发到Logstash,使用im_fileinput模块和指定要监视的确切文件的模式。 现在通常很简单的事情现在变得非常复杂,因为vCenter的日志轮转会压缩日志,然后在创build下一个日志文件时增加文件名。 例如:
vpxd-1.log – > vpxd-1.log.gz – > vpxd-2.log
我想转发来自vCenter vpxd.log日志的消息:
*vpxa(\.log|\.\d+(\.gz)?|-\d+\.log(\.gz)?)
由于vCenter日志的格式与ESXi日志不同,因此我决定使用Logstash而不是nxlog。 我将在转发器中设置本地filter,将vCenter邮件转换为与ESXi邮件类似的格式。
有关将Logstash作为Windows服务运行的更多信息,请参阅本指南。
服务configuration:
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
Logstashconfiguration:
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 } }