Elasticsearch+Fluentd+Kafka搭建日志系统搭建日志系统
前言前言
由于logstash内存占用较大,灵活性相对没那么好,ELK正在被EFK逐步替代.其中本文所讲的EFK是
Elasticsearch+Fluentd+Kfka,实际上K应该是Kibana用于日志的展示,这一块不做演示,本文只讲述数据的采集流程.
前提前提
docker
docker-compose
apache kafka服务
架构架构
数据采集流程数据采集流程
数据的产生使用cadvisor采集容器的监控数据并将数据传输到Kafka.
数据的传输链路是这样: Cadvisor->Kafka->Fluentd->elasticsearch
每一个服务都可以横向扩展,添加服务到日志系统中.
配置文件配置文件
docker-compose.yml
version: "3.7"
services:
elasticsearch:
image: elasticsearch:7.5.1
environment:
- discovery.type=single-node #使用单机模式启动
ports:
- 9200:9200
cadvisor:
image: google/cadvisor
command: -storage_driver=kafka -storage_driver_kafka_broker_list=192.168.1.60:9092(kafka服务IP:PORT) -
storage_driver_kafka_topic=kafeidou
depends_on:
- elasticsearch
fluentd:
image: lypgcs/fluentd-es-kafka:v1.3.2
volumes:
- ./:/etc/fluent
- /var/log/fluentd:/var/log/fluentd
其中:
cadvisor产生的数据会传输到192.168.1.60这台机器的kafka服务,topic为kafeidou
elasticsearch指定为单机模式启动(discovery.type=single-node环境变量),单机模式启动是为了方便实验整体效果
fluent.conf
评论1