当前位置: 首页 > news >正文

springboot - 2.7.3版本 - (八)ELK整合Kafka

接之前的内容进行整改,加入kafka:springboot - 2.7.3版本 - (五)整合Elasticsearch+Logstash+Kibana(ELK)_小小小爬虫的博客-CSDN博客

原来顺序: logback - logstash - elasticSearch 

变更顺序:logback - kafka - logstash - elasticSearch

一,pom.xml添加依赖包

<!-- https://mvnrepository.com/artifact/com.github.danielwegener/logback-kafka-appender -->
<dependency>
	<groupId>com.github.danielwegener</groupId>
	<artifactId>logback-kafka-appender</artifactId>
	<version>0.2.0-RC2</version>
</dependency>

二,修改logback-spring.xml,将logstash-appender改为kafka-appender

<!-- 向kafka输出日志 -->
<appender name="KAFKA" class="com.github.danielwegener.logback.kafka.KafkaAppender">
	<encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
		<providers class="net.logstash.logback.composite.loggingevent.LoggingEventJsonProviders">
			<pattern>
				<pattern>
					{"app":"${APP}",
					"profile":"${PROFILES_ACTIVE}",
					"thread": "%thread",
					"logger": "%logger{5}",
					"message":"%msg",
					"app_name":"${APP_NAME}",
					"env_name":"${ENV_NAME}",
					"hostname":"${HOSTNAME}",
					"captain_seq":"${CAPTAIN_SEQ}",
					"captain_gen":"${CAPTAIN_GEN}",
					"build_name":"${BUILD_NAME}",
					"build_git_version":"${BUILD_GIT_VERSION}",
					"build_git_hash":"${BUILD_GIT_HASH}",
					"build_timestamp":"${BUILD_TIMESTAMP}",
					"date":"%d{yyyy-MM-dd HH:mm:ss.SSS}",
					"level":"%level",
					"stack_trace":"%exception"
					}
				</pattern>
			</pattern>
		</providers>
	</encoder>
	<topic>appLog</topic>
	<keyingStrategy class="com.github.danielwegener.logback.kafka.keying.NoKeyKeyingStrategy" />
	<deliveryStrategy class="com.github.danielwegener.logback.kafka.delivery.AsynchronousDeliveryStrategy" />
	<producerConfig>bootstrap.servers=localhost:9092</producerConfig>
	<producerConfig>retries=1</producerConfig>
       <producerConfig>batch-size=16384</producerConfig>
       <producerConfig>buffer-memory=33554432</producerConfig>
       <producerConfig>properties.max.request.size==2097152</producerConfig>
	<appender-ref ref="CONSOLE"/>
</appender>

<!-- 日志输出级别 -->
<root level="INFO">
	<appender-ref ref="KAFKA" />
	<appender-ref ref="FILE" />
	<appender-ref ref="CONSOLE" />
</root>

三,logstash中/config添加文件logstash-kafka-es.conf,改为从kafka输入

# Sample Logstash configuration for creating a simple
# Logback -> kafka -> Logstash -> Elasticsearch pipeline.

input {
  kafka {
    id => "my_plugin_id"
    bootstrap_servers => "127.0.0.1:9092"
    topics => ["appLog"]
    auto_offset_reset => "latest"
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "logstash-test-applog-%{+YYYY.MM.dd}"
    #user => "elastic"
    #password => "changeme"
  }
}

四,启动测试

- 启动zookeeper

- 启动kafka 【.\bin\windows\kafka-server-start.bat .\config\server.properties】

- 启动elasticSearch

- 启动logstash 【logstash -f ./config/logstash-kafka-es.conf】

- 启动kibana

- 启动springboot项目

 

 

五,源代码下载: https://download.csdn.net/download/MyNoteBlog/86729194

相关文章:

  • uniCloud开发公众号:一、接收、解析、组装xml消息
  • YOLO系列目标检测算法-YOLOv1
  • JavaScript高级,ES6 笔记 第三天
  • 【雷达图】R语言绘制雷达图(ggradar),NBA季后赛数据为例
  • 机器学习笔记 - 在QT/PyTorch/C++ 中加载 TORCHSCRIPT 模型
  • redis 技术分享
  • 怎么让面试官喜欢你?
  • 深度学习模型理解-CNN-手写数据字代码
  • C# ZBar解码测试(QRCode、一维码条码)并记录里面隐藏的坑
  • 【技术美术图形部分】图形渲染管线3.0-光栅化和像素处理阶段
  • css:一个容器(页面),里面有两个div左右摆放并且高度和容器高度一致,左div不会随着页面左右伸缩而变化,右div随页面左右伸缩宽度自适应(手写)
  • Kubernetes 1.25 集群搭建
  • 【每周CV论文推荐】GAN在医学图像生成与增强中的典型应用
  • python毕业设计项目源码选题(16)跳蚤市场二手物品交易系统毕业设计毕设作品开题报告开题答辩PPT
  • C# 连接 SqlServer 数据库
  • 【个人向】《HTTP图解》阅后小结
  • 2018一半小结一波
  • ESLint简单操作
  • Git同步原始仓库到Fork仓库中
  • iOS 系统授权开发
  • javascript 哈希表
  • JAVA并发编程--1.基础概念
  • java小心机(3)| 浅析finalize()
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Python3爬取英雄联盟英雄皮肤大图
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 服务器从安装到部署全过程(二)
  • 关于Flux,Vuex,Redux的思考
  • 欢迎参加第二届中国游戏开发者大会
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前端代码风格自动化系列(二)之Commitlint
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 什么是Javascript函数节流?
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 算法系列——算法入门之递归分而治之思想的实现
  • 微信小程序开发问题汇总
  • 怎样选择前端框架
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • kubernetes资源对象--ingress
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 进程与线程(三)——进程/线程间通信
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • #mysql 8.0 踩坑日记
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (十六)串口UART
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)库存超卖案例实战——优化redis分布式锁
  • (一)SpringBoot3---尚硅谷总结
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET建议使用的大小写命名原则
  • .NET连接MongoDB数据库实例教程
  • .NET中的十进制浮点类型,徐汇区网站设计