ELK日志收集(SpringBoot)
目录
环境&准备
-
下面所有操作都基于CentOS7
-
基于目前官网最新版搭建(版本号7.8)
es+kibana+logstash
-
官网下载安装包
如官网打不开,可从我的云盘中下载(7.8版本)
链接:https://share.weiyun.com/O10eSbOH 密码:ir72nx
-
安装JDK
安装方法见CentOS7安装JDK8
ES安装
Kibana安装
Logstash安装
Logstash配置
在logstash安装中,已经新建了一个my.conf,就还在这个文件上修改
input {
tcp {
#模式为serve,代表数据来源为服务端
mode => "server"
#SpringBoot logback-spring.xml中指定的ip,用于日志传输到logstash
#此处IP可指定为0.0.0.0
#host => "0.0.0.0"
host => "192.168.1.232"
#SpringBoot logback-spring.xml中指定的端口,用于日志传输到logstash
port => 4560
#格式json
codec => json_lines
}
}
output {
elasticsearch {
#这里是es的地址,多个es要写成数组的形式,例如 ["127.0.0.1:9200","127.0.0.2:9200"]
hosts => "192.168.1.232:9200"
#用于kibana过滤,可以填项目名称
#index => "mylog" #这种方式将所有数据全部输出到一个文件中,不便于后期的数据清理,不推荐
index =>"logstash-%{+yyyy.MM.dd}" #不设置默认是按照日期拆分,便于以后数据清理,推荐
}
stdout {}#接到数据后在控制台输出一份,可不加
}
保存后重启Logstash服务
SpringBoot中logback-spring.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<contextName>logback</contextName>
<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>192.168.1.232:4560</destination>
#上面这个ip就是my.conf中input配置的host、port
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="info">
<appender-ref ref="logstash" />
</root>
</configuration>
测试
启动 ES\Kibana\LogStash
启动SpringBoot项目
使用Idea、windows下CMD启动、扔到Linux上启动都可以,但是一定要保证一点:项目运行环境可与LogStash通信
配置Kibana
-
进入 http:// Kibana的IP:5601
-
选择Stack Management
-
确认上面配置的Logstash-output中index=mylog是否创建了
注意:只有SpringBoot项目启动后才会有
-
mylog存在,点击下面
-
输入"mylog"
-
选择如下
-
查看日志
- 执行项目中那个循环的输出方法
- 就可以看到收集的实时日志了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)