ELK日志分析系統簡介
日志服務器的優缺點
優點
- 提高安全性
- 集中存放日志
缺點
- 對日志的分析困難
ELK的三大組成
E:Elasticsearch
是一個開源分布式搜索引擎,特點有:分布式、零配置、自動發現
索引自動分片、索引副本機制,restful風格介面,多資料,自動搜索負載等
通常作為具有復雜搜索場景情況下的核心發動機
L:Logstash
是一個完全開源的工具,它可以對日志進行收集、過濾,并將其存盤,供以后使用
K:Kibana
是一個開源免費的工具,kibana可以為Logstash和Elasticsearch提供友好的日志分析web頁面
Logstash管理包含四種工具
- Packetbeat ( 搜集網路流量資料)
- Topbeat(搜集系統、行程和檔案系統級別的CPU和記憶體使用情況等資料)
- Filebeat (搜集檔案資料),相較于Logstash是輕量級工具
- Winlogbeat (搜集Windows事件日志資料)
日志處理步驟
- Logstash收集AppServer產生的Log,并將log進行集中化管理
- 將日志格式化(Logstash) 并存放到ElasticSearch集群中
- 對格式化后的資料進行索引|和存盤( Elasticsearch)
- Kibana則從Es集群中查詢資料生成圖表,再回傳給browsers

二、Elasticsearch的核心
1、接近實時(NRT)
Elasticsearch是一個接近實時的搜索平臺,這意味著,從索引一個檔案直到這個檔案能夠被搜索到有一個輕微的延遲(通常是1秒)
2、集群(cluster)
一個集群就是由一個或者多個節點組織在一起,它們共同持有你整個的資料,并一起提供索引和搜索功能,
其中一個為主節點,這個主節點是可以通過選舉產生的,并提供跨節點的聯合索引和搜索功能,
集群有一個唯一性標示的名字,默認是Elasticsearch,集群的名字很重要,每個節點是基于集群名字加入到集群中的,因此,確保在不同的環境中使用不同的集群名字,
一個集群可以只有一個節點,建議在配置Elasticsearch時,配置成集群模式,
Elasticsearch具有集群機制,節點通過集群名稱加入到集群中,同時在集群中的節點會有一個自己唯一的身份標識(自己的名稱)
3、節點(node)
節點就是一臺單一的服務器,是集群的一部分,存盤資料并參與集群的索引和搜索功能,像集群一樣,節點也是通過名字來標識,默認是在節點啟動時隨機分配的字符名,也可自己定義,名字很重要,在集群中用于識別服務器對應的節點
節點可以通過指定集群名字來加入到集群中,默認情況下,每個節點被設定成加入到Elasticsearch集群,如果啟動了多個節點,假設能自動發現對方,他們將會自動組建一個名為Elasticsearch的集群,
4、索引(index)
一個索引就是一個擁有幾分相似特征的檔案的集合,
一個索引由一個名字來標識(必須全部是小寫字母),并且當我們要對對應于這個索引中的檔案進行索引、搜索、更新和洗掉的時候,都要使用到這個名字,在一個集群中,可以定義任意多的索引,
5、型別(type)
在一個索引中,你可以定義一種或多種型別,一個型別是你的索引的一個邏輯上的分類/磁區,其語意完全由你來定,
通常會為具有一組共同欄位的檔案定義一個型別,
6、檔案(document)
一個檔案是一個可被索引的基礎資訊單元
在一個index/type里面,只要你想,你可以存盤任意多的檔案,注意,雖然一個檔案在物理上位于一個索引中,實際上一個檔案必須在一個索引內被索引和分配一個型別
7、分片和副本(shards & replicas)
實際情況下,索引存盤的資料可能超過單個節點的硬體限制,為了解決這個問題,Elasticsearch提供將索引分成多個分片的功能,當在創建索引時,可以定義想要的分片數量,每一個分片就是一個全功能的獨立的索引,可以位于集群中任何節點上,
分片的主要原因:
水平分割擴展,增大存盤量
分布式并跨越分片操作,提高性能和吞吐量
分布式分片機制和搜索請求的檔案如何火鬃完全是由Elasticsearch控制的,這些對用戶是完全透明的,
為了健壯性,建議有一個故障切換機制,為此,Elasticsearch讓我們將索引分片復制一份或多份,稱之為分片副本
分片副本的原因:
高可用性,以應對分片或者節點故障,處于這個原因,分片副本要在不同的節點上
增大吞吐量,搜索可以并行在所有副本上執行
總之,每個索引可以被分成多個分片,一個索引可以被復制0次或者多次,一旦復制了,每個索引就有了主分片 (作為復制源的原來的分片)和復制分片(主分片的拷貝)之別,分片和副本的數量可以在索引創建的時候指定,在索引創建之后,你可以在指定任何時候動態的改變副本的數量,但是你事后不能改變分片的數量,
默認情況下,Elasticsearch中的每個索引被分片5個主分片和1個副本,這意味著,如果你的集群中至少有兩個節點,你的索引將會有5個主分片和另外的5個副本分片(一個完全拷貝),這樣的話每個索引總共有10個分片,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/294155.html
標籤:其他
下一篇:springboo專案用自定義框架來完成elasticsearch7.14.0最新版的增刪改。同時在mybatis-plus中集成elasticsearch,完成一系列自動化操作。
