IIS高级日志转发到Syslog

我正在寻找一种方法,允许我们通过syslog或类似的东西将IIS高级日志logging日志转发到一个集中的日志源。 我们现在可以用Snare来执行这个常规的IIS日志。 但是它对IIS高级日志logging不起作用。

对于IIS高级日志logging ( %SystemDrive%\ inetpub \ logs \ AdvancedLogs ), 默认文件path是不同的,看起来文件名是基于UTC时间的, 请参阅此处 ,而不是您可以指定的本地date和时间定期login。 这也为开发某种types的通配符规则创造了问题,如果我们想用Snare进行testing的话。 任何想法都欢迎。

logparser能够插入syslog

键入logparser -h -o:syslog

包装成batch file或PowerShell脚本。 这是一个select。

例子:

将IIS日志中的错误条目发送到SYSLOG服务器:

LogParser "SELECT TO_TIMESTAMP(date,time), CASE sc-status WHEN 500 THEN 'emerg' ELSE 'err' END AS MySeverity, s-computername AS MyHostname, cs-uri-stem INTO @myserver FROM <1> WHERE sc-status >= 400" -o:SYSLOG -severity:$MySeverity -hostName:$MyHostname 

你看了Snare收集和转发日志到系统日志? 我还没有找过一段时间,但一度支持基于文件的日志(即轮询IIS日志文件),以及直接支持IIS甚至Windows事件日志。