三.新建logback-spring.xml文件org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 org.springframework.boot spring-boot-starter-actuator org.springframework.cloud spring-cloud-starter-sleuth net.logstash.logback logstash-logback-encoder 4.6
四.编写application.ymlDEBUG ${CONSOLE_LOG_PATTERN} utf8 ${LOG_FILE} ${LOG_FILE}.%d{yyyy-MM-dd}.gz 7 ${CONSOLE_LOG_PATTERN} utf8 ${LOG_FILE}.json ${LOG_FILE}.json.%d{yyyy-MM-dd}.gz 7 UTC { "severity": "%level", "service": "${springAppName:-}", "trace": "%X{X-B3-TraceId:-}", "span": "%X{X-B3-SpanId:-}", "parent": "%X{X-B3-ParentSpanId:-}", "exportable": "%X{X-Span-Export:-}", "pid": "${PID:-}", "thread": "%thread", "class": "%logger{40}", "rest": "%message" }
server: port: 8000 spring: jpa: generate-ddl: false show-sql: true hibernate: ddl-auto: none datasource: # 指定数据源 platform: h2 # 指定数据源类型 schema: classpath:schema.sql # 指定h2数据库的建表脚本 data: classpath:data.sql # 指定h2数据库的数据脚本 logging: level: root: INFO org.springframework.cloud.sleuth: DEBUG # org.springframework.web.servlet.DispatcherServlet: DEBUG五.编写bootstrap.yml
spring: application: name: microservice-provider-user # 注意:本例中的spring.application.name只能放在bootstrap.*文件中,不能放在application.*文件中,因为我们使用了自定义的logback-spring.xml。 # 如果放在application.*文件中,自定义的logback文件将无法正确读取属性。六.编写Logstash配置文件,命名为logstash.conf,内容如下
input { file { codec => json path => "F:/springcloud/temp/microservice-simple-provider-user-trace-elk/build/*.json" } } filter { grok { match => { "message" => "%{TIMESTAMP_ISO8601:timestamp}\s+%{LOGLEVEL:severity}\s+\[%{DATA:service},%{DATA:trace},%{DATA:span},%{DATA:exportable}\]\s+%{DATA:pid}---\s+\[%{DATA:thread}\]\s+%{DATA:class}\s+:\s+%{GREEDYDATA:rest}" } } } output { elasticsearch { hosts => "localhost:9200" } }七.测试1.启动ELK1.1 ElasticSearch启动方法:在服务中启动。1.2.Logstash启动方法D:\Logstash\logstash-6.2.2\bin>logstash -f D:/Logstash/logstash-6.2.2/conf/logstash.conf1.3.kinana启动方法D:\kinana\kibana-6.2.2\bin>kibana.bat2.启动项目microservice-simple-provider-user-trace-elk3.多次访问http://localhost:8000/1,产生一些日志4.访问http://localhost:5601,可以看到Kibana的首页,然后在点击Discover,有了数据,如下图测试成功!
八.ELK架构图