Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志
Logstash 收集日志 Elasticsearch 处理 Kibana 展示
springboot 整合 elk 两种方式
1.分别下载分别配置比较麻烦但是可以自定义灵活
2.直接下载elk(集成好的) 一步到位
今天介绍一下第二种方式(第一种老有问题自己还菜不献丑了)
在docker 环境下进行
docker pull sebp/elk
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -p 5601:5601 -p 5044:5044 -p 9200:9200 -p 9300:9300 -it --name elk sebp/elk
5044 是 Logstash的端口
9200 是 Elasticsearch的端口
5601 是 Kibana的端口
docker exec -it elk /bin/bash
修改文件
vi /etc/logstash/conf.d/02-beats-input.conf
dd 删除原来的 粘贴新的
input {
tcp {
port => 5044
codec => json_lines
}
}
output{
elasticsearch {
hosts => ["localhost:9200"]
}
}
docker restart elk
ch.qos.logback
logback-classic
net.logstash.logback
logstash-logback-encoder
5.2
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
<property name="LOG_HOME" value="./logs" />
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{
yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{
50} - %msg %n</pattern>
</encoder>
</appender>
<!-- 按照每天生成日志文件 -->