Programming/Etc2017. 7. 14. 19:00


fluentd  인코딩 변환 설정


<source>
from_encoding cp949
encoding utf-8 
</source>


아래와 같이 CP949 에서 UTF-8 변환 실패로 인한 로그 유실 발생

error="\"\\xC1\\xC1\" from CP949 to UTF-8"

iconv 에서의 ignore translit 옵션 처리에 대한 방안 검토


debug 모드로 확인 결과 in_tail.rb 파일 확인

<system>
log_level debug
</system>
2017-07-07 18:57:08 +0900 [warn]: ??? error="\"\\xC1\\xC1\" from CP949 to UTF-8"
2017-07-07 18:57:08 +0900 [debug]: /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.12.35/
lib/fluent/plugin/in_tail.rb:321:in `encode!'


debug모드 에러에서 나온 in_tail.rb 파일 321라인 에 대해서 아래와 같이 수정함 

$vi /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.12.35/lib/fluent/plugin/in_tail.rb line.encode!(@encoding, @from_encoding) => line.encode!(@encoding, @from_encoding, :invalid => :replace, :undef => :replace, :replace => "?")


상황에 따라서 "?" 또는 "" 빈값형태로 대처 한다.

Posted by 시니^^