本篇內(nèi)容主要講解“如何使用logstash multi pipeline”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“如何使用logstash multi pipeline”吧!
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比西吉網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式西吉網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋西吉地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。
假設(shè)我們需要從多個渠道來收集數(shù)據(jù),比如:1、從文件收集。2、從tcp收集。不同的渠道收集過來的數(shù)據(jù)需要做不同的處理。那么我們這個時候應(yīng)該如何處理呢?
使用同一個 logstash 實例,然后將在一個 pipeline 中,接收多個輸入,比如:
input { file {} file {} tcp {} }
這樣雖然可以實現(xiàn),但是我們 在 filter
和 output
階段如果不同的輸入存在不同的過濾、輸出等,那么這個文件將會非常復(fù)雜,需要進(jìn)行各種判斷,不好維護(hù)。
使用多個 logstash 實例,每個 logstash 實例處理不同的輸入。這樣雖然可以實現(xiàn),但是 logstash 稍微有點耗費性能,也是不可取的。
在同一個 logstash 實例中,使用多個 pipeline,每個 pipeline 處理不同的 input
,filter
和out
。即配置分散在多個配置文件中。
> 此處采用上方的 方案三
來實現(xiàn)。
vim file-pipeline.conf
input { file { path => ["/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-pipeline/file-pipeline.log"] start_position => "end" sincedb_path => "/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-pipeline/sincedb.db" sincedb_write_interval => "15 seconds" mode => "tail" type => "file-pipeline" } } filter { } output { stdout { codec => rubydebug { metadata => true } } }
vim tcp-pipeline.conf
# 開啟一個tcp監(jiān)聽在9092端口 # id 的值建議設(shè)置成唯一的值,這在多個tcp input時,使用監(jiān)控api時非常有用的。 input { tcp { port => 9202 host => "127.0.0.1" mode => "server" type => "tcp-pipeline" id => "console-tcp" } } filter { } output { stdout { codec => line { charset => "UTF-8" } } }
注意??:
1、tcp 中的 id
的值建議設(shè)置成一個唯一的值,這個當(dāng)我們有多個 tcp
輸入時,在我們使用監(jiān)控api會非常有用。
vim LS_HOME/config/pipelines.yml
- pipeline.id: file-pipeline path.config: "/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-pipeline/file-pipeline.conf" - pipeline.id: tcp-pipeline queue.type: persisted path.config: "/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-pipeline/tcp-pipeline.conf"
注意??:
1、如果上方的配置文件使用的是一個 pipeline
,比如刪除下方的 tcp-pipeline,將 file-pipeline的 path.config 的值修改成 .../*.conf
,
那么此時會共用 output
,會發(fā)現(xiàn)數(shù)據(jù)重復(fù)。
即修改成:
# 這樣是多個配置文件共用一個 pipeline,filter\output等會共享。 - pipeline.id: file-pipeline path.config: "/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-pipeline/*.conf"
bin/logstash
注意??:
1、此處的啟動命令后不可跟 -e
或-f
,如果跟了,則不會使用默認(rèn)的 config/pipelines.yml
。
cd /Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-pipeline echo "觀察控制臺輸出" >> file-pipeline.log
nc 127.0.0.1 9202 123456 -> 觀察控制臺輸出
到此,相信大家對“如何使用logstash multi pipeline”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!