# 下載,不一樣的操做系統下載不一樣的包 wget https://artifacts.elastic.co/downloads/logstash/logstash-7.12.0-darwin-x86_64.tar.gz # 解壓 tar -zxvf logstash-7.12.0-darwin-x86_64.tar.gz # 重命名 mv logstash-7.12.0 logstash
cd logstash bin/logstash -h
bin/logstash -f 文件路徑
注意⚠️:-f
後面跟的文件路徑能夠是一個文件的路徑,也能夠是一個文件夾的路徑,若是是文件夾的路徑,則會加載該文件夾下的文件,組成一個大的 pipeline 文件。html
bin/logstash -t
bin/logstash -r
bin/logstash --http.host 127.0.0.1 --http.port 9210
注意⚠️:
更多配置項參考 bin/logstash -h
的輸出。node
vim config/jvm.options 修改 -Xms 和 -Xmx 等其他參數的值。
vim config/logstash.yml
# 設置節點的名字 node.name: logstash-01 # 設置 pipeline 的id pipeline.id: main pipeline.ordered: auto # 設置pipeline 的線程數(filter+output),默認是cpu的核數 # pipeline.workers: 2 # 設置main pipeline文件所在的位置 # path.config: # 自動從新加載pipeline配置文件 config.reload.automatic: true # 設置http api 綁定的ip和端口 http.host: 127.0.0.1 http.port: 9201 # 設置logstash隊列的類型 爲持久化,默認是 memory queue.type: persisted
實現功能,接口從控制檯輸入的數據而後輸出到控制檯上。vim
文件名: pipeline.conf/demo-std.confapi
# 輸入, stdin 表示標準輸入 input { stdin { codec => plain { charset => "UTF-8" } # type 的值隨便給,就一個標識,後期方便查詢 type => "console input" # 添加一個 tag tags => ["console"] } } # 數據過濾 filter { } # 輸出 stdout 表示輸出 output { stdout { codec => rubydebug { } } }
啓動的時候,直接某個pipeline文件ruby
# -f 指定 pipeline 文件的路徑 bin/logstash -f pipeline.conf/demo-std.conf
由上圖可知,一個pipeline有三個元素組成input
、filter
和output
。其中 input
和output
是必須的。filter
是可選的。bash
input
:指定了從那個地方抓取數據,好比:文件(file)、beats、tcp等等。filter
:是咱們能夠修改input的數據,好比增長字段、重命名字段、修改字段類型等等。output
:決定了咱們處理好的數據輸出到哪裏,好比:es、file、等等。jvm
一、logstash下載地址
二、logstash的目錄結構
三、logstash.yml配置文件的參數
四、logstash命令行參數tcp