使用nxlogparsing一个sophos文本文件并发送到系统日志服务器

我有一台带有sophos的windows server 2012 r2机器。 每天都有来自sophos的扫描,信息被附加到日志“sav.txt”。

输出示例(某些信息已更改):

20150710 205446 Using detection data version 5.16 (detection engine 3.58.3). This version can detect 9405871 items. 20150710 205446 User (NT AUTHORITY\LOCAL SERVICE) has started on-access scanning for this machine. 20150711 020000 Scan 'Sophos Management Server' started. 20150711 023317 Scan 'Sophos Management Server' completed. 20150711 023317 Summary of results for scan 'Sophos Management Server': Items scanned: 166433 Errors: 0 Items quarantined: 0 Items dealt with: 0 

使用nxlog,我希望能够parsingsav.txt文件,以获取仅在当天输出示例中显示的信息,并将该信息发送到系统日志服务器。

唯一的问题是随着时间的推移,sav.txt文件将变得越来越大,我们希望nxlog只在该date的文本文件中发送信息。

只有7月1日,只有7月份的第一条消息将被发送到我们的系统日志服务器,7月2日…等等。

我不知道是否重要,但是我们使用Kiwi Syslog作为服务器。 猕猴桃有一个免费的Windows实用工具,但它不parsing文本文件,只发送我们需要的信息。 猕猴桃似乎只从事件日志中拉出来,但可以收到任何东西。

可能有不同的方式,但以下将做到这一点:

 Exec if not (($raw_event =~ /^(\d{4})(\d{2})(\d{2}) /) and \ (substr(string(now()), 0, 10) == $1 + '-' + $2 + '-' + $3)) drop(); 
  • 请注意,NXLog只会发送最新的数据,通常不会重新发送整个文件,除非日志源创build一个新的并复制内容。
  • 您可能会希望对跨越多行的事件使用xm_multiline。
  • 在sav.txt上设置日志轮转是否会更好,以便旧的条目被旋转掉?