如何将Syslog消息转换为列

时间:2017-08-03 19:44:04

标签: java python regex syslog cisco

我刚接触思科防火墙。防火墙由syslog访问。 我是使用Syslog的新手。从Syslog我可以在txt文件中获得这样的输出。

08-03-2017  16:45:21    Local4.Info 192.168.1.1 %ASA-6-302013: Built outbound TCP connection 922 for outside:172.16.0.6/13000 (172.16.0.6/13000) to inside:192.168.1.10/50276 (210.4.73.234/50276)
08-03-2017  16:45:09    Local4.Info 192.168.1.1 %ASA-6-305012: Teardown dynamic TCP translation from inside:192.168.1.10/50274 to outside:210.4.73.234/50274 duration 0:00:30

我希望输出与此类似。

 Built outbound , TCP , outside , 172.16.0.6/13000 , inside , 192.168.1.10/50276
Teardown dynamic, TCP , inside , 192.168.1.10/50274 , outside , 210.4.73.234/50274 

基本上我想删除不必要的单词并保留重要单词。

1 个答案:

答案 0 :(得分:3)

这方面的Java代码相当简单,我会留给别人发帖。

但是,如果您需要可重用/可扩展,我强烈建议您查看logstash/elk。使用logstash syslog input plugin,您可以处理来自多个主机的syslog文件,logstash将解析它们并将它们推送到您想要的几乎任何columned format

注意:不,我不能为弹性工作,我只是这个特定开源堆栈的满意用户。