从零构建ELK日志分析平台:maven项目日志写入kafka
从零构建ELK日志分析平台:maven项目日志写入kafka
使用前面章节构建的Java通用日志组件完成maven项目日志写入kafka.
项目完整代码github飞机
kafka已启动
如果没有kafka,可参照 kafka单机容器版本安装教程
kafka-manager已启动
如果没有kafka-manager,可参照 kafka-manager容器版本安装教程
Java通用日志组件已安装到本地仓库(或上传至maven私服)
若果未安装,可参照 Java通用日志组件
3.1 创建maven项目
主要maven依赖如下
tech.nosql
logback-kafka
1.0
org.projectlombok
lombok
1.18.12
provided
logback.xml
上面的配置将Java通用日志组件中的logback-base.xml引入logback中作为基础配置,并设置了tech.nosql包日志级别为debug
application.properties
项目配置文件application.properties(名称随便起,与logback.xml文件中引用的一致即可)内容如下:# 是关闭控制台日志输出[true|false],默认false
log.stdout.disable=false
# 文件日志根路径,只要配置了根路径就会开启文件日志
# 完整路径为 ${log.base-path}/${log.kafka.system}/{yyyy-mm-dd}.log
log.base-path=D://logs
# 日志写入kafka的服务器地址,只要配置此属性,便会开启日志写入kafka
log.kafka.bootstrap-servers=192.168.1.14:9092
# 日志写入kafka主题名
log.kafka.topic=log_kafka_dev
# 应用名称,用于标识文件路径以及es中的索引名称
log.kafka.system=logback-kafka-maven-dev
LogTask
LogTask模拟每5秒输出一次日志,共输出10次.
package nosql.tech;
import lombok.extern.slf4j.Slf4j;
/**
* 日志输出任务
*
* @author faith.huan 2020-09-05 22:00
*/
@Slf4j
public class LogTask {
public static void main(String[] args) throws InterruptedException {
int logTimes = 10;
for (int i = 0; i < logTimes; i++) {
log.info("task-" + i);
Thread.sleep(10_000);
}
}
}
3.2 启动LogTask项目
运行LogTask类的main方法
3.3 通过kafka-manager查看日志是否写入
1. 在浏览器中输入http://192.168.1.14:9000,然后点击我们配置好的local集群
2. 此时集群中已有三个Topic,点击3这个数字,如下图所示:
3. 如果发现新增了log_kafka_dev这个Topic,则表示日志写入成功了.
4. 点击log_kafka_dev,查看topic详细信息,此时Sum of partition offsets 为11,说明已经有11条日志写入的kafka,如下图所示
与我们在控制台中看到的输出了11条日志吻合,其中LogTask10条,NetworkClient1条.
从零构建ELK日志分析平台:maven项目日志写入kafka相关教程