ELK在MacOS(Big Sur)上安裝與配置步驟

ELK學習筆記 - 安裝篇




做爲一篇開始學習《ELK》的博客,將會詳細去介紹構成 ELK 的三個軟件模塊:ElasticSearch、LogStash、Kibana 的相關知識背景以及在 Mac OS Big Sur Version 11.2.3 環境中的安裝的步驟;前端

適合剛開始接觸 ELK 的入門的初學者羣體;java

估計閱讀時間爲:20分鐘程序員

估計實操時間爲:40分鐘shell


1. ElasticSearch

1.1 發展歷史及現狀

ElasticSearch 做爲一個很是有名的開源日誌處理、分析軟件,由 Elastic Inc 公司開發,已經擁有了超過3.5億次的下載次數 和 近 10w+ 的社區成員,Elastic Inc 也提供了在雲上的相關服務,而且在國內已經與 騰訊雲 展開了合做。vim

有不少很是著名的網站應用了 ElasticSearch 的相關特性,對於程序員比較熟悉的有: Github 、Wiki 等網站都使用了ElasticSearch 的搜索引擎;瀏覽器

ElasticSearch 起源爲:Lucene - Doug Cutting, 缺點: 不支持水平擴展的能力;ruby

ElasticSearch 發源爲:Compass - Shay Banon, 是ElasticSearch 發源框架;bash


ElasticSearch 相比於 Lucene 以及 Compass 的特性:數據結構

  • 支持了水平擴展,即分佈式的部署,支持了容器的操做;
  • 改變以前單一語言的侷限,支持了不少種語言好比:Python、Jruby、Ruby 等語言;
  • 支持 Hot & Warm 架構; - 多種方式集羣接入
  • 支持 RESTful API;

ElasticSearch 以其 近實時 (Near Real Time)分佈式存儲、搜索、分析引擎 以及支持集羣部署等特性,位列 搜索引擎排名的第一名;架構

與 ElasticSearch 相比,比較著名的有:

  • Solr - Apache 背景的搜索框架;
  • Splunk - 全球第一家上市大數據公司,以Java做爲核心開發語言;

ElasticSearch 提供的功能:

  • 搜索:
    • 近實時搜索,提供結構化、全文搜索等
  • 聚合:
    • 海量數據的近實時分析
  • 分佈式存儲:
    • 海量數據的分佈式存儲以及集羣管理
    • 服務與數據的高可用、水平擴展保障

1.2 ElasticSearch 的安裝

1.首先你須要打開 ElasticSearch - cn 的官網 去下載已經內置了Java開發環境的包,下載單擊這裏: 下載連接

選擇:MACOS 版本

注意:

  • 若是你的本機的Java環境不可用或者版本老舊,請下載最新的 Jre 環境,具體的環境建議 Java jdk 11 以上的版本;

    本機中的JDK版本爲:

    java version "13" 2019-09-17
    Java(TM) SE Runtime Environment (build 13+33)
    Java HotSpot(TM) 64-Bit Server VM (build 13+33, mixed mode, sharing)
  • 在瀏覽器中單擊 Elastic 的官網下載連接並從瀏覽器中下載文件是很是緩慢的,所以須要使用別的辦法: wget 命令,下載速度能快一點: (我選擇的是 7.10.1 版本, 最新的版本已經能夠達到了 7.12.0了,無所謂這個看我的)

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.1-darwin-x86_64.tar.gz

2.將下載好的ElasticSearch 包解壓在目錄下 ~ 新建立一個 app 的文件夾,解壓完成的後的路徑以下:

(base) [20:05] ~/apps $ls
elasticsearch-7.10.1

3.接下來咱們須要將 ~/apps/elasticsearch-7.10.1/bin 目錄添加到環境變量目錄中:

$sudo vim ~/.bash_profile

將下邊的內容加入到 ~/.bash_profile 中:

# 這個要根據你本身的 Java 版本肯定
# 肯定 MacOSX 本機的 方法是: /usr/libexec/java_home -V 
# 而後修改下邊的內容
export JAVA_8_HOME="$(/usr/libexec/java_home -v 1.8)"
export JAVA_13_HOME="$(/usr/libexec/java_home -v 13)"
alias jdk8="export JAVA_HOME=$JAVA_8_HOME"
alias jdk13="export JAVA_HOME=$JAVA_13_HOME"
export JAVA_HOME=$JAVA_13_HOME
#Elasticsearch
export ES_HOME=~/apps/elasticsearch-7.10.1
export PATH=$ES_HOME/bin:$JAVA_HOME/bin:$PATH

