如何使用logstashmultipipeline

本篇內(nèi)容主要講解“如何使用logstash multi pipeline”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用logstash multi pipeline”吧!

成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比西吉網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式西吉網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋西吉地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

一、背景

假設我們需要從多個渠道來收集數(shù)據(jù),比如:1、從文件收集。2、從tcp收集。不同的渠道收集過來的數(shù)據(jù)需要做不同的處理。那么我們這個時候應該如何處理呢?

二、解決方案

1、方案一:

使用同一個 logstash 實例,然后將在一個 pipeline 中,接收多個輸入,比如:

input {
	file {}
	file {}
	tcp {}
}

這樣雖然可以實現(xiàn),但是我們 在 filteroutput階段如果不同的輸入存在不同的過濾、輸出等,那么這個文件將會非常復雜,需要進行各種判斷,不好維護。

2、方案二:

使用多個 logstash 實例,每個 logstash 實例處理不同的輸入。這樣雖然可以實現(xiàn),但是 logstash 稍微有點耗費性能,也是不可取的。

3、方案三:

在同一個 logstash 實例中,使用多個 pipeline,每個 pipeline 處理不同的 input,filterout。即配置分散在多個配置文件中。

三、實現(xiàn)步驟

> 此處采用上方的 方案三 來實現(xiàn)。

1、編寫 pipeline 文件

1、從文件收集,輸出到控制臺

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
        }
    }
}

2、從socket收集,輸出到控制臺

vim tcp-pipeline.conf

# 開啟一個tcp監(jiān)聽在9092端口
# id 的值建議設置成唯一的值,這在多個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的值建議設置成一個唯一的值,這個當我們有多個 tcp 輸入時,在我們使用監(jiān)控api會非常有用。

如何使用logstash multi pipeline

2、修改 pipelines.yml 配置文件

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ù)重復。

即修改成:

# 這樣是多個配置文件共用一個 pipeline,filter\output等會共享。
- pipeline.id: file-pipeline
  path.config: "/Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-pipeline/*.conf"

3、啟動logstash

bin/logstash

注意??:

1、此處的啟動命令后不可跟 -e-f,如果跟了,則不會使用默認的 config/pipelines.yml。

如何使用logstash multi pipeline

4、測試

1、測試 file 收集

cd /Users/huan/soft/elastic-stack/logstash/logstash/pipeline.conf/multi-pipeline
echo "觀察控制臺輸出" >> file-pipeline.log

2、測試從 tcp 收集

nc 127.0.0.1 9202
123456 -> 觀察控制臺輸出

3、結(jié)果

如何使用logstash multi pipeline

到此,相信大家對“如何使用logstash multi pipeline”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

當前名稱:如何使用logstashmultipipeline
網(wǎng)站鏈接:http://bm7419.com/article40/psoheo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、Google、軟件開發(fā)、網(wǎng)站改版小程序開發(fā)、網(wǎng)頁設計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應式網(wǎng)站建設