• springboot集成elk 二:springboot + elk 采集日志


    到logstash-2.0.0in下新建文件 logstash.conf

    input {
      tcp {
        mode => "server"
        host => "0.0.0.0"
        port => 4560
        codec => json_lines
      }
    }
    output {
      elasticsearch {
        hosts => "localhost:9200"
        index => "springboot-logstash-%{+YYYY.MM.dd}"
      }
    }

    到logstash-2.0.0in下执行:logstash.bat agent -f logstash.conf

     

    引入依赖:

    <dependency>
    
         <groupId>net.logstash.logback</groupId>
    
         <artifactId>logstash-logback-encoder</artifactId>
    
         <version>5.1</version>
    
    </dependency>

    在resources下新建logback-spring.xml

    配置logback日志信息,注意这里配置的destination属性,输出的要和logstash配置的对应上,不然收集不上,内容如下:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <configuration>
    
        <include resource="org/springframework/boot/logging/logback/base.xml" />
    
     
    
        <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    
            <destination>127.0.0.1:4560</destination> <!--配置logStash 服务地址-->
    
            <!-- 日志输出编码 -->
    
            <encoder charset="UTF-8"
    
                     class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
    
                <providers>
    
                    <timestamp>
    
                        <timeZone>UTC</timeZone>
    
                    </timestamp>
    
                    <pattern>
    
                        <pattern>
    
                            {
    
                            "logLevel": "%level",
    
                            "serviceName": "${springAppName:-}",
    
                            "pid": "${PID:-}",
    
                            "thread": "%thread",
    
                            "class": "%logger{40}",
    
                            "rest": "%message"
    
                            }
    
                        </pattern>
    
                    </pattern>
    
                </providers>
    
            </encoder>
    
        </appender>
    
     
    
        <root level="INFO">
    
            <appender-ref ref="LOGSTASH" />
    
            <appender-ref ref="CONSOLE" />
    
        </root>
    
    </configuration>

    测试

    private static final Logger logger = LoggerFactory.getLogger(GoodsController.class);
    
     
    
        @Autowired
    
        private GoodsDao goodsDao;
    
     
    
        //http://localhost:8888/getOne?id=1525417362754
    
        @GetMapping("/getOne")
    
        public GoodsInfo getOne(long id){
    
            logger.info("查询产品信息:id:"+id);
    
            GoodsInfo goodsInfo = goodsDao.findOne(id);
    
            return goodsInfo;
    
        }


      

    访问kibana http://127.0.0.1:5601

    删除原来的索引匹配"test",新建索引匹配:springboot-logstash-2019.10.11

    点击Discover 搜索:查询产品信息

     

  • 相关阅读:
    新手入门贴之基于 python 语言的接口自动化 demo 小实战
    记新人从 excel 文件中读取字典数据踩的一个坑
    接口自动化 之 unittest+ddt+openpyxl 综合
    接口自动化之unittest+ddt
    接口自动化之unittest初探
    python之类与对象(5)
    python之类与对象(4)
    python之类与对象(3)
    python之类与对象(2)
    传智播客JavaWeb day01 快捷键、XML
  • 原文地址:https://www.cnblogs.com/brant/p/11680155.html
Copyright © 2020-2023  润新知