ввод файла logstash в режиме чтения для файла gzip занимает очень много памяти - PullRequest
0 голосов
/ 28 декабря 2018

В настоящее время я обрабатываю gzip файлы в logstash, используя плагин для ввода файлов.он потребляет очень большую память и продолжает перезагружаться даже после получения большого размера кучи.На данный момент в среднем мы обрабатываем 50 файлов в минуту и ​​планируем обрабатывать 1000 файлов в минуту.При 100 файлах требование к оперативной памяти достигает 10 Гб.Что является лучшим способом настройки этого конфига или есть лучший способ обработки такого огромного объема данных в logstash.Желательно ли написать обработчик на nodejs или любом другом языке.

Ниже приведен лог-файл conf.

input {
  file {
    id => "client-files"
    mode => "read"
    path => [ "/usr/share/logstash/plugins/message/*.gz" ]
    codec => "json"
    file_completed_action => log_and_delete
    file_completed_log_path => "/usr/share/logstash/logs/processed.log"
  }
}
filter {
  ruby {
    code => 'monitor_name = event.get("path").split("/").last.split("_").first
             event.set("monitorName", monitor_name )
             split_field = []
             event.get(monitor_name).each do |x|
               split_field << Hash[event.get("Datapoints").zip(x)]
             end
             event.set("split_field",split_field)'
  }
  split {
    field => "split_field"
  }
  ruby {
    code => "event.get('split_field').each {|k,v| event.set(k,v)}"
    remove_field => ["split_field","Datapoints","%{monitorName}"]
  }
}
...