Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在是使用最广的开源搜索引擎之一。
Logstash 简单来说就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端,与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供了很多功能强大的滤网以满足你的各种应用场景。
Kibana 是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图标、表格、地图等,kibana能够很轻易的展示高级数据分析与可视化。
1.elasticsearch+logstash+kibana的下载(注意版本保持一致)
下载中心:https://elasticsearch.cn/download/
2.elasticsearch的配置
windows:bin目录下直接点击elasticsearch.bat启动;
启动之后,访问:http://localhost:9200
3.kibana的配置
进入config目录,编辑kibana.yml
server.port: 5601 server.name: “kibana” server.host: “0.0.0.0” elasticsearch.hosts: “http://127.0.0.1:9200” kibana.index: “.kibana”
启动:bin/kibana.bat
启动之后,访问:http://localhost:5601
4.logstash的配置
解压后输入命令logstash -e “”,可以测试logstash,该命令启动之后,输入hello world!
4.1 在bin中添加logstash.conf文件:
input{
tcp{
mode => "server"
host => "127.0.0.1"
port => 5044
codec => json_lines
}
}
output{
#控制台直接输出
stdout{
codec => rubydebug
}
#可以注释掉elasticsearch部分,查看控制台是否输出,判断logback->logstash是否生效,@zhengkai.blog.csdn.net
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "log-%{+YYYY.MM.dd}"
}
}
4.2 在bin下开启cmd,logstash启动:logstash -f logstash.conf
5.springboot的配置
5.1 pom中引用:
net.logstash.logback logstash-logback-encoder7.0
5.2 在resources下添加logback-spring.xml
localhost:5044
5.3 application.properties 修改配置
logging.config=classpath:logback-spring.xml #包名根据个人的工程名而定 logging.level.com.yjxl.demo=debug
5.4 在springboot项目的controller打印日志,访问 http://localhost:8080/elk,可以看到启动 logstash 的控制台输出日志,就可以了。
@RestController
@RequestMapping("/elk")
@Slf4j
public class ELKController {
@GetMapping
public void index() throws Exception {
log.info("测试的elk的info日志收集");
log.error("测试的elk的error日志收集");
log.debug("测试的elk的debug日志收集");
}
}
6.日志查看
6.1 create index patterns
6.2 discover
the end…



