본문 바로가기

파이프라인

fluentd example(docker logging driver)

 

fluentd를 docker로 설치하고 logging driver로 fluentd를 설정할 수 있다.

fluentd 홈페이지 실습 문서를 참고하면 쉽게 이해가 가능하다

https://docs.fluentd.org/container-deployment/docker-logging-driver

 

Docker Logging Driver - Fluentd

2019-08-21 00:51:02 +0000 [info]: spawn command to main: cmdline=["/usr/bin/ruby", "-Eascii-8bit:ascii-8bit", "/usr/bin/fluentd", "-c", "/fluentd/etc/demo.conf", "-p", "/fluentd/plugins", "--under-supervisor"]

docs.fluentd.org

 

위 실습을 이해하기 위해 몇 가지 참고사항을 정리하였다.

  • fluentd의 conf파일을 로컬에 생성하고 docker run 명령시 -v 옵션을 통해 conf 지정 가능
  • docker 컨테이너는 기본적으로 컨테이너 내부에 json 파일 형태로 로그를 저장
  • docker run 실행시 log-driver 옵션을 지정하면 fluentd, syslog 등으로 로그를 전송 가능
  • 위 실습 예제에서는 ubuntu 이미지로 컨테이너를 실행하는데, 바로 종료되는 이유는 echo 실행 후 백그라운드로 동작하는 프로세스가 없기 때문으로, 일반적으로 ubuntu 이미지로 컨테이너를 실행할 때는 /bin/bash 등을 백그라운드로 실행하기 위해 docker run 명령어 시에 같이  명시
  •  fluent-plugin-concat 플러그인 설치시 고려할 사항
    • 플러그인을 명시한 conf를 지정하면 플러그인이 존재하지 않기 때문에 컨테이너가 실행되지 않으므로, 기본 fluentd 의 conf 설정 파일로 fluentd 컨테이너를 우선 실행
    • docker exec 명령어로 플러그인 설치: docker exec -u root fluentd sh -c "gem install fluent-plugin-concat"
    • fluentd의 conf파일에 플러그인 명시 후 fleuntd 컨테이너 재시작

'파이프라인' 카테고리의 다른 글

nginx 로그 - fluent - pubsub - apache-beam 샘플 코드  (0) 2023.06.06
fluentd-pubsub 예제  (0) 2023.01.01
fluentd example(docker-compose)  (1) 2022.12.25
td-agent 설정  (0) 2022.12.11
카프카 기본 개념 정리  (0) 2021.05.31