Logstash grok跳过列问题

Logstash grok跳过列问题,logstash,grok,Logstash,Grok,问题:我有一个日志文件要解析,有84列,其中60列是可选的。我让模式工作,但如果grok发现一个缺少字段的日志行,它会抛出一个错误。在我的例子中,99%的日志缺少某个字段。如果某个字段没有值(或插入一个伪值或空白),我是否可以将grok配置为忽略,然后移到下一列 共有84列,其中60列为可选列。我正在尝试使用grok来解析文件,并且只有在所有84列都被指定的情况下才能进行解析 ads 1.0 4572165a-c5b5-420b-851d-dc69d6d73673 20297cab-4b4c-4

问题:我有一个日志文件要解析,有84列,其中60列是可选的。我让模式工作,但如果grok发现一个缺少字段的日志行,它会抛出一个错误。在我的例子中,99%的日志缺少某个字段。如果某个字段没有值(或插入一个伪值或空白),我是否可以将grok配置为忽略,然后移到下一列

共有84列,其中60列为可选列。我正在尝试使用grok来解析文件,并且只有在所有84列都被指定的情况下才能进行解析

ads 1.0 4572165a-c5b5-420b-851d-dc69d6d73673 20297cab-4b4c-4b55-b1a8-9ddc436a3f08 2014-02-24 23:55:14953 1979 93215 106241 97170 58881 29926 10939 6852 34 36 3 URL.com/movie_player.php?pid=155&utm_source=ADK&utm_medium=CPC&utm_campaign=test4_pid155&utm_term=78434-200031012 98.226.166.151 6042 5303美国527 11 0 7075 7029-6 11001 12008 1 11300 01 url.com/movie_player.php?pid=155&utm_source=adk&utm_medium=cpc&utm_campaign=test4_pid155&utm_term=78434-2000241 www.url.com url.url.com url.com11203 65792 0 live.test.com/swf/v4/manager.swf 345550 7.7美元0 0 0 0 0 25 0 0 60 0 0 0 0 0 0 1393286114 2 0


这就是我为了回避这个问题所做的

鉴于: grok logstash无法很好地处理TSV数据: 格罗克对CSV很好

解决方法:编写一个python脚本,在过滤器中将tsv转换为csv,然后通过csv过滤器运行它

样本输出:

这就是rubydebug输出的样子:

             "supply_sample" => "0",
            "diagnostic_code" => "60",
    "logging_diagnostic_code" => nil,
    "billable_cluster_pi_values" => nil,
    "effective_cluster_pi_values" => nil,
***不需要编辑python脚本这是我现在正在做的

查找-名称“20140224-2310-10_126_94_215-21460.1.gz”| xargs zcat | sed's/\t/,/g'| nc localhost 3333