在 Linux 中用命令行运行 Logstash:
bin/logstash [options]
在 Winodws 中用命令行运行 Logstash:
bin/logstash.bat [options]
上述的 options 是你可以用于指定控制 Logstash 运行时执行什么动作的命令行参数。各个平台的 bin 目录不同,具体目录位置可以参考 Logstash 目录层级结构。
例如下面的例子,运行 Logstash 并且加载 mypipeline.conf 文件中定义的 Logstash 配置:
bin/logstash -f mypipeline.conf
注意1:任何你在命令行设置的参数都会覆盖 logstash.yml 配置文件中相对应的设置,但是配置文件里的配置内容不会改变。对于后续再次运行 Logstash 是,同样会使用配置文件里原本的配置。
注意2:在生产环境中,尽量将需要使用的参数写入配置文件 logstash.yml 中来控制 logstash 的运行。
命令行参数
可以使用 --help 参数来显示以下信息:
--node.name NAME
指定此 Logstash 实例的名称。如果没有给出名称,默认使用当前主机名。
-f,--path.config CONFIG_PATH
从指定的文件或目录中加载 Logstash 配置文件。如果给出的是目录,该目录中的所有文件都会按字典顺序连接,然后解析为单个配置文件。不支持在同行命令中多次使用此参数,如果多次指定此参数,Logstash 会使用最后一个指定的配置文件。
-e,--config.string CONFIG_STRING
使用给定的字符串作为配置数据,语法和配置文件里的配置数据相同。如果未指定任何输入,则将以下内容用作默认输入:input { stdin { type => stdin } } ;如果未指定任何输出,则将以下内容作为默认输入:output { stdout { codec => rubydebug } }。如果希望同时使用两个默认值,在 -e 标志中使用空字符串即可。
--java-execution
为此选项指定 false,以还原到旧版 Ruby 执行引擎,而不是默认的 Java 执行引擎。
--plugin-classloaders
将 Java 插件加载到独立的类加载器中以隔离其依赖项(测试)。
--modules
启动命名模块。
-M,--modules.variable
--pipeline.id ID
设置管道的ID。默认是 main。
--path.data PATH
此参数应该指向一个可写的目录。Logstash 在需要存储数据时将使用此目录。插件也可以访问此目录。默认是在 Logstash 家目录下的 data 目录。
-p,--path.plugins PATH
指定查找自定义插件的路径。可以多次指定此参数来包含多个路径。插件应位于特定的目录层次结构中:PATH/logstash/TYPE/NAME.rb。TYPE 是 inputs,filters,outputs 或 codecs,并且 NAME 是插件的名称。
-l,--path.logs PATH
存放 Logstash 内部日志的目录。
--log.level LEVEL
设置 Logstash 日志级别:
- fatal:记录非常严重的错误消息,当应用程序终止时产生的错误消息。
- error:记录错误
- warn:记录警告
- info:记录详细信息
- debug:记录调测信息
- trace:记录除调测信息外更细粒度的消息
--config.debug
将完整编译的配置显示为调试日志消息(必须开启 --log.level=debug)。
注意:日志消息将会包含以明文形式传递给插件配置的所有密码选项,并可能导致名为密码出现在日志中。
-i,--interactive SHELL
-V,--version
显示 Logstash 的版本。
-t,--config.test_and_exit
检查配置文件中的语法。