版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_27868061/article/details/81912703
所谓ELK日志指的是:
E:elasticsearch,用于存储日志
L:logstash,用于收集日志,java项目中使用指定的appender将日志发送到logstash,它收集并且整理日志,然后发送到elasticsearch
K:kibana,用于展示日志,从elasticsearch获取日志并展示出来
spring-boot项目中,主要的配置在于logback-spring.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration debug="false">
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<!--日志输出采用logstash-->
<appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<!--logstash启动端口-->
<destination>localhost:9201</destination>
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<root level="INFO">
<!--需要在这里引用logstash这个appender-->
<appender-ref ref="LOGSTASH"/>
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
logstash的配置为,log_to_es.config
#日志输入配置
input {
tcp {
port => 9201
ssl_enable => false
codec => json {
charset => "UTF-8"
}
}
}
#日志输出配置
output {
elasticsearch {
#es中的索引名称
index => "logstash-log"
#es的端口
hosts => "localhost:9200"
}
}
kibana中es的配置,kibana.yml
#启动端口
server.port: 5601
server.host: "localhost"
#es
elasticsearch.url: "http://localhost:9200"