ELK日誌分析系統 3 logstash資料處理

2021-09-28 14:29:27 字數 3284 閱讀 2472

1. 概述

logspout收集資料以後,就會把資料傳送給logstash進行處理,本文主要講解logstash的input, filter, output處理

2. input

資料的輸入處理

支援tcp,udp等協議

2.1. 語法

基本語法如下:

input

}

2.2. multiline

有時候日誌是這樣多行顯示的:

預設情況下logstash會把一行日誌轉換成elasticsearch的乙個doc,上面這個日誌就會儲存成15條日誌。這樣就不能滿足我們的需求,我們只是想要一條日誌

我們可以這麼配置input:

input"

negate =>

true what => "previous"

} } }

紅色**的作用是:匹配到以[2019-10-08 16:57:42開頭的一行日誌作為previous,不是以這個格式開頭的將作為子行出現,然後把多行記錄合併成一行記錄

3. filter

資料的過濾轉化處理

3.1. 語法

基本語法如下:

filter %" }

overwrite => [ "message" ]}}

3.2. grok正規化匹配

grok適合用來解析syslog,apache,mysql等日誌

假如你的日誌格式是這樣的

[2019-10-12 15:44:52 account 1 140058162291304 warning] hashcache::_rds_get, cache not existed!!! id_ls:

日誌的格式是這樣的:

"

[%(asctime)s %(service)s %(process)d %(thread)d %(levelname)s] %(message)s

"

那麼針對這樣有特定格式的日誌,我們要怎樣提取這裡面的字段呢?

可以這麼配置你的filter:

filter % % % %\] %" }}}

}

使用grok的match正規表示式匹配可以方便的從message中提取字段

從elasticsearch可以發現增加了timestamp、server、pid、tid和log-level等字段。

附上官網文件:

# grok偵錯程式

# 官方文件

3.3. gsub字串替換

經過logspout處理以後,會增加一些metadata(container name, container id, etc)

紅色部分是logspout新增的:

如何去除這部分多餘的資料呢?

filter

}}

3.4. remove_filed刪除字段

elk是採用json字典的方式來儲存資料的

假如你不想要grop解析出來的msg_body欄位和test欄位,可以這麼操作,那麼最後儲存到elasticsearch那邊將不會出現這2欄位

filter

}}

3.5. kv過濾器解析kv資料

官方文件kv filter:

動態的解析kv可以很方便的支援日誌擴充套件,不需要後期去修改

filter

}}

這邊的配置意思是:從msg_body這個欄位去解析kv欄位,欄位的分隔符是"\t\t"

當然這也要求日誌寫入的時候需要採用"\t\t"來區分多個字段,類似這樣:

http_ip=127.0.0.1、http_uri=/account/v1/binding與http_method=post這三個欄位是採用'\t\t'分割的

這樣kv filter就會解析成功,並往doc裡面設定http_ip, http_uri,http_method這三個值:

4. output

過濾轉化後的資料的輸出處理

這裡是把資料儲存到elasticsearch的9200埠,index是"syslog-%"

output"

}stdout

}}

然後elasticsearch就能得到資料了

ELK 日誌分析系統

elk就是一套完整的日誌分析系統 elk logstash elasticsearch kibana 統一官網 elk模組說明 logstash 作用 用於處理傳入的日誌,負責收集 過濾和寫出日誌 logstash分為三個元件input,filter,output 輸入input 常用file,re...

ELK日誌分析系統簡介

當我們部署集群伺服器的時候,日誌檔案就會散落在多台伺服器上。檢視日誌資訊就需要到各個伺服器上去取和檢視,我們把這些日誌檔案歸集到乙個地方統一管理。這個時候elk系統出現了,elk是elasticsearch logstashh和kibana三個系統的首字母組合。當然elk不只是檢視日誌功能這麼簡單,...

部署elk日誌分析系統

日誌分析是運維工程師解決系統故障,發現問題的主要手段。日誌主要包括系統日誌 應用程 序日誌和安全日誌。系統運維和開發人員可以通過日誌了解伺服器軟硬體資訊 檢查配置過程中的 錯誤及錯誤發生的原因。經常分析日誌可以了解伺服器的負荷,效能安全性,從而及時採取措施糾 正錯誤。通常,日誌被分散的儲存在不同的裝...