## **初識ELK**
ELK 其實并不是一款軟件,而是一整套解決方案,是三個軟件產品的首字母縮寫,Elasticsearch,Logstash 和 Kibana。這三款軟件都是開源軟件,通常是配合使用,而且又先后歸于 Elastic.co 公司名下,故被簡稱為 ELK 協議棧。
## **一、 Elasticsearch**
Elasticsearch 是一個實時的分布式搜索和分析引擎,它可以用于全文搜索,結構化搜索以及分析。它是一個建立在全文搜索引擎 Apache Lucene 基礎上的搜索引擎,使用 Java 語言編寫。
主要特點
* 實時分析
* 分布式實時文件存儲,并將每一個字段都編入索引
* 文檔導向,所有的對象全部是文檔
* 高可用性,易擴展,支持集群(Cluster)、分片和復制(Shards 和 Replicas)。
* 接口友好,支持 JSON
## **二、Logstash**
Logstash 是一個具有實時渠道能力的數據收集引擎,使用 JRuby 語言編寫。
主要特點
* 幾乎可以訪問任何數據
* 可以和多種外部應用結合
* 支持彈性擴展
它由三個主要部分組成
* Shipper-發送日志數據
* Broker-收集數據,缺省內置 Redis
* Indexer-數據寫入
## **三、Kibana**
Kibana 是一款基于 Apache 開源協議,使用 JavaScript 語言編寫,為 Elasticsearch 提供分析和可視化的 Web 平臺。它可以在 Elasticsearch 的索引中查找,交互數據,并生成各種維度的表圖。
## **ELK 協議棧**
基本流程是 Shipper 負責從各種數據源里采集數據,然后發送到 Broker,Indexer 將存放在 Broker 中的數據再寫入 Elasticsearch,Elasticsearch 對這些數據創建索引,然后由 Kibana 對其進行各種分析并以圖表的形式展示。
ELK 三款軟件之間互相配合使用,完美銜接,高效的滿足了很多場合的應用,并且被很多用戶所采納,諸如臉書(Facebook),StackOverFlow 等等。
>[danger] # 推薦閱讀
<i class="thumbs outline up icon"></i> [ThinkPHP 6.0企業最佳實踐](http://www.hmoore.net/zhangqi/electron-vue)
<i class="thumbs outline up icon"></i> [tp6 & ElasticSearch7全文檢索架構](http://www.hmoore.net/zhangqi/tp6_thinkphp6_es_es7_elasticsearch7)
*****
更多精彩內容,請關注公眾號:**ThinkPHP6 企業最佳實踐**

????????????????????掃一掃 關注我們