file타입의 buffer path에 ${tag} 사용할 때 buffer 경로에 ${tag} 그대로 남는 이슈
platform/fluentd 2022. 4. 1. 11:50

fluentd GCS 플러그인을 설정을 예로 들어보겠다. match로 보낼 로그들의 버퍼 파일이 섹션 안의 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]} 그대로 생성된다. 초큼.. 경로가 더러워서 이 방법밖에는 없는 것인가 문서를 확인해보니 중..

Fluentd Buffer는 어떻게 동작하는가?
platform/fluentd 2022. 3. 4. 20:00

Fluentd에서는 match 태그 안에 buffer를 사용해서 output 목적지로 이동하기 전 일정 시간 저장할 수 있게끔 합니다. 이벤트 전송 중에 fluentd 에이전트가 이슈로 인해 종료되거나, output 목적지로 정상적으로 로그가 전송되지 못하는 경우 로그 수집에 문제가 생길 수 있는데, 이러한 문제를 해결하기 위한 메커니즘입니다. 해당 글에서는 이전 글에 이어서 Fluentd 공식 문서에서 설명하고있는 Buffer의 동작 방식을 적어보고자 합니다. Fluentd의 각 플러그인의 진행 도식을 나타내면 다음과 같습니다. 전체적인 순서는 Input 플러그인으로부터 들어온 이벤트들이 router를 통해 각 output 플러그인으로 전달되는 순서입니다. Output plugin에서의 Buffer 모..

로그 수집기 Fluentd란?
platform/fluentd 2022. 3. 3. 00:00

Fluentd를 업무에 활용할 일이 생겨, 간단히 Fluentd란 무엇인지 정리하고 어떤 컴포넌트로 구성이 되어있는지 작성해봅니다. 아래 내용은 공식 문서에 있는 내용을 정리하였습니다. Fluentd란? 단일화된 로깅 레이어를 위한, 오픈소스 데이터 수집기이다. 다양한 소스들(input)로부터 메시지를 읽어올 수 있으며, 마찬가지로 다양한 출력(output)으로 메시지를 export 할 수 있다. 해당 프로젝트는 TreasureData에 의해 만들어지고, 지원되고 있다. Overview fluentd는 log를 기본적으로 가장 공통적인 포맷인 JSON으로 다룬다. 기본적으로 C로 작성되었으며, Thin Ruby Wrapper로 하여금 사용자들에게 유연함을 제공한다. Ubuntu, CentOS, Windo..