전언 Fluentd는 로그 기록층을 통일하는 데 사용되는 소스 데이터 수집기이다. Kubernetes,Prometheus,Envoy,CoreDNS와containerd에 이어 여섯 번째 CNCF 졸업 프로젝트로 주로 elastic의logstash를 비교한다. 상대적으로 fluentd는 가볍고 유연하다. 현재 비현실적으로 신속하게 발전하는 지역사회가 활발하다. 이 블로그를 작성할 때 github의 star는 8.8k이고 fork는 1k로 볼 수 있다. 전제 조건
FROM fluent/fluentd:v1.3.2
ADD fluent.conf /etc/fluent/
RUN echo "source 'https://mirrors.tuna.tsinghua.edu.cn/rubygems/'" > Gemfile && gem install bundler
RUN gem install fluent-plugin-kafka -v 0.12.3 --no-document
RUN gem install fluent-plugin-elasticsearch -v 4.0.3 --no-document
CMD ["fluentd"]
fluent.conf
@type kafka
brokers kafka:9092
format json
topic kafeidou
@type elasticsearch
host elasticsearch
port 9200
index_name fluentd
type_name fluentd
버전 v1.3.2의 fluentd 렌즈를 바탕으로 하는 렌즈는 fluentd의 처리층 확장은 플러그인 방식으로 확장되기 때문에 이 렌즈를 제작할 때 대응하는 카프카 플러그인과elasticsearch 플러그인을 설치해야 한다.여기kafka의 fluentd 플러그인 버전은 0.12.3이고,elasticsearch의 fluentd 플러그인 버전은 4.0.3입니다. Dockerfile 및 fluent.conf 준비 완료, 이미지 만들기 명령 실행
docker build -t fluentd-es-kafka:v1.3.2 .
이로써 에스 플러그인과 카프 플러그인을 포함하는 fluentd 렌즈가 완성되었다. 이런 fluentd를 실행하려면 docker 명령 하나만 있으면 실행할 수 있습니다.
docker run -it -d fluentd-es-kafka:v1.3.2
이 용기는 시작된 후host가kafka인kafka 메시지를 감청하고 데이터를host가elasticsearch인elasticsearch 노드로 전송합니다. es의 노드와kafka의 노드 주소가 다르면volume 덮어쓰기 용기에 있는 기본 프로필에 걸어야 합니다.
docker run -it -v { fluent.conf }:/etc/fluent -d fluentd-es-kafka:v1.3.2
... 에서 비롯되다 커피 원두 네 알 공중번호 주목->[커피 원두 네 개] 최신 내용 얻기
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: