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

Spring Cloud Alibaba 2025.0.0 整合 ELK 实现日志

Spring Cloud Alibaba 2025.0.0 整合 ELK 实现日志

Spring Cloud Alibaba 2025.0.0 整合 ELK 实现日志实战微服务

环境准备

确保已安装以下组件:

  • JDK 17+
  • Spring Boot 3.x
  • Spring Cloud Alibaba 2025.0.0
  • Elasticsearch 8.x
  • Logstash 8.x
  • Kibana 8.x
  • Docker(可选,用于快速部署ELK)

Spring Cloud Alibaba 2025.0.0 整合 ELK 实现日志实战微服务

引入依赖

在项目的pom.xml中添加必要的依赖:

<!-- Spring Cloud Alibaba Nacos 服务发现(可选) -->
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2025.0.0</version>
</dependency><!-- Logback 日志依赖 -->
<dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId>
</dependency><!-- Logstash 日志收集 -->
<dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>7.4</version>
</dependency>

Spring Cloud Alibaba 2025.0.0 整合 ELK 实现日志实战微服务

配置 Logback 输出到 Logstash

src/main/resources下创建logback-spring.xml,配置日志输出到 Logstash:

<configuration><appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"><destination>127.0.0.1:5044</destination><encoder class="net.logstash.logback.encoder.LogstashEncoder"><customFields>{"service":"your-service-name"}</customFields></encoder></appender><root level="INFO"><appender-ref ref="LOGSTASH"/></root>
</configuration>
配置 Logstash 管道

创建 Logstash 配置文件logstash.conf,将日志转发到 Elasticsearch:

input {tcp {port => 5044codec => json_lines}
}
filter {# 可添加自定义过滤规则(如解析特定字段)
}
output {elasticsearch {hosts => ["http://localhost:9200"]index => "microservice-logs-%{+YYYY.MM.dd}"}
}
启动 ELK 服务

通过 Docker 快速启动 ELK 服务:

docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.12.0
docker run -d -p 5044:5044 -v /path/to/logstash.conf:/usr/share/logstash/pipeline/logstash.conf logstash:8.12.0
docker run -d -p 5601:5601 kibana:8.12.0
配置 Kibana 可视化
  1. 访问 http://localhost:5601 打开 Kibana 控制台。
  2. 进入 Stack Management > Index Patterns,创建索引模式 microservice-logs-*
  3. Discover 中查看实时日志数据,或通过 Dashboard 创建可视化图表。
高级配置(可选)
  • 日志字段增强:在 Logback 配置中添加自定义字段(如链路追踪ID):

    <encoder class="net.logstash.logback.encoder.LogstashEncoder"><customFields>{"traceId":"%mdc{traceId}"}</customFields>
    </encoder>
    
  • 日志过滤:在 Logstash 中通过 Grok 解析复杂日志格式:

    filter {grok {match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:level} %{DATA:thread} %{DATA:class} - %{GREEDYDATA:log}" }}
    }
    
验证日志链路
  1. 启动 Spring Boot 应用,生成测试日志。
  2. 在 Kibana 中搜索日志,确认字段(如 servicetraceId)已正确显示。
注意事项
  • Elasticsearch 8.x 默认开启安全认证,需在 Logstash 配置中添加用户名和密码:
    output {elasticsearch {hosts => ["http://localhost:9200"]user => "elastic"password => "your-password"}
    }
    
  • 生产环境建议使用 Filebeat 替代 Logstash TCP 输入,降低资源消耗。

在这里插入图片描述

http://www.dtcms.com/a/606158.html

相关文章:

  • AI+虚拟仿真:开启无人机农林应用人才培养新路径
  • ELK 9.2.0 安装部署手册
  • 代码统计网站wordpress设置在新页面打开空白
  • 网站开发的流程 知乎设计培训网站建设
  • Qt 的字节序转换
  • QT Quick QML项目音乐播放器17----自定义Notification通知、请求错误提示、Loading加载中提示
  • 【Qt】AddressSanitizer 简介
  • Linux(麒麟)服务器离线安装单机Milvus向量库
  • Qt Widgets和Qt Qucik在开发工控触摸程序的选择
  • 毕业设计网站做几个图片设计素材
  • 网站设计计划深圳分销网站设计公司
  • word套打工具根据高度动态分页
  • 华清远见25072班单片机基础学习day3
  • docker安装Kubernetes
  • 湖科大教书匠每日一题(09.06~09.17)
  • HT71778:便携式音频设备的高效升压转换核心
  • 适合代码新手做的网站深圳市保障性住房申请官网
  • git的命令操作手册
  • 直播录制工具(支持 40 + 平台批量录制与自动监控)
  • 国际品牌的广州网站建设派代网
  • 商城网站开发实训报告外加工订单网
  • 6、Python中的异常处理
  • DNS配置作业
  • C++11:lambda表达式,包装器
  • 方圆网 网站建设营销策略包括哪些内容
  • 勇闯前后端:后端(Python)——Week1
  • 百度伐谋正式发布!“自我演化”超级智能体,为产业难题寻找“全局最优解”
  • 什么是分布式?什么是微服务?什么是集群?什么是单体?这些都是什么?又有什么关联?
  • SQL 实战:用户访问 → 下单 → 支付全流程转化率分析
  • wordpress数据库修改主题seo体系网站的建设及优化