json - 如何使用 logstash 将压缩的 json 导入 elasticsearch?

标签 json elasticsearch logstash

我正在尝试使用 logstash 将数据导入 elasticsearch。数据是压缩格式,因为它是一个大数据。
到目前为止,这是我尝试过的:

input {
  file {
    path => "C:/Users/lenovo-pc/Desktop/test.zip"
    start_position => "beginning"
    type=> "mytest"
    codec => "gzip_lines"
  }       
}

filter {
  json { source => "message" }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "testing"
  }
  stdout { codec => rubydebug }
}

我在运行 logstash -f import.conf 后得到的结果如下:

Could not find log4j2 configuration at path /Bitnami/elk-5.2.2-0/logstash/config/log4j2.properties. Using default config which logs to console
13:53:11.640 [main] FATAL logstash.runner - An unexpected error occurred! {:error=>#<ArgumentError: Could not coerce (9600-9700) into a port range>, :backtrace=>["C:/Bitnami/elk-5.2.2-0/logstash/logstash-core/lib/logstash/settings.rb:352:in `coerce'", "C:/Bitnami/elk-5.2.2-0/logstash/logstash-core/lib/logstash/settings.rb:237:in `set'", "C:/Bitnami/elk-5.2.2-0/logstash/logstash-core/lib/logstash/settings.rb:61:in `set_value'", "C:/Bitnami/elk-5.2.2-0/logstash/logstash-core/lib/logstash/settings.rb:80:in `merge'", "org/jruby/RubyHash.java:1342:in `each'", "C:/Bitnami/elk-5.2.2-0/logstash/logstash-core/lib/logstash/settings.rb:80:in `merge'", "C:/Bitnami/elk-5.2.2-0/logstash/logstash-core/lib/logstash/settings.rb:115:in `validate_all'", "C:/Bitnami/elk-5.2.2-0/logstash/logstash-core/lib/logstash/runner.rb:210:in `execute'", "C:/Bitnami/elk-5.2.2-0/logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'", "C:/Bitnami/elk-5.2.2-0/logstash/logstash-core/lib/logstash/runner.rb:183:in `run'", "C:/Bitnami/elk-5.2.2-0/logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'", "C:\\Bitnami\\elk-5.2.2-0\\logstash\\lib\\bootstrap\\environment.rb:71:in `(root)'"]}  

请帮我解决这个问题。

我的 test.zip 文件示例:Check here

最佳答案

gzipzip 是两种不同的压缩方式。 gzip 格式只支持单个文件,而 zip 是一种容器格式。 logstash 没有邮政编解码器。您需要另一个编解码器来指定 zip 文件内文件的编解码器,而 logstash 对此没有概念。有一个JIRA在 S3 输入上支持它,但它仍然是打开的。

要处理 .zip 文件中的文件,您将不得不依赖 logstash 外部的某些东西来为您提取文件,然后使用 file 输入以处理提取的文件。

关于json - 如何使用 logstash 将压缩的 json 导入 elasticsearch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43179926/

相关文章:

ios - Swift 中的 JSON 写入 (NSConcreteMutableData) 类型无效

algorithm - 如何实现标签搜索?

linux - elasticsearch logstash 在输入中不存在时删除

javascript - 类型错误 : Object of type 'Category' (model) is not JSON serializable

jquery - Json 填充双列表框

c# - 将 JSON 字符串反序列化为 C# 复杂类对象

python - NameError:未定义名称 '` Timevalue`

mongodb - Elasticsearch 模糊搜索根和嵌套字段

elasticsearch - 在Logstash和Kafka中优先处理消息

java - 处理一个节点(4节点集群)ElasticSearch的客户端http通信时捕获到异常