如何将 Syslog 消息转换为列

How can i convert Syslog messages to columns

我刚刚接触到 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 

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

此 Java 代码相当简单,我会留给其他人 post 它。

但是,如果你需要这个reusable/scalable,我强烈建议你看看你想要的logstash/elk. Using the logstash syslog input plugin, you can process syslog files from multiple hosts and logstash will parse them and push them into almost any columned format

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