ELK概述與Elasticsearch及插件elasticsearch-head的安裝使用

一、 ELK(Elasticsearch+Logstash+Kibana)概述

ElasticSearch:是個開源分佈式搜索引擎,它的特點有:分佈式,零配置,自動發現,索引自動分片,索引副本機制, restful風格接口,多數據源,自動搜索負載等。
Logstash: 是一個完全開源的工具,他可以對你的日誌進行收集,分析,並將其存儲供以後使用。
Kibana:也是一個開源和免費的工具, Kibana可以爲Logstash 和 ElasticSearch提供的日誌分析友好的Web界面,可以幫助彙總,分析和搜索重要數據日誌。

tip:E是搜索引擎、L是日誌收集工具、K是可視化界面展示工具

Elasticsearch簡介


Elasticsearch 是一個分佈式的開源搜索和分析引擎,適用於所有類型的數據,包括文本、數字、地理空間、結構化和非結構化數據。Elasticsearch 在 Apache Lucene 的基礎上開發而成,由 Elasticsearch N.V.(即現在的 Elastic)於 2010 年首次發佈。Elasticsearch 以其簡單的 REST 風格 API、分佈式特性、速度和可擴展性而聞名,是 Elastic Stack 的核心組件;Elastic Stack 是適用於數據採集、充實、存儲、分析和可視化的一組開源工具。人們通常將 Elastic Stack 稱爲 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列豐富的輕量型數據採集代理,這些代理統稱爲 Beats,可用來向 Elasticsearch 發送數據。

Elasticsearch功能

Elasticsearch功能詳細說明文檔


Elasticsearch 在速度和可擴展性方面都表現出色,而且還能夠索引多種類型的內容,這意味着其可用於多種用例:

  • 應用程序搜索
  • 網站搜索
  • 企業搜索
  • 日誌處理和分析
  • 基礎設施指標和容器監測
  • 應用程序性能監測
  • 地理空間數據分析和可視化
  • 安全分析
  • 業務分析

Elasticsearch 工作原理

原始數據會從多個來源(包括日誌、系統指標和網絡應用程序)輸入到 Elasticsearch 中。數據採集指在 Elasticsearch 中進行索引之前解析、標準化並充實這些原始數據的過程。這些數據在 Elasticsearch 中索引完成之後,用戶便可針對他們的數據運行復雜的查詢,並使用聚合來檢索自身數據的複雜彙總。在 Kibana 中,用戶可以基於自己的數據創建強大的可視化,分享儀表板,並對 Elastic Stack 進行管理。

Elasticsearch 索引

Elasticsearch 索引指相互關聯的文檔集合。Elasticsearch 會以 JSON 文檔的形式存儲數據。每個文檔都會在一組鍵(字段或屬性的名稱)和它們對應的值(字符串、數字、布爾值、日期、數值組、地理位置或其他類型的數據)之間建立聯繫。

Elasticsearch 使用的是一種名爲倒排索引的數據結構,這一結構的設計可以允許十分快速地進行全文本搜索。倒排索引會列出在所有文檔中出現的每個特有詞彙,並且可以找到包含每個詞彙的全部文檔。

在索引過程中,Elasticsearch 會存儲文檔並構建倒排索引,這樣用戶便可以近實時地對文檔數據進行搜索。索引過程是在索引 API 中啓動的,通過此 API 您既可向特定索引中添加 JSON 文檔,也可更改特定索引中的 JSON 文檔。

Logstash 用途

Logstash 是 Elastic Stack 的核心產品之一,可用來對數據進行聚合和處理,並將數據發送到 Elasticsearch。Logstash 是一個開源的服務器端數據處理管道,允許您在將數據索引到 Elasticsearch 之前同時從多個來源採集數據,並對數據進行充實和轉換

Kibana 用途

Kibana 是一款適用於 Elasticsearch 的數據可視化和管理工具,可以提供實時的直方圖、線形圖、餅狀圖和地圖。Kibana 同時還包括諸如 Canvas 和 Elastic Maps 等高級應用程序;Canvas 允許用戶基於自身數據創建定製的動態信息圖表,而 Elastic Maps 則可用來對地理空間數據進行可視化。

二、ElasticSearch安裝

參考文檔

ELK官網: https://www.elastic.co/
ELK官網文檔:https://www.elastic.co/guide/index.html
ELK中文手冊:https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
ELK中文社區:https://elasticsearch.cn/
ELK-API:
https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html

下載方式

1、訪問官網地址https://www.elastic.co/cn/downloads/elasticsearch
2、雲盤鏈接(限linux,6.4.2版本)

鏈接: https://pan.baidu.com/s/1uUsCJdQ_A_EIuF1VkIBi7g
提取碼: gjhf

安裝與運行

安裝: 由於是Linux包,解壓拖到某一指定文件目錄下即可;
運行:
1.在終端中打開目錄
2. 使用 bin/elasticsearch啓動
在這裏插入圖片描述

3.出現started 表示啓動成功

tips: started:表示啓動成功;9201: 表示端口號(默認是9200,這裏9200已被佔用)

4.瀏覽器輸入:http://localhost:9201/測試

插件(elasticsearch-head)安裝

1、github搜索elasticsearch-head

2、點擊下載、解壓、安裝到本地

3、啓動:

(1). Ctrl + c: 關閉當前服務(ElasticSearch9201)
(2). cd Library/elasticsearch-head-master/: 進入elasticsearch-head-master目錄下
(3). npm run start 啓動head服務


tips:先要保證安裝了node 才能使用npm run start

4、 瀏覽器測試


剛纔把ElasticSearch9201服務停了,所以這裏出現集羣未連接;

由於head插件與ElasticSearch是兩個獨立的進程,它們之間的訪問有跨域問題,則對ElasticSearch的配置進行相應的修改。

5、修改ElasticSearch的elasticsearch.yml
在文件末尾添加以下代碼:

http.cors.enabled: true
http.cors.allow-origin: "*"

6、分別重新啓動ElasticSearch和head服務

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