logstash.conf
文件,指定要使用的插件以及每个插件的设置。举个简单的例子:bin/logstash -f logstash.conf
(Windows 上运行bin/logstash.bat -f logstash.conf
)logstash.yml
:logstash 的默认启动配置文件jvm.options
:logstash 的 JVM 配置文件。startup.options
(Linux):包含系统安装脚本在 /usr/share/logstash/bin
中使用的选项为您的系统构建适当的启动脚本。安装 Logstash 软件包时,系统安装脚本将在安装过程结束时执行,并使用 startup.options
中指定的设置来设置用户,组,服务名称和服务描述等选项。node.name
path.data
LOGSTASH_HOME/data
pipeline.workers
pipeline.batch.size
LS_HEAP_SIZE
变量来有效使用该选项来增加 JVM 堆大小。125
pipeline.batch.delay
5
pipeline.unsafe_shutdown
false
config.string
config.test_and_exit
false
config.reload.automatic
false
config.reload.interval
3s
config.debug
log.level:debug
。警告:日志消息将包括任何传递给插件配置作为明文的“密码”选项,并可能导致明文密码出现在您的日志!false
config.support_escapes
false
modules
http.host
"127.0.0.1"
http.port
9600
log.level
info
log.format
plain
path.logs
LOGSTASH_HOME/logs
logstash.yml
)中的相应设置,但设置文件本身不会更改。注虽然可以通过指定命令行参数的方式,来控制 logstash 的运行方式,但显然这么做很麻烦。建议通过指定配置文件的方式,来控制 logstash 运行,启动命令如下:bin/logstash -f logstash.conf
bin/logstash -f logstash.conf
,按照配置文件中的参数去覆盖默认设置文件(logstash.yml
)中的设置。每个部分都包含一个或多个插件的配置选项。如果指定了多个过滤器,则会按照它们在配置文件中的显示顺序应用它们。
Logstash 支持各种输入选择 ,可以在同一时间从众多常用来源捕捉事件。能够以连续的流式传输方式,轻松地从您的日志、指标、Web 应用、数据存储以及各种 AWS 服务采集数据。
tail -0F
一样过滤器是 Logstash 管道中的中间处理设备。如果符合特定条件,您可以将条件过滤器组合在一起,对事件执行操作。
输出是 Logstash 管道的最后阶段。一个事件可以通过多个输出,但是一旦所有输出处理完成,事件就完成了执行。
stdin input 插件从标准输入读取事件。这是最简单的 input 插件,一般用于测试场景。
logstash-input-stdin.conf
:-f
来指定你的配置文件:elk 默认使用的 Java 日志工具是 log4j2 ,并不支持 logback 和 log4j。想使用 logback + logstash ,可以使用 logstash-logback-encoder 。logstash-logback-encoder 提供了 UDP / TCP / 异步方式来传输日志数据到 logstash。如果你使用的是 log4j ,也不是不可以用这种方式,只要引入桥接 jar 包即可。如果你对 log4j 、logback ,或是桥接 jar 包不太了解,可以参考我的这篇博文:细说 Java 主流日志工具库 。
logstash-input-tcp.conf
:-f
来指定你的配置文件:bin/logstash -f logstash-input-udp.conf
io.github.dunwu.spring
包中的 TRACE 及以上级别的日志信息都会被定向输出到 logstash 服务。logstash-input-udp.conf
:-f
来指定你的配置文件:bin/logstash -f logstash-input-udp.conf
在 Java Web 领域,需要用到一些重要的工具,例如 Tomcat 、Nginx 、Mysql 等。这些不属于业务应用,但是它们的日志数据对于定位问题、分析统计同样很重要。这时无法使用 logback 方式将它们的日志传输到 logstash。如何采集这些日志文件呢?别急,你可以使用 logstash 的 file input 插件。需要注意的是,传输文件这种方式,必须在日志所在的机器上部署 logstash 。
logstash-input-file.conf
:-f
来指定你的配置文件:bin/logstash -f logstash-input-file.conf