elk 基於elk的業務日誌格式設計

2021-09-17 02:17:58 字數 1990 閱讀 3117

php專案,業務監控為0,需要搭建一套日誌檢視,閥值告警等功能的監控系統。撒都不用說,直接上elk。

我們跳過搭建過程(網上太多了)。

通過docker搭建好了elk那一套(明顯單機版),我要監控測試和線上,所以是個多採集的環境,使用了官方推薦的最新的filebeat就行log聚合,格式化還是在master用logstash。

業務需求並不是很多,因為是在初期,等團隊使用熟練後,業務日誌會接入更多(專案決定)。

現在能想到的需求:

本人已盡對專案**進行改造,執行時發生的所有異常和error都會通過json格式寫入在本地日誌目錄中,關鍵就看怎麼定義格式了滿足上面的一些需求了

直接講結果吧:

api和頁面執行效能

mysql慢查

從上面大致需要的監控需求來說,會發現很多共同點或者說是共有資訊字段,比如:訪問的模組,訪問的路由,訪問的使用者,訪問的哪種型別,子型別等

考慮下上面的這些問題,大體上我們就能設計出滿足這些需求的通用日誌格式了:

格式說明:

字段型別

es not_analyzed

備註sid

string

ture

uuid

time

data

ture

log生成時間

level

string

ture

log等級

msgstring

ture

資訊簡要

string

ture

專案名稱

group

string

ture

日誌一級分類

object

string

ture

日誌二級分類

host

string

ture

host

client

string

ture

client

status

number

ture

狀態碼elapsed

number

ture

執行毫秒

error

string

ture

錯誤的完整資訊

urlstring

ture

route

string

ture

例子:php錯誤

group: php_error

msg: 錯誤標題

error:錯誤完整的內容,大家可自行定義

php異常

group: exception

msg: 異常標題

error:異常完整的內容,大家可自行定義

api,page 訪問效能

group: api

elapsed: 100.123 (毫秒)

url: 具體url

route: 路由(聚合分類用)

mysql慢查詢

group: data

object: slow_query

url: 具體url

error: 慢差的完整資訊,包括sql,params等

格式意見定義好了,滿足了之前的設計需求。

具體如何通過定義好的格式去在kibana上進行視覺化,熟悉的朋友應該能有個思路了,具體就不在這展開了。

日記接入成功後,接下來只要封裝好呼叫的方法即可。

後面專案上還需要接入

具體實現思路敬請期待後面的文章。

日誌服務 elk

我們使用微服務開發,一般都會進入集群部署場景,日誌檔案就會散落到多個伺服器上,這時我們要檢視日誌時,都要到對應的伺服器上看,這樣子很麻煩,所以得把日誌全部歸到乙個地方去,統一管理,這樣就方便查詢等了。不需要到處跑。這裡主要用到的是elk系統,對應elasticsearch logstash kiba...

ELK 日誌系統

elk 日誌系統 elasticsearch,logstash,kibana 實時日誌分析平台 logstash是乙個etl工具,負責從每台機器抓取日誌資料,對資料進行格式轉換和處理後,輸出到elasticsearch中儲存。elasticsearch是乙個分布式搜尋引擎和分析引擎,用於資料儲存,可...

基於ELK進行郵箱訪問日誌的分析

公司希望能夠搭建自己的日誌分析系統。現在基於elk的技術分析日誌的公司越來越多,在此也記錄一下我利用elk搭建的日誌分析系統。系統主要是基於elasticsearch logstash filebeat kibana nginx,其實我這個用的還是比較多的,可以直接用logstash直接去採集日誌。...