【问题标题】:Grok parsing negative numbers into Kibana custom fieldsGrok 将负数解析为 Kibana 自定义字段
【发布时间】:2017-05-12 22:17:25
【问题描述】:

为此我一直在碰壁 - 两天前开始使用 logstash 和 Grok 并取得了一些进展,但我整个晚上都在关注这个特殊问题。

我有以下几行输入来自一个日志文件被摄取到 logstash。

'约翰彭斯':'减少':-0.01:-1.03093:0.96:0.97

'戴夫磅':'增加':0.04:1.04000:0.97:0.93

与以下 grok 过滤器匹配:

match => { "message" => "%{QS:name}:%{QS:activity}:%{BASE16FLOAT:Change}:%{BASE16FLOAT:Percentage}: %{BASE16FLOAT:CurrentPrice}: %{BASE16FLOAT:PreviousPrice}" }
match => { "message" => "%{QS:Name}:%{QS:Activity}:-%{BASE16FLOAT:Change}:-%{BASE16FLOAT:Percentage}: %{BASE16FLOAT:CurrentPrice}: %{BASE16FLOAT:PreviousPrice}" }

这会在 Kibana 中产生以下输出:

如您所见 - 我无法正确显示负数,如何在 grok 过滤器中正确显示减号? 非常感谢一些帮助!

【问题讨论】:

    标签: logstash logstash-grok


    【解决方案1】:

    您可以简单地使用NUMBER grok 模式而不是BASE16FLOAT

    以下grok 模式完美适用于您的输入:

    grok {
        "match" => {"message" => "%{QS:name}:%{QS:activity}:%{NUMBER:Change}:%{NUMBER:Percentage}: %{NUMBER:CurrentPrice}: %{NUMBER:PreviousPrice}"}
    }
    

    【讨论】:

    • 完美,谢谢 Val!不确定为什么 grok 调试器没有给我...
    • 我正在努力弄清楚如何使这些自定义字段可聚合 - 感谢您提供的任何帮助。
    • 很高兴它有帮助!随意创建一个关于后一个问题的新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多