Fluentd 를 설치하고 사용하는 중에 추가해야 될 플러그인들이 많아져서 conf 파일이 길어지면서 보기가 어려워졌다.
conf 파일을 여러 개 만들어서 분리한 다음 fluentd가 실행 될 때 읽는 파일에다가 import만 하면 어떨까 라는 생각이 들어 찾아봤는데 @include라는 녀석이 있다는 것을 알게 되었다.
@include 를 사용하는 것은 간단하다. fluent.conf 또는 rpm으로 fluentd를 설치했다면 td-agent.conf에 @include를 하고 그 뒤에다가 분리 시켜놓은 conf 파일들의 경로와 함께 선언하면 된다.
사용법
fluent.conf
@include /path/fluentd_config.conf
@include /path/fluentd_config2.conf
...
fluentd_config.conf
<source>
</source>
<match>
</match>
fluentd_config2.conf
<source>
</source>
<match>
</match>
conf 파일의 파일명은 하고싶은 이름으로 생성하면 된다.
이제 주의할 점은 fluentd를 실행 시킬 때 저 @include 한 것들이 한번에 모이므로 conf 파일들 끼리 공유하는 느낌으로 보면된다.
conf1.conf
<source>
@tag haha
...
</source>
<match **>
# conf2 파일의 h2h2 도 같이 발송
</match>
conf2.conf
<source>
@tag h2h2
</source>
<match h2h2>
# 여기서 한번 발송
</match>
conf1.conf 파일에서 source 설정을 하고 match 에 들어가는 tag 가 ** 으로 되는 경우에는 conf1 이외에 생성한 conf 파일들이 전부 저 match로 몰리게 된다.
그래서 하나의 로그를 2번 발송하는 경우가 생기므로 config 파일을 분리 시켰을때 tag를 잘 설정해 놓는 것이 중요하다.
'Fluentd > 적용' 카테고리의 다른 글
Fluentd Http Test (2) | 2022.10.25 |
---|---|
Fluentd from ASCII-8BIT to UTF-8 error (0) | 2022.07.31 |
Fluentd + Azure Loganalytics (0) | 2022.07.25 |
Fluentd Installation ( ruby gem ) (0) | 2022.07.25 |
Fluentd access log 500 에러만 남기기 (0) | 2022.06.23 |
Comment