-
[Fluentd]를 이용한 로그 수집 -1.Fluentd란?IT 2018. 9. 16. 16:56
안녕하세요.
김대리입니다.
이번엔 EFK (Elasticsearch + Fluentd + Kibana)를 통해서
데이터를 저장, 수집, 시각화 하는 내용을 쓰려고 한다.
그 중 오늘은 Fluentd를 간략히 설명하려고 한다.
1. Fluentd란?
Opensource Data collector중 하나이다.
보통 다양한 채널에서 들어오는 데이터들을 통합하기위해 사용된다.
홈페지이지: www.fluentd.org
설치가이드: docs.fluentd.org/categories/installation
이렇게 통합된 데이터 수집이 중요한 이유는
데이터 분석을 하기 전에 이루어지는
데이터 정제를 더 수월하게 할 수 있기 때문이다.
Fluentd는 각각의 데이터를 JSON구조로 일관성 있게 변환함으로
이후 이루어질 분석을 더 수월하게 해준다.
2. 설치 환경
이번 EFK 환경 구성은 윈도우10에서 해볼 예정.
(윈도우 외에도 리눅스, Mac, Docker 등에서 지원)
3. 설치 및 간단한 테스트
step (1)
td-agent 설치파일 다운로드
- *.msi형태로 설치만 하면 된다.
설치 하면 fluetd 명령어를 실행 할 수 있는 prompt가 생긴다
step (2) 간단한 테스트
> fluentd -c etc\td-agent\td-agent.conf
---> td-agent.conf 란 설정을 적용하여 fluentd 서비스 실행
중간에 방화벽 관련 권한확인 창이 뜨면
엑세스 허용~
fluentd가 정상적으로 실행되었음을 확인한다.
>echo {"message":"hello"} | fluent-cat test.event
---> prompt 창에서 echo를 통해서 stdout으로 발생된 메시지를
fluentd가 matching하는 간단한 예제
여기서 유심히 봐야할 부분은
첫번째 실행한 echo는 no patterns matched 라고 메시지가 나온다
현재 td-agnet.conf에 적용된 match pattern은
debug.**로 되어있기 때문이다.
그래서 tag를 debug.devent로 주게되면
정상적으로 debug.event라고
prompt창에 출력되는 것을 확인할 수 있다.
이렇게 간단한 예제를 통해서
시스템에서 발생하는 또는
서비스가 발생시키는 메시지를
수집하여 특정 리파지토리
또는 단순 출력 등
다양하게 활용 할 수 있다.
'IT' 카테고리의 다른 글
[Quartz] 1. Quartz Job Scheduler 개념익히기 (0) 2020.11.30