【问题标题】:Mapper Parsing Exception in Logstash and ElasticSearchLogstash 和 ElasticSearch 中的映射器解析异常
【发布时间】:2015-11-18 02:09:24
【问题描述】:

我在尝试使用 Logstash 解析日志并将错误消息输出到 ElasticSearch 时遇到 Mapper Parsing 异常:“字段名称不能包含点 (.)”
这适用于旧的 Logstash 版本,我最近升级到了 Logstash 2.0:
我的 Logstash 配置文件如下所示:

input {
  kafka {
    topic_id => "topic1"
    zk_connect => "111.222.333.444:2181"
    type => "log_type"
    reset_beginning => true
  }
}

output {
#  stdout { codec => rubydebug }

  elasticsearch {
    hosts => "127.0.0.1:9200"
    flush_size => 200
    idle_flush_time => 1
    index => "index-name-%{+YYYY.MM.dd}"
   }
}

【问题讨论】:

    标签: elasticsearch logstash


    【解决方案1】:

    https://discuss.elastic.co/t/field-name-cannot-contain/33251/5 中所述,字段名称不能在其名称中支持点。
    如页面上所述,一个简单的解决方法是使用以下过滤器将所有点替换为下划线:

    filter {
      ruby {
            code => "
              event.to_hash.keys.each { |k| event[ k.sub('.','_') ] = event.remove(k) if k.include?'.' }
            "
        }
    }
    

    【讨论】:

    猜你喜欢
    • 2021-11-04
    • 1970-01-01
    • 2020-12-03
    • 1970-01-01
    • 2014-08-06
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多