[ELK使用篇]:SpringCloud整合ELK服务

一:前置准备-(参考之前博客):

1.1:准备Elasticsearch和Kibana环境:

1.1.1:地址:https://blog.youkuaiyun.com/Abraxs/article/details/128517777

在这里插入图片描述

1.2:准备LogStash环境:

1.2.1:地址:https://blog.youkuaiyun.com/Abraxs/article/details/131848494

在这里插入图片描述

二:SpringCloud项目配置logstash依赖:

2.1:公共组件依赖配置

<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>5.0</version>
</dependency>

在这里插入图片描述

2.2:服务组件引用

在这里插入图片描述

2.3:logback.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration 
### 整合 Spring CloudELK 栈实现日志管理和监控 #### Maven 依赖配置 为了使应用程序能够向 Logstash 发送结构化日志数据,在 `pom.xml` 文件中加入如下依赖: ```xml <dependency> <groupId>net.logstash.logback</groupId> <artifactId>logstash-logback-encoder</artifactId> <version>5.3</version> </dependency> ``` 此依赖允许应用通过 TCP 或 UDP 协议发送 JSON 编码的日志事件给 Logstash 进行处理[^1]。 #### 配置 Logback 输出到 Logstash 编辑项目的 logback-spring.xml 文件,设置输出目的地为 Logstash 的地址和服务名称字段: ```xml <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>localhost:5000</destination> <encoder class="net.logstash.logback.encoder.LogstashEncoder"/> <!-- 添加自定义字段 --> <field name="service_name" value="${spring.application.name}"/> </appender> <!-- 将所有级别的日志都转发至 LOGSTASH appender --> <root level="info"> <appender-ref ref="LOGSTASH"/> </root> ``` 这段配置使得所有的 INFO 及以上级别日志都会被发送到本地运行的 Logstash 实例上监听的端口 5000,并附带服务名作为元数据的一部分。 #### 设置 Logstash 接收并解析日志 在 Logstash 中创建相应的配置文件来接收来自应用程序的日志输入,并对其进行初步过滤和转换。下面是一个简单的例子: ```ruby input { tcp { port => 5000 codec => json_lines { } } } filter { mutate { add_field => {"@metadata.serviceName" => "%{[service_name]}"} } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "logs-%{[@metadata][serviceName]}-%{+YYYY.MM.dd}" } } ``` 这里指定了一个名为 serviceName 的元数据字段用于构建 Elasticsearch 索引模式;同时确保每条记录按照日期分片存储于不同的索引下[^3]。 完成上述步骤之后重启 Logstash 和关联的应用程序即可开始收集和分析日志信息。最后可以通过访问 Kibana Web UI 来查看已采集的数据,执行查询操作或者建立仪表板来进行实时监测[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值