下载Kafka和Zookeeper镜像文件
1、docker pull wurstmeister/kafka 2、docker pull wurstmeister/zookeeper
3、docker pull sheepkiller/kafka-manager
先运行zk,再运行kafka
1,启动zk
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper 2,启动kafka
docker run --name kafka01 \ -p 9092:9092 \ -e KAFKA_BROKER_ID=0 \ -e KAFKA_ZOOKEEPER_CONNECT=192.168.91.66:2181 \ -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.91.66:9092 \ -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \ -d wurstmeister/kafka
创建主题
进入到容器中: docker exec -it kafka01 /bin/bash 创建主题: my_log /opt/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.91.66:2181 --replication-factor 1 --partitions 1 --topic my_log
在项目代码我们可以进行AOP日志处理,将异常信息 发送到Kafaka 然后 Logstash订阅话题,将数据写入到ES中。
Logstash配置: 通过Logstash去订阅主题,主题要保持一致与代码,与创建的主题。
input { kafka { bootstrap_servers => "192.168.91.66:9092" topics => ["goods_mylog"] } } output { stdout { codec => rubydebug } elasticsearch { hosts => ["192.168.91.66:9200","192.168.91.66:9201"] index => "goods_mylog" } }
启动Logstash: ./bin/logstash -f goods_mylog.conf
kafka-manager安装
docker run -d --name kafka-manager \
-p 9000:9000 \
--link zookeeper:zookeeper \
--link kafka:kafka \
--restart=always \
--env ZK_HOSTS=zookeeper:2181 \
sheepkiller/kafka-manager