插件logstash的配置文件logstash-czg-springboot.conf(文件名称可以随意)
参考cat elasticsearch/logstash-7.2.0/config/logstash-sample.conf文件进行配置
elasticsearch/logstash-7.2.0/config/logstash-czg-springboot.conf
input {
tcp {
port => 4560
codec => json_lines
}
}
output{
elasticsearch {
action => "index"
hosts => ["localhost:9200"]
index =>"springbootlog"
#index => "%{[appName]}-%{+YYYY.MM.dd}" #用一个项目名称来做索引
}
stdout { codec => rubydebug }
}
logstash-czg-springboot.conf配置
- 4560 是logstash接收数据的端口
- codec => json_lines是一个json解析器,接收json的数据。这个要装 logstash-codec-json_lines 插件
- ouput elasticsearch指向我们安装的地址
- stdout会打印收到的消息,调试用
启动logstash
#启动logstash
./bin/logstash -f config/logstash-czg-springboot.conf
springboot 的pom文件添加引用
<properties>
<java.version>1.8</java.version>
<ch.qos.logback.version>1.2.3</ch.qos.logback.version>
</properties>
<dependencies>
。。。
<!--导入elk需要的包begin-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${ch.qos.logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${ch.qos.logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>${ch.qos.logback.version}</version>
</dependency>
<dependency>
<groupId>net.logstash.logback</groupId>
<artifactId>logstash-logback-encoder</artifactId>
<version>5.1</version>
</dependency>
<!--导入elk需要的包end-->
。。。
</dependencies>
在resources下新建logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="true" scanPeriod="1 seconds">
<include resource="org/springframework/boot/logging/logback/base.xml" />
<contextName>logback</contextName>
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<!--指定好logstash的服务器,及配置文件中设置的接收端口-->
<destination>192.168.1.116:4560</destination>
<!-- encoder必须配置,有多种可选 -->
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
</appender>
<root level="info">
<appender-ref ref="stash" />
</root>
</configuration>
修改springboot的启动文件
@SpringBootApplication
public class MyelkApplication {
public static void main(String[] args) {
SpringApplication.run(MyelkApplication.class, args);
Logger logger = LoggerFactory.getLogger(MyelkApplication.class);
logger.info("测试log");
logger.error("测试错误 i={};j={}",5,"参数");
}
}
启动springboot项目观察logstash的控制台日志
logstash的打印日志
kibana进行查看
http://192.168.1.116:5601/
在kibana- management - index pattern里新建一个pattern,我们就用*吧。创建好了,点击discover。就可以看到我们的日志了
image.png
运行测试用例后回到kibana界面,Management --> Index Patterns,填入Logstash配置中index的值,此处为springboot_log
image.png
image.png
在kibana->management->index Management中可以看到概述
image.png
到es的head中也可以看到数据
image.png
在kibana的dev tools中可以搜索看看记录
image.png













网友评论