file타입의 buffer path에 ${tag} 사용할 때 buffer 경로에 ${tag} 그대로 남는 이슈

fluentd GCS 플러그인을 설정을 예로 들어보겠다.

match로 보낼 로그들의 버퍼 파일이 <buffer> 섹션 안의 path 경로로 쌓이게 된다.

 

path 경로를 보면 ${tag[1]} 로 되어있는데, tag가 type.** 형태로 들어오게 되는데 그중 ** 에 들어갈 태그로 구분을 하겠다는 의미이다.

type.fruit라고 태그가 설정되었다면 ${tag[1]}에는 fruit이 들어가게 된다.

 

그래서 적재되는 buffer 파일이 /var/log/td-agent/buffer/fruit 아래에 적재될 줄 알았는데 그게 아니었다.

실제로 생성되는 buffer의 경로는 /var/log/td-agent/buffer/${tag[1]} 그대로 생성된다.

 

초큼.. 경로가 더러워서 이 방법밖에는 없는 것인가 문서를 확인해보니

중간 버퍼 파일은 설정한 대로 생성되고, 실제 저장되는 output 파일의 경로에는 정상적으로 태그 값이 들어간다고 되어있다.

 

버퍼 파일을 tag에 따라 구분해주고 싶어서 설정해보았는데, buffer에는 해당 기능은 없나 보다. 동적으로 해당 경로를 바꿔주는 방법이 없을까 생각해봐야겠다.

'platform > fluentd' 카테고리의 다른 글

Fluentd Buffer는 어떻게 동작하는가?  (0) 2022.03.04
로그 수집기 Fluentd란?  (0) 2022.03.03