在 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
檢查配置文件中的語法。