Notice
Recent Posts
Recent Comments
준호씨의 블로그
fluentd 로그 컬럼 순서 변경하기 본문
반응형
fluentd 에서 로그를 파싱해서 output 으로 내 보낼때 컬럼의 순서를 바꾸는 방법을 찾아 보니 잘 안보이더라. 기본 제공되는 플러그인으로 어떻게 되지 않을까 했지만 방법을 찾지는 못했다.
format json 으로 보낼때야 별 상관 없겠지만 format ltsv 형식으로 내보낼때는 컬럼 순서를 변경 하고 싶은 경우가 있다.
(LTSV는 Labeled Tab-separated Values)
format ltsv 는 아래와 같이 출력해 주는 플러그인이다.
field1[label_delimiter]value1[delimiter]field2[label_delimiter]value2\n
delimiter 와 label_delimiter 옵션을 제공한다.
format ltsv
delimiter SPACE # Optional. "\t"(TAB) is used by default
delimiter SPACE # Optional. "\t"(TAB) is used by default
label_delimiter = # Optional. ":" is used by default
fluent-plugin-order 플러그인
플러그인 리스트를 찾아 보자
Rubygems 에 등록된 플러그인 리스트를 확인 해 볼 수 있다.
order 라는 플러그인 설명을 보면 내가 원하는 기능을 지원 하는 것 같다.
Output filter plugin to rearrange the order of the elements
플러그인 설치
fluent-gem install fluent-plugin-order
td-agent 를 사용한다면 fluent-gem 대신 td-agent-gem 을 사용한다.
td-agent-gem install fluent-plugin-order
사용
https://github.com/fukuiretu/fluent-plugin-order 의 설명을 보면 다음과 같은 방식으로 사용 할 수 있다.
<match example>
type order
add_tag_prefix order_finished
after_order_keys bar,hoge,foo
</match>
참고
잡담
fluentd 를 먼저 접하고 logstash 를 접했다. 아직 둘 다 사용 경험은 적은 편.
아직도 계속 세팅 중이지만 logstash 가 사용하기는 훨씬 편한 것 같다. fluentd 는 내가 생각한대로 뭔가 잘 동작하지 않는다. 설명서를 잘 봐야 하지만 설명서도 잘 뜯어 보지 않는이상 무슨 말을 하는지 잘 모르겠다.
match 같은 경우도 여러개 설정 하면 여러개가 다 동작할 거 같지만 매번 다른 tag 를 생성 하던지 add_tag_prefix 같은걸로 tag 를 바꾼후 다른 곳에서 match 해서 가져 가야 된다.
기본 플러그인이 좀 미약한 느낌. 위의 order 플러그인도 직접 설치 해야 되고 syslog output 도 설치 해 줘야 됨.
logstash 에 비하면 빠른처리 속도가 장점인 것 같다. logstash 는 jvm 환경에서 동작하다 보니 메모리도 많이 먹고 초기 구동 속도가 느린 것 같음.
아직 잘 몰라서 그럴 수 있으니 좀 더 써보자.
반응형
'개발이야기' 카테고리의 다른 글
logstash 설치 및 기본사용 (0) | 2016.05.08 |
---|---|
fluentd syslog output (1) | 2016.05.08 |
osx top cpu 사용순으로 정렬하기 (0) | 2016.05.08 |
php 의존성 관리도구. composer (2) | 2016.05.05 |
RFC2246 The TLS Protocol Version 1.0 (0) | 2016.05.05 |
Comments