fluentd 사용하기

# fluentd 는 logstash 와 같은 대용량(빅데이터) 로그 수집 처리를 위해 C++(주요부분) + ruby 로 개발된 오픈소스이다.
# 안정화된 fluentd 배포 버전은 td(Treasure Data)-agent 로 설치, 운영한다.
# td-agent 설치
curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent3.sh | sh

# fluentd 설정 수정
vi /etc/td-agent/td-agent.conf

# fluentd 설정은 다음 지시자로 (여러개) 설정할 수 있다.
# source : 입력 지정
# match : 매칭되면 출력 지정
# filter : 이벤트 파이르 라인 처리
# system : 시스템 전역 설정
# label : 필터와 아웃풋을 그룹으로 묶어 사용할때
# @include : 다른 설정 파일 포함

# debug. 로시작하는 패턴의 경우 표준 출력
<match debug.**>
  @type stdout
  @id output_stdout
</match>

# 입력으로 http 타입을 받을 수 있도록
<source>
  @type http
  @id input_http
  port 8888
</source>

# td-agent 데몬 시작,중지,재시작,상태
# 설정 수정시 재시작 필요
sudo /etc/init.d/td-agent start
sudo /etc/init.d/td-agent stop
sudo /etc/init.d/td-agent restart
sudo /etc/init.d/td-agent status

# 8888 포트로 fluentd 웹서버가 띄워져 있어 다음과 같이 테스트하면
curl -X POST -d 'json={"json":"message"}' http://localhost:8888/debug.ysoftman

# 결과를 다음 파일로 확인할 수 있다.
vi /var/log/td-agent/td-agent.log
.... 중략
2018-03-22 12:06:16.021729717 +0900 debug.ysoftman: {"json":"message"}

# ysoftman.ysoftman 과 같이 매치되는 형식이 없는 경우
curl -X POST -d 'json={"json":"message"}' http://localhost:8888/ysoftman.ysoftman

2018-03-22 12:08:40 +0900 [warn]: #0 no patterns matched tag="ysoftman.ysoftman"

# 참고
https://docs.fluentd.org/v1.0/articles/quickstart

comments:

댓글 쓰기