이번에도 fluentd에 대해 마토메 해보자 (그 1)

2919 단어 Fluentd루비
개인적으로 fluentd를 제대로 알고 있지 않다고 생각했기 때문에, 공부의 의미도 굳이 다시 모아 보았습니다.

fluentd는 원래 무엇인가?



공식 사이트는 여기입니다.



fluentd를 한마디로 말하면 이벤트 로그 수집 도구. Treasure data 쪽이 작성된 것으로, 로그의 수집이나 전송등을 할 수 있습니다(여러대의 서버의 로그를 수집할 수 있다). 플러그인이있어 다양한 시스템에서 사용할 수 있습니다.

참고 : 이벤트 로그 수집 도구 fluent 릴리스!

fluentd를 사용해보기



설치



방법은 몇 가지 있는 것 같습니다.

* gem으로 넣기
* yum으로 넣기

참고 : fluentd 설치 방법

시험에 사용



샘플로 로컬로 이동하는 rails 애플리케이션의 로그를 fluentd를 사용하여 수집해 보겠습니다.

먼저 fluentd 설정 파일을 만듭니다.

fluentd.conf
<source>
  type tail
  format none
  path /usr/local/*****/****/log/development.log
  tag hoge_log.access
</source>

<match hoge_log.access>
  type file
  path /usr/local/****/fluent_log/test.log
</match>

source로 지정한 path의 값은 샘플 rails 앱의 로그가 출력되는 곳입니다.
match의 path는 fluentd가 수집한 로그를 출력하는 곳(이번에는 type을 file로 지정하여 파일로 출력)입니다.
이제 시작해 보겠습니다.
fluentd -c fluentd.conf -vv &

위와 같이 구성 파일을 지정하여 시작합니다. 프로세스를 확인하고 시작할 수 있는지 확인해 보면



그래서 rails 앱을 시작하고 적절하게 움직이면 ...



왼쪽이 rails 앱의 로그로 오른쪽이 fluentd의 로그입니다만, 로그 출력되고 있다-라는 것을 알 수 있을까 생각합니다.

fluentd 설정을 살펴보기



fluentd 구성 파일을 작성하는 방법을 정리합니다.

소스



로그의 대상을 정의합니다. 입력 원래 표준 입력, 파일, 포트 지정 HTTP 통신 등이 있습니다.

유형



로그 입력 소스 지정
  • forward: 표준 출력
  • 꼬리 : 파일 (위의 예에서는 여기)
  • http : http 통신

  • path



    입력 원본 파일 경로

    태그



    match 지시어로 지정한 것. source로 입력을 정의하고 match로 출력을 정의하지만 tag는 source로 입력된 것을 어떤 match로 받는지 관련시키는 것.

    match



    수집된 로그의 출력 대상을 정의합니다. 방금 전의 예와 같이 파일에 출력하는 방법도 있으면, 표준 출력, 다른 fluentd에 전송하는 등 여러가지 있습니다.

    유형



    수집된 로그의 출력 대상 지정
  • stdout: 표준 출력
  • 파일 : 파일 (위의 예에서는 여기)
  • http : http 통신

  • path



    입력 원본 파일 경로

    include



    다른 fluentd 구성 파일을 include할 수 있습니다.

    다른 fluentd와의 연계



    여기는 2로 씁니다.

    좋은 웹페이지 즐겨찾기