Logsta sh s3 вывод пишет формат logsta sh s3 ввод не понимает - PullRequest
0 голосов
/ 09 марта 2020

Я перемещаю данные из двух кластеров ES, которые разделены. Я добавил s3 в качестве общей области и имею два экземпляра logsta sh, один из которых пишет в s3 из Elasticsearch, а другой - читает S3 и загружает Elasticsearch.

Проблема заключается в том, что из каждого индекса только один документ загружен. Выходной файл, написанный выходным плагином s3, представляет собой одну длинную строку, в которой многие json документы выполняются вместе без запятых или открывающих или закрывающих квадратных скобок для массива. Например, вместо [{"id":1},{"id":2},{"id":3}] вывод записывает файлы, которые читаются как {"id":1}{"id":2}{"id":3}. В этом случае только {"id":1} считывается logsta sh с использованием s3 в качестве входа.

Конфигурация от go до s3:

input {
  elasticsearch {
    hosts => ["${ES_HOST}:${ES_PORT}"]
    index => "${ES_INDEX}"
    password => "${ES_PASS}"
    ssl => "true"
    user => "${ES_USER}"
}
  }
output {
  s3 {
      bucket => "${S3_BUCKET}"
      encoding => "gzip"
      codec => "json"
      prefix => "${S3_PREFIX}/${ES_INDEX}"
      region => "ap-southeast-2"
    }
}

Чтение конфигурации S3 :

input {
  s3 {
      bucket => "${S3_BUCKET}"
      codec => "json"
      prefix => "${S3_PREFIX}/${ES_INDEX}/"
      region => "ap-southeast-2"
      watch_for_new_files => false
    }
  }
output {
  stdout { }
}

В обоих случаях переменные ${} задаются в среде (bash shell).

На обоих серверах запущена logsta sh 7.6.0

PS: я не думаю, что они важны, но журнал stdout из logsta sh говорит:

OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.headius.backport9.modules.Modules (file:/home/ec2-user/logstash-7.6.0/logstash-core/lib/jars/jruby-complete-9.2.9.0.jar) to method sun.nio.ch.NativeThread.signal(long)
WARNING: Please consider reporting this to the maintainers of com.headius.backport9.modules.Modules
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Sending Logstash logs to /home/ec2-user/logstash-7.6.0/logs which is now configured via log4j2.properties
[2020-03-09T01:10:35,168][WARN ][logstash.config.source.multilocal] Ignoring the 'pipelines.yml' file because modules or command line options are specified
[2020-03-09T01:10:35,353][INFO ][logstash.runner          ] Starting Logstash {"logstash.version"=>"7.6.0"}
[2020-03-09T01:10:37,813][INFO ][org.reflections.Reflections] Reflections took 48 ms to scan 1 urls, producing 20 keys and 40 values 
[2020-03-09T01:10:53,476][WARN ][org.logstash.instrument.metrics.gauge.LazyDelegatingGauge][main] A gauge metric of an unknown type (org.jruby.RubyArray) has been create for key: cluster_uuids. This may result in invalid serialization.  It is recommended to log an issue to the responsible developer/development team.
[2020-03-09T01:10:53,515][INFO ][logstash.javapipeline    ][main] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>2, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50, "pipeline.max_inflight"=>250, "pipeline.sources"=>["/home/ec2-user/kibana/from_s3.conf"], :thread=>"#<Thread:0x1364485f run>"}
[2020-03-09T01:10:54,561][INFO ][logstash.inputs.s3       ][main] Registering s3 input {:bucket=>"my-bucket-here", :region=>"ap-southeast-2"}
[2020-03-09T01:10:55,334][INFO ][logstash.javapipeline    ][main] Pipeline started {"pipeline.id"=>"main"}
[2020-03-09T01:10:55,435][INFO ][logstash.agent           ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[2020-03-09T01:10:55,833][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
[2020-03-09T01:10:57,507][INFO ][logstash.inputs.s3       ][main] Using default generated file for the sincedb {:filename=>"/home/ec2-user/logstash-7.6.0/data/plugins/inputs/s3/sincedb_1906e463a09b003733b719c08277c793"}
/home/ec2-user/logstash-7.6.0/vendor/bundle/jruby/2.5.0/gems/awesome_print-1.7.0/lib/awesome_print/formatters/base_formatter.rb:31: warning: constant ::Fixnum is deprecated
{
my-document-here
}
[2020-03-09T01:10:59,587][INFO ][logstash.runner          ] Logstash shut down.

PPS: удаление, поскольку DB позволяет загружать одну строку, файл не меняется.

...