ELK logstash基本用法

2022-08-30 07:24:11 字數 2497 閱讀 7152

一:logstash介紹

logstash在elk系統中為資料儲存,報表查詢和日誌解析建立了乙個功能強大的管道鏈。logstash提供了多種多樣的 input,filters,codecs和output元件,logstash由以下三部分組成

input資料輸入端,可以接收來自任何地方的源資料

1:file:從檔案中讀取

2:syslog:監聽在514埠的系統日誌資訊,並解析成rfc3164格式

3:redis:從redis-server list 中獲取

4:beat:接收來自filebeat的事件

filter資料中轉層,主要進行格式處理,資料型別轉換、資料過濾、字段新增,修改等,主要用做過濾

1:grok: 通過正則解析和結構化任何文字。grok 目前是logstash最好的方式對非結構化日誌資料解析成結構化和可查詢化。logstash內建了120個匹配模式,滿足大部分需求。

2:mutate: 在事件字段執行一般的轉換。可以重新命名、刪除、替換和修改事件字段。

3:drop: 完全丟棄事件,如debug事件。

4:clone: 複製事件,可能新增或者刪除字段。

5:geoip: 新增有關ip位址地理位置資訊。

output是logstash工作的最後乙個階段,負責將資料輸出到指定位置,相容大多數應用

1:elasticsearch: 傳送事件資料到 elasticsearch,便於查詢,分析,繪圖。

2:file: 將事件資料寫入到磁碟檔案上。

3:mongodb:將事件資料傳送至高效能nosql mongodb,便於永久儲存,查詢,分析,大資料分片。

4:redis:將資料傳送至redis-server,常用於中間層暫時快取。

5:graphite: 傳送事件資料到graphite

6:statsd: 傳送事件資料到 statsd。

二:logstash啟動方式

logstash分別由-e和-f兩種啟動方式

-e:用來快速測試不用修改配置檔案,一般用來除錯!

-f :指定配置檔案啟動,需要把基本配置寫入檔案中啟動,這裡比較內容比較複雜,涉及到如何採集、過濾以及輸出

1:下面進行-e啟動方式演示

[root@localhost ~]# logstash -e  "input } output   }"

hell ghs     //輸入字元資訊

sending logstash's logs to /usr/local/elk/logstash/logs which is now configured via log4j2.properties

the stdin plugin is now waiting for input:

[2017-11-24t19:15:06,655][info ][logstash.agent           ] pipelines running

2017-11-24t11:15:06.704z localhost.localdomain hell ghs     //這裡顯示的上面輸入的字串

##stdin {} :表示標準輸入,stdout {} :表示標準輸出

2:-f 配置檔案啟動方式

編輯乙個配置檔案,指定輸入輸出

[root@localhost ~]# vim ceshi.conf

input

}output}}

## codec

執行配置檔案

[root@localhost ~]# logstash -f test.conf

hell ghs          //輸入字串

1:編寫乙個過濾系統日誌的配置檔案

[root@localhost ~]# vim messages.conf

input

}output

}##path指定的是過濾日誌的檔案路徑,type指定型別,自定義,主要做區分!

2:執行檔案,顯示過濾的日誌結果

[root@localhost ~]# logstash -f messages.conf

三:輸出到elasticsearch,在kibana形成web圖形方式

1:編寫乙個配置檔案,讓日誌輸出到elasticsearch通過kibana生成web圖形!

[root@localhost ~]# vim  test.conf    ##配置檔案名字自定義

input

}output"    //定義索引的名字,名字為test}}

2:執行配置檔案

[root@localhost ~]# logstash -f test.conf -d

執行之後,在kibana的web頁面index pattern新增索引的名稱,就可以discover會形成以下日誌輸出的資訊

ELK Logstash安裝與配置

使用yum安裝 編輯 repovim etc yum.repos d elasticsearch.repo 內容如下 elasticsearch 6.x name elasticsearch repository for 6.x packages baseurl co packages 6.x yu...

ELK logstash過濾外掛程式Grok的使用

如果業務專案都能夠按照json格式輸出的話那麼處理起來會很容易,那麼使用之前的json外掛程式就可以快速解析為結構化的資料。但是有些日誌的格式就不符合json格式也不能自定義,那麼kv json外掛程式就用不到的。grok外掛程式可以支援正則,能夠從非結構化的日誌當中提取出關鍵字段,負責將非結構化資...

ELK logstash 動態指定動態模板

基於 es 7.10.x 通過logstash寫到es的資料,es 預設匹配logstash 的模板,並且 索引 index 名稱也會自動加上logstash 預設的 logstash 模板為 get template logstash string string match properties ...