一: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 ...