【问题标题】:Logstash grok filter integerLogstash grok 过滤器整数
【发布时间】:2015-03-02 23:02:01
【问题描述】:

我需要在我的 ElasticSearch 数据库中索引数字数据,并且我正在使用 grok 过滤器来解析日志行(都是逗号分隔的整数)。

尝试使用这种格式%{NUMBER:userID_2:int} 无效,没有数据被索引,也没有出现异常。

当我将类型更改为“float”时 - 即%{NUMBER:userID_2:float} 效果很好。

知道为什么我不能索引整数吗?

(使用 elastic 1.4.4 和 logstash 1.4.1)

谢谢!

【问题讨论】:

  • 请提供日志示例并确保您的所有日志都是整数格式。
  • 日志行:20630,198595,214285,451,7907,206502,214285,3691,46011,112769,156888,184225,19708,26873,77739,35843,40658,4,236 ,90,81,85,87,85,87,86,87,87,86,81,"2008-06-26 10:00:00"
  • 日志行:20630,198595,214285,451,7907,206502,214285,3691,46011,112769,156888,184225,19708,26873,77739,35843,40658,4,236 ,90,81,85,87,85,87,86,87,87,86,81,"2008-06-26 10:00:00"
  • @BenLim 什么? :-(

标签: elasticsearch logstash logstash-grok


【解决方案1】:

在“过滤器”部分设置匹配表达式:

match => "%{NUMBER:user_id}"

然后你转换它:

mutate {
  convert => {
    "user_id" => "integer"
    ....
  }
}

【讨论】:

    猜你喜欢
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多