ELK 是由elasticsearch 、logstash、kibana 三个单词的首字母组成
elasticsearch: 一款优秀的开源分布式搜索引擎框架,基于lucence.
logstash:开源的日志分析、过滤、收集工具
kibana: ES的图形化用户界面
这三款产品都是 ES 家族的产物,官网: https://www.elastic.co
springboot中使用logback将日志写入到ELK平台
1、pom.xml配置
net.logstash.logback
logstash-logback-encoder
5.3
2、logback-spring.xml配置
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${log.path}/all.log
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${log.path}/%d{yyyy-MM, aux}/all.%d{yyyy-MM-dd}.%i.log.gz
64MB
15
${log.path}/error.log
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
UTF-8
${log.path}/%d{yyyy-MM, aux}/error.%d{yyyy-MM-dd}.%i.log.gz
64MB
15
error
ACCEPT
DENY
0
1024
true
192.168.11.10:4560
{"appname":"logdemo"}
其中的关键配置是:
192.168.11.10:4560
{"appname":"logdemo"}
3、Centos中安装logstash工具
tar -zxvf logstash-6.8.10.tar.gz -C /usr/local/
cd /usr/local/
mv logstash-6.8.10 logstash #重命名
收集springboot项目中的日志
cd /usr/local/logstash && mkdir conf.d
cd conf.d
vi 1.springboot-es-log.conf,内容如下
input {
tcp {
mode => "server"
host => "0.0.0.0"
port => 4560
codec => json_lines
}
}
output {
elasticsearch {
hosts => "192.168.11.10:9200"
index => "springboot-logstash-%{+YYYY.MM.dd}"
}
}
bin/logstash -f conf.d # 启动logstash
4、启动springboot项目,访问首页,浏览器访问kibana或es head图形界面
kibana界面:
es head界面: