Windows环境下,SpringBoot项目集成ELK日志分析平台教程
环境准备:
1.开发环境:windows电脑,idea,JDK
2.ELK:elasticsearch,kibana,logstash,官网自行下载!
我用的ELK版本为:
- elasticsearch-7.11.1-windows-x86_64
- logstash-7.6.1
- kibana-7.11.1-windows-x86_64
重要的事情说三遍:
注意elasticsearch和kibana的版本号要对应!!!
注意elasticsearch和kibana的版本号要对应!!!
注意elasticsearch和kibana的版本号要对应!!!
需要提前准备好JDK1.8或者以上版本即可,安装JDK和配置环境变量自行百度。
我的启动顺序为:Logstash >= Elasticsearch > Kibana
3.启动ELK
3.1Logstash
bin目录下新建logstash.conf文件
input {
tcp {
#模式选择为server
mode => "server"
#ip和端口根据自己情况填写,端口默认4560,对应下文logback.xml里appender中的destination
host => "127.0.0.1"
port => 4560
#格式json
codec => json_lines
}
}
filter {
#过滤器,根据需要填写
}
output {
elasticsearch {
action => "index"
#这里是es的地址,多个es要写成数组的形式
hosts => "127.0.0.1:9200"
#用于kibana过滤,可以填项目名称
index => "applog"
}
}
复制粘贴进去,然后cmd.进入bin目录下执行logstash -f logstash.conf命令,启动成功截图
,启动成功以后会轮询请求上配置文件的elasticsearch。
浏览器输入URL:http://localhost:9600/ 会输出json字符串
{"host":"DESKTOP-SOK2A46","version":"7.6.1","http_address":"127.0.0.1:9600","id":"ccab3a87-cd92-4787-8e82-570f4436f3f7","name":"DESKTOP-SOK2A46","ephemeral_id":"effdda8a-d466-4e2e-8b1d-0d56480c03e1","status":"green","snapshot":false,"pipeline":{"workers":4,"batch_size":125,"batch_delay":50},"build_date":"2020-02-29T01:53:17+00:00","build_sha":"0a75e90f49c005bffea8525d1b06728d17dbdf58","build_snapshot":false}
,到这里logstash 执行结束了。
3.2 启动elasticsearch
bin目录下点击elasticsearch.bat 启动成功截图
浏览器输入URL:http://localhost:9200/ 会输出json字符串
{ "name" : "DESKTOP-SOK2A46", "cluster_name" : "elasticsearch", "cluster_uuid" : "bUKdzRMMSeaiZNAktbgzaQ", "version" : { "number" : "7.11.1", "build_flavor" : "default", "build_type" : "zip", "build_hash" : "ff17057114c2199c9c1bbecc727003a907c0db7a", "build_date" : "2021-02-15T13:44:09.394032Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
3.3启动kibana
bin目录执行kibana.bat 启动成功截图
浏览器输入URL:http://localhost:5601/ 截图
4 springboot整合ELK日志系统
SpringBoot项目构建和启动后续会写出来,本次不作重点讲述,SpringBoot配置文件加logging.config=classpath:logback.xml
,logback.xml需要加
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>127.0.0.1:4560</destination> <!-- encoder必须配置,有多种可选 --> <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" /> </appender>
与logstash绑定连接。然后启动项目,打印日志,我使用的是SpringAOP切面进行日志记录。接下来启动项目即可,浏览器访问http://localhost:5601/app/,
运行测试用例后回到kibana界面,Management --> Index Patterns,填入Logstash配置中index的值,此处为applog
第二步 选择"@timestamp",然后看到如图
大功告成!!!!!自己摸索这个页面如何查询吧