elasticsearch - 在此Java Spring Boot应用程序中使用Logstash时,如何调用文件信号?

标签 elasticsearch logstash kibana logback filebeat

我成功地从应用日志中发送了日志,我从本教程http://www.andrew-programming.com/2018/09/18/integrate-springboot-application-with-elk-and-filebeat/开始,然后将代码轻松实现到自己的应用中。

我的问题是我没有在应用程序的任何地方提到文件拍,它是如何使用的?

一切正常,但好奇地知道文件信号来自何处,是否通过pom文件中的logstash依赖关系?

logback-spring.xml

<!DOCTYPE configuration>
<configuration>
  <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <destination>localhost:4560</destination>
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder">
    </encoder>
  </appender>

  <include resource="org/springframework/boot/logging/logback/base.xml"/>

  <root level="INFO">
    <appender-ref ref="LOGSTASH" />
    <!--<appender-ref ref="CONSOLE" />-->
  </root>

</configuration>

application.properties
logging.file=/tmp/filebeatDemoApp.log

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

logstash.conf
input {
  tcp {
  port => 4560
  codec => json_lines
  }
  beats {
    host => "127.0.0.1"
    port => "5044"
  }
}
output{
  stdout { codec => rubydebug }
  elasticsearch {
  hosts => ["localhost:9200"]
  index => "app-%{+YYYY.MM.dd}"   
  document_type => "%{[@metadata][type]}"
  }
}

最佳答案

您没有使用Filebeat。使用<destination>localhost:4560</destination>,您可以直接发送到Logstash。很好,因为您不需要关心日志文件,解析它们或填满磁盘。不利的一面是,如果网络中断,您将不会收到任何消息,并且Logback只能缓冲200MB的日志,因此您可能会在长时间中断期间丢失日志。

PS:使用此配置时,由于您没有使用beats {块(也没有使用Filebeat),因此可以将它从logstash.conf中删除。

关于elasticsearch - 在此Java Spring Boot应用程序中使用Logstash时,如何调用文件信号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55634857/

相关文章:

performance - Elasticsearch:在同一分片上折叠文档是否会在折叠时提高性能?

elasticsearch - 从Logstash更新到Elastic Search失败

mysql - 在不使用参数计划的情况下在 mysql 数据库中输入新数据时通知 Logstash

elasticsearch - 没有在字段ElasticSearch上声明类型[geo-point]的处理程序

elasticsearch - Elasticsearch kubernetes 数据盘使用量突然上升

elasticsearch - 如何在elasticsearch中控制和轮换存储数据

elasticsearch - Elasticsearch:显示在分析API中使用了哪个分析器

date - logstash将日期从MMM dd YYYY转换为mm dd YYYY?

java - 错误 : mongodb. jdbc.MongoDriver 未加载。您确定已在 :jdbc_driver_library? 中包含正确的 jdbc 驱动程序吗

nginx - 如何使用Nginx阻止选定的Kibana子页面?