logstash 配置 logstash-forwarder (前名稱:lumberjack)

logstash-forwarder(曾名lumberjack)是一個用go語言寫的日誌發送端,node

主要是爲一些機器性能不足,有性能強迫症的患者準備的。git

主要功能github

經過配置的信任關係,把被監控機器的日誌加密後傳送給logstash,json

減小被收集日誌機器的性能消耗,至關於日誌的計算換一臺機器;ruby

僅支持加密鏈接;app

支持監控多個目錄的多個文件,每一個監控組增長tag屬性,方便logstash後續分揀;工具

性能至關強勁;性能

多個下游logstash,一個fail/connection broken,自動更換;加密

 

不支持功能spa

日誌過濾,好比根據某種模板過濾只發送部分行;

不加密鏈接;

 

配置部分

生成ssl證書:

openssl req -x509  -batch -nodes -newkey rsa:2048 -days 8650 -keyout lumberjack.key -out lumberjack.crt -subj /CN=logstash.example.com

關於證書部分,我不是專家,照着prj官網 https://github.com/elastic/logstash-forwarder 作的。

**-days 參數是頗有必要的,否則,證書默認只有30天有效期,過時後,一旦重啓或者斷連,兩端會判斷證書過時,沒法鏈接。**

文檔說生成以ip爲簽名的證書會很是複雜。

forwarder發送端

{
    "network": {
        "servers": [ "logstash1.abc.com:4551" ],
        "ssl ca": "./lumberjack.crt"
    },

    "files": [
        {
            "paths": ["/opt/tengine_1.5.2/logs/access.log"],
            "fields": { "type": "app_abc" },
"deadtime":"1h" # 若是文件修改時間比最近工具訪問時間老這麼久,就再也不監聽它 } ] }

啓動forwarder:

./logstash-forwarder -config=lf.json-conf

若是須要從一個很是大的文件的結尾開始讀取,而不是從文件開頭,能夠預先修改一下 ~/.logstash-forwarder 文件。

[root@host-111 ~]# cat ~/.logstash-forwarder
{"/var/log/user/xxxx_app.log":{"source":"/var/log/user/xxxx_app.log","offset":3219807683,"inode":525517,"device":2051}}

 

logstash配置接收端

input {
  lumberjack {
    port => 4551
    ssl_certificate => "/root/lumberjack.crt"
    ssl_key => "/root/lumberjack.key"
  }
}

output {
  stdout {
    codec => rubydebug
  }
}

啓動logstash就不用說了吧……

相關文章
相關標籤/搜索