25.Spring Cloud Sleuth与ELK

1.ELK搭建

关于ELK环境搭建在之前的博客都已经提到了。

Elasticsearch安装Head插件

安装Logstash

安装Kibana

2.项目示例

  2.1添加依赖

 

	net.logstash.logback
	logstash-logback-encoder
4.6



	org.springframework.cloud
	spring-cloud-starter-sleuth

2.2在src/main.resources新建logback-spring.xml,内容如下:



  
  
  

  
  
    
      
      DEBUG
    
    
      ${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"
            }
          
        
      
    
  
    
    
    
  

2.3新建bootstrap.properties添加如下内容

#指定微服务的名称后续在调用的时候只需要使用该名称就可以进行服务的访问
spring.application.name=service-provide-trace-elk

由于使用了自定义的logback-spring.xml,并且该文件中含有变量(springAppName),spring.application.name属性必须在bootstrap.properties中设置。

2.4Logstash配置文件,命名为logstash.conf(E:\soft\logstash-6.3.2\bin   在安装目录的bin目录下新建logstash.conf),具体配置如下

input { 
   file {
   type => "server"
    codec =>json
    path  =>"D:\personal_code\workspace_springcloud\918.spring-cloud-service-provide-trace-elk\build\service-provide-trace-elk.json"
  }
 }
 filter {
       grok {
              match => { "message" => "%{TIMESTAMP_ISO8601:timestamp}\s+%{LOGLEVEL:severity}\s+\[%{DATA:service},%{DATA:trace},%{DATA:span},%{DATA:exportable}\]\s+%{DATA:pid}\s+---\s+\[%{DATA:thread}\]\s+%{DATA:class}\s+:\s+%{GREEDYDATA:rest}" }
       }
}
output {
  elasticsearch { 
       hosts => ["localhost:9200"] 
	   index => "trace_test_log"
	   }
}

25.Spring Cloud Sleuth与ELK_第1张图片

2.4启动注册中心,服务消费,服务提供者,elasticsearch,elasticsearch-head,logstash,kibana

elasticsearch-head启动页面:

25.Spring Cloud Sleuth与ELK_第2张图片

kibana界面

25.Spring Cloud Sleuth与ELK_第3张图片

通过消费者,访问服务提供者。可以看到追踪日志在不断的增加。

 

 

                                                                               微信公众号: 

                                               25.Spring Cloud Sleuth与ELK_第4张图片

                                                                             JAVA程序猿成长之路

                                                       分享学习资源,学习方法,记录程序员生活。

 

你可能感兴趣的:(spring-cloud)