Разделение Logstash Mutate в Elastic search не работает

#split #logstash #elastic-stack #elk

#разделение #logstash #эластичный стек #elk

Вопрос:

У меня возникли проблемы с разделением поля строкового типа (target) в logstash.

 "log" => {
"address"  =>  "0.0.0.1",
"target" => "hello.exe - PID: 3005 - Module: nthdll.dll"
}
  

Я пытаюсь разделить на «-«, и это мой код :

 mutate {
  copy => { "[log][target]" => "targetList" }
  split => { "targetList" =>  "-" }
}
  

но это не работает,
«Список целей» копируется, но разделение не работает.

 "targetList" => "hello.exe - PID: 3005 - Module: nthdll.dll"
  

Пожалуйста, дайте мне несколько советов.

Ответ №1:

mutate выполняет операции в фиксированном порядке, а разделение выполняется перед копированием, поэтому поле targetList не существует в момент выполнения разделения. Разделите его на два мутирования

 mutate { copy => { "[log][target]" => "targetList" } } 
mutate { split => { "targetList" =>  "-" } }
  

Пожалуйста, пометьте это как ответ на вашу проблему, если это решит вашу проблему.