fluentd 4

mysql-replicator를 활용한 MySQL - Elasticsearch Sync

MySQL에 적재되는 데이터를 Elasticsearch에 복제하여 사용하려는 요구가 있다. 다양한 방법이 있는 듯하다. logstash input - jdbc plugin output - elasticsearch plugin fluentd input - mysql-query, mysql-prepared-statement etc.. output - elasticsearch 이 중 fluentd에 mysql-replicator가 있어서 이 부분에 대해서 구동해본 내용 정리. [mysql-replicator?] github: https://github.com/y-ken/fluent-plugin-mysql-replicator GitHub - y-ken/fluent-plugin-mysql-replicator: F..

Fluentd vs Logstash 비교해보기..?

로그를 수집하고 분석할 때 ELK Stack은 매우 유용하게 사용되어 왔다. fluentd는 Docker나 kubernetes 환경과 같은 마이크로 서비스의 로깅에 인기를 끌고 있다. (fluentd가 CNCF의 일부이고, Treasure Data (고객데이터플랫폼 구축 클라우드 서비스?) 를 기반으로 구축되었기 때문) 어떤 사례에 어떤 도구를 사용하는 것이 좋을지 비교해본다. [Logstash vs Fluentd 비교] 항목 Logstash Fluentd 비고 코드 언어 JRuby (Java 필요) CRuby (Java 필요 X) 오픈 소스 Apache 2.0 라이센스 오픈소스 Apache 2.0 라이센스 오픈 소스. CNCF. 이벤트 라우팅 if-else 조건 기반 태그 기반 이벤트에 태그를 지정하는..

Fluentd - Kafka 로컬 파이프라인 구축해보기

fluentd를 통한 데이터 파이프라인 구축을 위해서 로컬환경에서 fluentd - kafka로 이어지는 파이프라인을 구축해본다. [Docker Container로 간단히 구동하기] Docker-Image Pull docker pull fluent/fluentd:edge-debian Fluentd 설정 파일 생성 http input을 stdout으로 출력하는 형식으로 테스트한다. $ sudo vim fluentd.conf @type http port 9880 bind 0.0.0.0 @type stdout Docker Run # RUN $ sudo docker run -d --name fluentd -p 9880:9880 -v $(pwd):/fluentd/etc fluent/fluentd:edge-debi..

Fluentd란?

[Fluentd?] 로그 수집기 (보통 로그 수집의 목적으로 사용하나 다양한 데이터 소스로부터 데이터를 받아 처리할 수 있음) C와 Ruby로 개발됨. fluentd로 전달된 데이터는 tag, time, record (JSON)으로 구성된 이벤트로 처리됨. 원하는 형태로 가공 후 다양한 목적지 (ES, Kafka etc..)로 전달 될 수 있음. Filter, Buffer, Parser를 직접 설정할 수 있는 것이 가장 큰 장점 데이터 유실을 막기 위해 메모리와 파일 기반의 버퍼 시스템을 사용. Failover를 위한 HA구성도 가능. Use-Cases Application Log 수집 mongodb와 같은 DB에 데이터 수집 스트림 데이터 처리 Tag fluentd에서는 Tag를 통해 이벤트가 흘러가면..