美文网首页
elk--笔记7-Springboot集成elk

elk--笔记7-Springboot集成elk

作者: 牵手生活 | 来源:发表于2020-02-17 14:35 被阅读0次

插件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

相关文章

网友评论

      本文标题:elk--笔记7-Springboot集成elk

      本文链接:https://www.haomeiwen.com/subject/ntubfhtx.html