4.如今咱們就已經安裝好了 elasticsearch ,在終端中輸入:

$ source ~/.bash_profile
$elasticsearch #等待進程啓動一段時間以後,

驗證:

  • 在瀏覽器中輸入: http://localhost:9200/ ,出現下邊的信息即已經安裝成功

    {
      "name" : "DoHeras-MacBook-Pro.local",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "blwcrCEHSyyJ4UWkV9eMiw",
      "version" : {
        "number" : "7.10.1",
        "build_flavor" : "default",
        "build_type" : "tar",
        "build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",
        "build_date" : "2020-12-05T01:00:33.671820Z",
        "build_snapshot" : false,
        "lucene_version" : "8.7.0",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }

2. Logstash

2.1 Logstash簡介

Logstash 做爲一款與 ElasticSearch 相配套的開源數據處理管道工具或者數據收集引擎,能夠將不一樣的數據源相互統一塊兒來,並將數據標準化的送入到數據處理引擎中進行處理,固然選擇的數據處理引擎應該是: ElasticSearch。

Logstash 支持多種數據流的輸入格式,你能夠從下邊的幾個場景中配置 Logstash 的配置文件作到輸入:

  • 日誌文件
  • 指標數據
  • Web應用
  • 數據存儲
  • AWS 服務

工做流程:

須要處理的數據當經過 Logstash 的過濾器時,經過預先設定好的識別字段來解析數據流的各個事件,並構建對應的數據結構,最後轉化成爲通用的格式。

  • 每每數據流不必定是具備結構化的,Logstash 的 Grok 能夠智能分析數據流並派生出對應的結構;
  • 解析IP地址從而知道對應的 GeoLocation;
  • 利用 PII 進行數據的脫敏,徹底排除敏感字段;

2.2 Logstash 的安裝

1.相似於 Elasticsearch 的安裝方法,首先須要下載從官網上Elasticsearch 相同版本的Logstash 安裝包,好比以前我選擇的是 7.10.1 版本,那麼我也選擇 7.10.1 版本的 Logstash:

[Logstash 7.10.1 下載連接][https://www.elastic.co/downloads/past-releases/logstash-7-10-1] Logstash 歷史版本

# 將兩個軟件放在一個目錄下,方便學習
(base) [20:05] ~/apps $wget https://artifacts.elastic.co/downloads/logstash/logstash-7.10.1-darwin-x86_64.tar.gz

2.解壓壓縮包到 ~/app 目錄下,並給 ~/.bash_profile 加入 Logstash 的啓動文件:

#LogStash
export LGS_HOME=~/apps/logstash-7.10.1
export PATH=$LGS_HOME/bin:$JAVA_HOME/bin:$PATH

3.在命令行中直接輸入 logstash 啓動:

(base) $ source ~/.bash_profile
(base) $ logstash
# 等待啓動
# 若是你想讓 logstash 正確的啓動,那麼就須要先運行 elasticsearch 再啓動 logstash

3. Kibana

Kibana 做爲 ELK 中的開源可視化前端應用程序,能夠爲 Elasticsearch 中已經加上索引的數據提供搜索功能以及數據可視化的相關功能。

3.1 Kibana 的安裝

1.和前邊安裝的步驟相同,Kibana 的下載也須要與 elasticsearch / logstash 的版本保持相同:

Kibana 歷史版本下載

(base) [20:05] ~/apps $ wget https://artifacts.elastic.co/downloads/kibana/kibana-7.10.1-darwin-x86_64.tar.gz

2.在 ~/.bash_profile 文件中加入如下的內容:

export KIB_HOME=~/apps/kibana-7.10.1-darwin-x86_64
export PATH=$KIB_HOME/bin:$JAVA_HOME/bin:$PATH

3.啓動 Kibana 服務

$ source ~/.bash_profile
$ kibana
# 請先啓動 elasticsearch 再 啓動 kibana

最後的運行截圖:

相關文章
相關標籤/搜索