ELKF++:logstash 配置詳解

 Logstash Input 配置詳解


1、從文件中輸入:👇

從文件讀取數據,如常見的日誌文件。文件讀取通常要解決幾個問題:

 

配置項:

 補充:

path 語法配置:

/var/log/*.log:匹配/var/log目錄下以.log結尾的所有文件
/var/log/**/*.log:匹配/var/log所有子目錄下以.log結尾的文件
/var/log/{app1,app2,app3}/*.log:匹配/var/log目錄下app1,app2,app3子目錄中以.log結尾的文件

sincedb 語法配置:

  通過logstash-input-file插件導入了一些本地日誌文件時,logstash會通過一個名爲sincedb的獨立文件中來跟蹤記錄每個文件中的當前位置。

這使得停止和重新啓動Logstash成爲可能,並讓它在不丟失在停止Logstashwas時添加到文件中的行數的情況下繼續運行。

sincedb默認保存在當前用戶的Home目錄下。

在調試的時候,我們可能希望取消sincedb的記錄功能,使文件每次都能從頭開始讀取。

此時,我們可以這樣來做:

input {
    file {
        path => ["文件路徑"]
        start_position => "beginning"
        sincedb_path => "/dev/null"
    }
}

2、從 HTTP 中輸入:👇

  Http插件是2.0版本纔出現的新插件,1.x是沒有這個插件的。

這個插件可以幫助logstash接收其他主機或者本機發送的http報文。

插件的原理很簡單,它自己啓動了一個ruby的服務器,用於接收Http請求。

然後會把host(IP地址)和header相關的信息添加到event中。

下面就看看這個插件如何使用吧!

先看看默認的配置吧!

http {}

簡單到心碎啊!其實有很多參數都是默認的... 上面的配置其實相當於:

http{
    host => "0.0.0.0"
    port => 8080
    additional_codecs => {"application/json"=>"json"}
    codec => "plain"
    threads => 4
    ssl => false
}

參數詳解:

3、從Redis 中輸入:👇 

input {
    redis {
        batch_count => 1 #EVAL命令返回的事件數目
        data_type => "list" #logstash redis插件工作方式
        key => "logstash-test-list" #監聽的鍵值
        host => "127.0.0.1" #redis地址
        port => 6379 #redis端口號
        password => "123qwe" #如果有安全認證,此項爲密碼
        db => 0 #redis數據庫的編號
        threads => 1 #啓用線程數量
    }
}
output {
    stdout{}
}

data_type logstash工作的類型:

logstash 中的 redis插件,指定了三種方式來讀取redis隊列中的信息。

  list => BLPOP

  channel => SUBSCRIBE

  pattern_channel => PSUBSCRIBE

  其中list,相當於隊列;channel相當於發佈訂閱的某個特定的頻道;pattern_channel相當於發佈訂閱某組頻道。


Logstash 文件詳解


 

 logstash.yml

參數用途默認值

node.name

節點名稱 主機名稱

path.data

/數據存儲路徑 LOGSTASH_HOME/data/

pipeline.workers

輸出通道的工作workers數據量(提升輸出效率) cpu核數

pipeline.output.workers

每個輸出插件的工作wokers數量 1

pipeline.batch.size

每次input數量 125

path.config

過濾配置文件目錄  

config.reload.automatic

自動重新加載被修改配置 false or true

config.reload.interval

配置文件檢查時間  

path.logs

日誌輸出路徑  

http.host

綁定主機地址,用戶指標收集 “127.0.0.1”

http.port

綁定端口 5000-9700

log.level

日誌輸出級別,如果config.debug開啓,這裏一定要是debug日誌 info

log.format

日誌格式 * plain*

path.plugins

自定義插件目錄

 startup.options:

參數用途
JAVACMD=/usr/bin/java 本地jdk
LS_HOME=/opt/logstash logstash所在目錄
LS_SETTINGS_DIR="${LS_HOME}/config" 默認logstash配置文件目錄
LS_OPTS="–path.settings ${LS_SETTINGS_DIR}" logstash啓動命令參數 指定配置文件目錄
LS_JAVA_OPTS="" 指定jdk目錄
LS_PIDFILE=/var/run/logstash.pid logstash.pid所在目錄
LS_USER=logstash logstash啓動用戶
LS_GROUP=logstash logstash啓動組
LS_GC_LOG_FILE=/var/log/logstash/gc.log logstash jvm gc日誌路徑
LS_OPEN_FILES=65534 logstash最多打開監控文件數量

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章