SpringBoot+Kafka+ELK 完成海量日志收集(超详细)

SpringBoot项目准备

引入log4j2替换SpringBoot默认log,demo项目结构如下:

SpringBoot+Kafka+ELK 完成海量日志收集(超详细)_第1张图片

pom

SpringBoot+Kafka+ELK 完成海量日志收集(超详细)_第2张图片

IndexController

测试Controller,用以打印日志进行调试

SpringBoot+Kafka+ELK 完成海量日志收集(超详细)_第3张图片

InputMDC

用以获取log中的[%X{hostName}][%X{ip}][%X{applicationName}]三个字段值

SpringBoot+Kafka+ELK 完成海量日志收集(超详细)_第4张图片

NetUtil

SpringBoot+Kafka+ELK 完成海量日志收集(超详细)_第5张图片

启动项目,访问/index/ero接口,可以看到项目中生成了app-collector.logerror-collector.log两个日志文件

我们将Springboot服务部署在192.168.11.31这台机器上。

3

Kafka安装和启用

kafka下载地址:http://kafka.apache.org/downloads.html

kafka安装步骤:首先kafka安装需要依赖与zookeeper,所以小伙伴们先准备好zookeeper环境(三个节点即可),然后我们来一起构建kafka broker。

SpringBoot+Kafka+ELK 完成海量日志收集(超详细)_第6张图片

创建两个topic

创建topic

kafka-topics.sh --zookeeper 192.168.11.111:2181 --create --topic app-log-collector --partition

你可能感兴趣的:(程序员,spring,boot,kafka,elk)