본문 바로가기

DATA COLLECTOR/Fluentd

Fluentd config High Availability

목적

fluentd 의 가용성에 대한 부분인데 일반적인 가용성이 라면 fluentd 자체의 가용성을 의미 하지만

메뉴얼 상에서의 가용성이란 다음과 같다.

 

데이터를 수집하는 forwarder fluentd, forwarding 된 데이터를 로컬에 기록하는 aggregator fluentd 둘로 구분한다.

실제로 데이터를 수집하는 forwarder fluentd 에 대해서는 언급이 없으며  aggregator fluentd 를 active-stanby 로 구성하는 방안을 제시 한다.

 

처음 forwarder fluentd 의 가용성을 목적으로 자료를 찾아 보았지만 별다른 방법이 없다.

 

내용

forwarder fluentd 가 로그데이터를 수집하면 aggregator fluentd에게 전달 한다.

aggregator fluentd 는 디스크 혹은 다음 매체에 로그 데이터를 기록하게 된다. ( message broker )

forwarder fluentd 설정

다음은 복수의 디렉터리 및 파일을 변화를 감지하여 생성된 로그를 127.0.0.1 8888 서버로 데이터를 forward 하는 내용이다.

<source>
  @type tail
  path /efs/*/*/*/*/*.log
  tag bos.tail
  <parse>
        @type json
  </parse>
  pos_file /efs/fluentd/fluentd.pos
  read_from_head true
  #asis_key message
  refresh_interval 5
</source>
 
## match tag=local.** and write to file
#<match bos.tail>
#    @type stdout
#</match>
<match bos.tail>
    @type forward
    send_timeout 60s
    recover_wait 10s
    hard_timeout 60s
 
    # primary host
    <server>
        host 127.0.0.1
        port 8888
    </server>
    # secondary host
    <buffer>
        @type file
        path /efs/fluentd/buffer/td
    </buffer>
</match>

aggregator fluentd 설정

8888 port 를 listen 하면서 수신된 데이터는 stdout 에 출력 한다.

<match bos.tail>
  @type stdout
  @id output_stdout
</match>
 
####
## Source descriptions:
##
 
<source>
  @type forward
  port 8888
</source>

 

todo

데이터 송신 interval

데이터를 수집에 비해 aggregator 부분의 수신이 너무 느리다. 대략 10여초 정도.

 

'DATA COLLECTOR > Fluentd' 카테고리의 다른 글

Fluentd config copy (file to csv,json)  (0) 2021.10.01
Fluentd config Multi process workers  (0) 2021.10.01
Fluentd config source  (0) 2021.10.01
Fluentd config directives, section  (0) 2021.10.01
Fluentd 설치  (0) 2021.10.01