47.第39章 Elastic Stack


一.Elk簡介

什么是ELK?

https://www.elastic.co/cn/what-is/elk-stack

通俗來講,ELK 是由Elasticsearch、Logstash、Kibana 三個開源軟件的組成的一個組合體,ELK 是elastic 公司研發的一套完整的日志收集、分析和展示的企業級解決方案,在這三個軟件當中,每個軟件用於完成不同的功能,ELK 又稱為ELK stack,官方域名為elastic.co,ELK stack 的主要優點有如下幾個:
處理方式靈活: elasticsearch 是近實時全文索引,具有強大的搜索功能
配置相對簡單:elasticsearch 的API 全部使用JSON 接口,logstash 使用模塊配置,kibana 的配置文件部分更簡單。
檢索性能高效:基於優秀的設計,雖然每次查詢都是實時,但是也可以達到百億級數據的查詢秒級響應。
集群線性擴展:elasticsearch 和logstash 都可以靈活線性擴展
前端操作絢麗:kibana 的前端設計比較絢麗,而且操作簡單

什么是Elasticsearch:

是一個高度可擴展的開源全文搜索和分析引擎,它可實現數據的實時全文搜索搜索、支持分布式可實現高可用、提供API 接口,可以處理大規模日志數據,比如Nginx、Tomcat、系統日志等功能。
Elasticsearch 使用Java 語言開發,是建立在全文搜索引擎Apache Lucene 基礎之上的搜索引擎,https://lucene.apache.org/。
Elasticsearch 的特點:
實時搜索、實時分析
分布式架構、實時文件存儲
文檔導向,所有對象都是文檔
高可用,易擴展,支持集群,分片與復制
接口友好,支持json
elasticsearch如何實現數據的高可用:
  • 分片:把數據拆分為幾份,並寫入到指定分片里面,如:0 1,多個分片一定程度可以提升讀寫性能
  • 副本:對分片進行跨主機的數據備份,當主分片的服務器宕機之后,副本分片會接管主分片的角色並繼續對外提供讀寫服務。

什么是Logstash

Logstash 是一個具有實時傳輸能力的數據收集引擎,其可以通過插件實現日志收集和轉發,支持日志過濾,支持普通log、自定義json 格式的日志解析,最終把經過處理的日志發送給elasticsearch。

什么是kibana:

Kibana 為elasticsearch 提供一個查看數據的web 界面, 其主要是通過elasticsearch 的API 接口進行數據查找,並進行前端數據可視化的展現,另外還可以針對特定格式的數據生成相應的表格、柱狀圖、餅圖等。

為什么使用ELK?

ELK 組件在海量日志系統的運維中,可用於解決以下主要問題:
  • 分布式日志數據統一收集,實現集中式查詢和管理
  • 故障排查
  • 安全信息和事件管理
  • 報表功能

ELK 的好處:

ELK 組件在大數據運維系統中,主要可解決的問題如下:
  • 日志查詢,問題排查,故障恢復,故障自愈
  • 應用日志分析,錯誤報警
  • 性能分析,用戶行為分析

誰在使用ELK:

使用場景:

二. elasticsearch如何實現數據的高可用:

  • 分片:把數據拆分為幾份,並寫入到指定分片里面,如:0 1,多個分片一定程度可以提升讀寫性能
  • 副本:對分片進行跨主機的數據備份,當主分片的服務器宕機之后,副本分片會接管主分片的角色並繼續對外提供讀寫服務。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM