Hej,
Chcę użyć logstash do oddzielenia odpowiednich logów przez stałą wartość występującą w tych logach (WID2), a następnie podzielić log na kawałki po separatorze ("|") i umieścić go w pliku csv z nagłówkami. Logi, których szukam, są rozpoznawane przez stałą (WID2). Zauważyłem też, że komunikat wyciągnięty przez GREEDYDATA zostaje ucięty po około 85 znakach

Przykładowy log:
2022-01-02 10:32:30,0000001 | WID2 | 3313141414 | Request | STEP_1 | OK | Message

I chcę z tych logów utworzyć plik csv z nagłówkami: TIMESTAMP, VALUE, MESSAGE_TYPE, STEP, STATUS, MESSAGE. Nie chcę zapisywać stałej wartości (WID2) w pliku csv, służy ona tylko do odnalezienia m.in. moich logów.

Napisałem to, ale nie działa:

 file {
  path => ["path"]
  start_position => "beginning"
  sincedb_path => "path"
 }
}

filter {
 grok {
  match => {
   "message" => "%{GREEDYDATA:SYSLOGMESSAGE}"
    }
   }
 if ([SYSLOGMESSAGE] !~ "WID2"){
  drop {}
 }
 if([SYSLOGMESSAGE] =~ 'WID2") {
  csv {
   separator => "|"
   columns => ["TIMESTAMP", "VALUE", "MESSAGE_TYPE", "STEP", "STATUS", "MESSAGE"]
  }
 }
}

output{
 file {
  path => ["path.csv"]
 }
}