2017-06-11 457 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

相关问题