2017-06-11 515 views
0

我在我的Spring Boot應用程序中使用了Docker ELK堆棧。所有這三個組件分別在http://192.168.99.100:5601/http://192.168.99.100:9200/和192.168.99.100:5000處運行。LogstashTcpSocketAppender沒有發送日誌到Logstash

我的logback-spring.xml樣子:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
<include resource="org/springframework/boot/logging/logback/base.xml"/> 
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> 
    <keepAliveDuration>5 minutes</keepAliveDuration> 
    <reconnectionDelay>10 second</reconnectionDelay> 
    <waitStrategyType>sleeping</waitStrategyType> 
    <destination>192.168.99.100:5000</destination> 
    <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder"> 
     <providers> 
      <mdc/> <!-- MDC variables on the Thread will be written as JSON fields--> 
      <context/> <!--Outputs entries from logback's context --> 
      <logLevel/> 
      <loggerName/> 
      <pattern> 
        { 
        "timestamp": "%date{\"yyyy-MM-dd'T'HH:mm:ss,SSSXXX\", UTC}", 
        "level": "%level", 
        "logger": "%logger", 
        "message": "%message", 
        "logstashMarkers": "%marker" 
        } 
       </pattern> 
      <threadName/> 
      <message/> 
      <logstashMarkers/> <!-- Useful so we can add extra information for specific log lines as Markers--> 
      <arguments/> <!--or through StructuredArguments--> 
      <stackTrace> 
       <fieldName>stackTrace</fieldName> 
       <throwableConverter class="net.logstash.logback.stacktrace.ShortenedThrowableConverter"> 
        <exclude>net\.sf\.cglib\..*</exclude> 
        <maxDepthPerThrowable>30</maxDepthPerThrowable> 
        <rootCauseFirst>true</rootCauseFirst> 
       </throwableConverter> 
      </stackTrace> 
     </providers> 
    </encoder> 
</appender> 

<root level="INFO"> 
    <appender-ref ref="stash"/> 
</root> 

的問題是,我沒能看到我的Kibana日誌和我的疑問是,LogstashTcpSocketAppender未發送日誌到Logstash。有沒有一種方法可以驗證LogstashTcpSocketAppender是否將日誌發送到Logstash?

+0

啓動logstash。然後運行你的春季啓動應用程序,並檢查 – berrytchaks

+0

logstash.yml - > config.debug:true。該屬性已設置,但未顯示任何錯誤 – Suchit

+0

轉至/usr.share/logstash並鍵入bin/logstash -f path/to/logstash.conf --log.level debug。確保你記錄爲sudo。 – berrytchaks

回答

1

-check如果消息被髮送到elasticsearsh: 192.168.99.100:9200/_search

-to檢查索引被創建: 192.168.99.100:9200/_cat/indices

-Actually如果你想看到的結果,你應該建立在指數kibana(與elasticsearh創建一個同名/模式):

enter image description here

以及通過修改時間驗證kibana:在調試模式

enter image description here

相關問題