그래서 줄바꿈 문자가 없는 데이터는 가져오지 못함.
[2024-03-10T10:08:49,593][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}{ "message" => "1\r"}{ "message" => "2\r"}
이때 이벤트 구분자를 없애면,
input { file { path => "d:/notepad.txt" start_position => "beginning" sincedb_path => "nul" delimiter => "" }}
유실 없이 잘 가져온다. (구분자가 없는데 이벤트 구분을 어떻게 하는 거지?) 그런데 줄바꿈 문자까지 데이터로 인식해서 가져옴.
[2024-03-10T10:09:16,435][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}{ "message" => "1"}{ "message" => "\r"}{ "message" => "\n"}{ "message" => "2"}{ "message" => "\r"}{ "message" => "\n"}{ "message" => "3"}
줄바꿈 문자 삭제.
filter { mutate { remove_field => ["@timestamp", "@version", "host", "path"] }
if [message] =~ "\r|\n" { drop {} }}
[2024-03-10T10:09:46,465][INFO ][logstash.agent ] Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}{ "message" => "1"}{ "message" => "2"}{ "message" => "3"}
특이한 건 delimiter 옵션을 직접 지정해주면 데이터를 읽지 못한다.
input { file { path => "d:/notepad.txt" start_position => "beginning" sincedb_path => "nul" delimiter => "\n" }}
왜죠?
관련 글
댓글 없음:
댓글 쓰기