ELK 系統架構 概述 架構 Logstash Elasticsearch Kibana

概述

一個完整的集中式的日誌管理系統,一般需要具有如下幾個主要特徵:

  • 收集:能夠收集各種來源的日誌;
  • 傳輸:能夠把日誌傳輸到日誌管理系統;
  • 存儲:存儲日誌數據;
  • 分析:能夠對日誌進行分析並展示;
  • 警告:能夠提供錯誤告警和監控機制;

Elasticsearch + Logstash + KibanaELK)恰是一套能滿足上述要求的開源的日誌管理方案。

架構

Logstash:負責日誌的收集、過濾和傳輸;
Elasticsearch:負責日誌存儲、檢索和分析;
Kibana:負責日誌的可視化;

架構圖如下:


Logstash

Logstash 事件處理有三個階段:

  • input
  • sfiltes
  • outputs

是一個接收、處理、轉發日誌的工具。支持日誌系統、webserver 日誌、錯誤日誌、應用日誌等。
Logstash 分爲 ShipperIndexer 兩種角色,分別完成不同的工作:

  • Shipper:安裝在在 client 上,只負責採集和傳輸日誌;
  • Indexer:安裝在 server 上,從隊列(例如 redis)讀取日誌、過濾、格式化等,然後存入 Elasticsearch

架構

Elasticsearch

Elasticsearch 是一個基於 Lucene 的開源分佈式搜索引擎和分析引擎,負責日誌存儲、檢索和分析。

Elasticsearch 是文檔型數據庫,索引(Index)定義了文檔的邏輯存儲和字段類型,每個索引可以包含多個文檔類型,文檔類型是文檔的集合,文檔以索引定義的邏輯存儲模型,比如,指定分片和副本的數量,配置刷新頻率,分配分析器等,存儲在索引中的海量文檔分佈式存儲在 Elasticsearch集羣中。

Elasticsearch 將所有文檔信息寫入到倒排索引(Inverted Index)的數據結構中,倒排索引建立的是索引中詞和文檔之間的映射關係,在倒排索引中,數據是面向詞(Term)而不是面向文檔的。

ElasticSearch 的對象模型,跟關係型數據庫模型相比:

  • 索引(Index):相當於數據庫,用於定義文檔類型的存儲,在同一個索引中,同一個字段只能定義一個數據類型;
  • 文檔類型(Type):相當於關係表,用於描述文檔中的各個字段的定義,不同的文檔類型,能夠存儲不同的字段,服務於不同的查詢請求;
  • 文檔(Document):相當於關係表的數據行,存儲數據的載體,包含一個或多個存有數據的字段;
  • 字段(Field):文檔的一個Key/Value對;
  • 詞(Term):表示文本中的一個單詞;
  • 標記(Token):表示在字段中出現的詞,由該詞的文本、偏移量(開始和結束)以及類型組成;

Kibana

Kibana 是一個數據可視化服務,根據用戶的操作從 Elasticsearch 中查詢數據,形成相應的分析結果,並以圖表的形式展現給用戶。


參考地址:
https://www.cnblogs.com/kevingrace/p/5919021.html
http://www.cnblogs.com/ljhdo/p/4981928.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章