日誌系統ELK使用詳解(一)--如何使用

概述

日誌系統ELK使用詳解(一)–如何使用
日誌系統ELK使用詳解(二)–Logstash安裝和使用
日誌系統ELK使用詳解(三)–elasticsearch安裝
日誌系統ELK使用詳解(四)–kibana安裝和使用
日誌系統ELK使用詳解(五)–補充

當我們管理和使用的後端服務程序突破單臺場景,進入到集羣部署場景時,日誌文件就會散落在多臺後端服務器上。

這時候要查看、統計日誌信息就需要到各個服務器上去取和查看,所以我們可能很想把這些日誌文件歸集到一個統一的地方,統一管理。

在業內常見的部署組合就是ELK系統了,ELK是elasticsearch、logstash、kibana三個系統的首字母組合。接下來的幾篇博客會從整體和三個系統細分角度看ELK如何使用。

使用場景

說道日誌,一般有這麼幾類:異常日誌、請求日誌、操作日誌。

異常日誌是大家寫代碼時經常看到的日誌堆棧,這類日誌有很多行,詳細列出了異常信息、異常名稱、出錯的代碼調用棧、內部異常原因(Caused by),是一類多行日誌。

請求日誌是接口的調用日誌,常見的是nginx、tomcat、weblogic等負載均衡和web容器的日誌,一行裏面包含了訪問時間、訪問路徑、狀態碼、結果大小、響應時間等信息。也有一些自定義的信息,比如SLA統計系統或者一些性能監控系統所需的日誌信息,一般來說會包含請求編號、訪問路徑、步驟編號、響應時間等自定義的信息。

操作日誌一般是用來審計或者結果追蹤的信息,這類信息一般會專門的做統一存儲,這類日誌也比較重要,一般用數據庫專門存儲。

在ELK使用的場景中,多見的是對異常日誌和請求日誌的統一處理。

然而,由於請求日誌一般來說生成的速度比較快。是至少相當於系統訪問量,通常大於訪問量,因爲日誌記錄大多還會記錄系統下游接口的訪問日誌,緩存訪問日誌等。因此,對於請求日誌放到ELK的可能也不是特別多見,而是通過腳本針對特定的需求進行收集和查詢。

部署方式

ELK部署最簡單的方式就是L-E-K方式,不添加任何其他輔助系統,部署簡單快速,容易上手。

這裏寫圖片描述

第二種方式是在L-E之間添加一層redis輔助,這樣能夠減少日誌在服務端的積壓,把壓力轉移到ELK系統服務器上。這種方式添加redis之後,由於redis是內存系統所以響應速度很快,而且可以在redis後添加多個消費系統(Logstash),來擴展消費能力,增強處理速度。

這裏寫圖片描述

接下來簡單說一下E-L-K的三個組成部分。

Logstash

Logstash的獨立性很強,它的用途就是一個內容的轉存系統,通過靈活的插件可以做到很多種類數據的讀取和很多種類數據的寫入。

支持的輸入類型很多,當前包括以下這些:

輸出類型包括這些:

logstash在ELK組合裏面擔當的是數據收集和解析的功能。

elasticsearch

es的獨立性也很強,它本身是一個分佈式的搜索引擎,通過倒排序索引對存儲的數據進行索引。

當輸入查詢關鍵字之後,es依據命中結果的匹配度有序返回結果,效果就像大家百度或者google搜索一樣。

在ELK組合中,擔當的是數據存儲、索引和提供查詢接口的功能。

kibana

kibana是一個數據展示的客戶端,提供對es中數據的可視化搜索和展示功能,主要提供了時間維度和數據中字段值的檢索。以及功能豐富的看板,能夠添加曲線圖、餅圖、地址分佈圖等多種樣式的展示圖形。

發佈了141 篇原創文章 · 獲贊 140 · 訪問量 68萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章