如何在Ubuntu 20.04上安裝ELK堆棧

ELK堆棧是三個流行的開源項目的首字母縮寫:Elasticsearch,Logstash和Kibana。 它是開源的,也是最流行的日誌管理平台之一,可以收集,處理,存儲

並可視化來自多個數據源的數據。 它主要用於IT環境中的日誌分析。 對於系統管理員而言,始終搜索和分析大量數據以做出實時決策非常有幫助。

Elasticsearch:這是一個用於存儲所有收集數據的搜索引擎.Kibana:它提供了一個基於Web的界面,用於搜索和可視化您的數據Logstash:它是一個數據處理界面,用於同時從多個來源收集數據將數據發送到所需的存儲庫。

在本教程中,我們將說明如何在Ubuntu 20.04服務器上安裝和配置ELK堆棧。

先決條件

  • Ubuntu 20.04 VPS(我們將使用SSD 8 VPS計劃)
  • 訪問root用戶帳戶(或訪問具有root特權的管理員帳戶)

登錄到服務器並更新服務器操作系統軟件包

首先,以root用戶身份通過​​SSH登錄到Ubuntu 20.04服務器:

ssh [email protected]_Address -p Port_number

您將需要用服務器各自的IP地址和SSH端口號替換“ IP_Address”和“ Port_number”。 另外,如有必要,將“ root”替換為管理員帳戶的用戶名。

在開始之前,您必須確保服務器上安裝的所有Ubuntu OS軟件包都是最新的。 您可以通過運行以下命令來執行此操作:

apt-get update -y
apt-get upgrade -y

安裝必需的依賴項

在開始之前,您將需要在服務器中安裝Java和其他必需的依賴項。 您可以使用以下命令安裝所有組件:

apt-get install openjdk-11-jdk wget apt-transport-https curl gnupg2 -y

安裝所有軟件包之後,請使用以下命令驗證Java的安裝版本:

java -version

您應該獲得以下輸出:

openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)

安裝Elasticsearch

默認情況下,Elasticsearch在Ubuntu標準存儲庫中不可用。 因此,您需要將Elasticsearch存儲庫添加到系統中。

首先,使用以下命令添加Elasticsearch簽名密鑰:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

接下來,使用以下命令添加存儲庫:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list

添加存儲庫後,請更新存儲庫並使用以下命令安裝Elasticsearch軟件包:

apt-get update -y
apt-get install elasticsearch -y

安裝Elasticsearch後,啟動Elasticsearch服務並啟用它以在系統重新引導時啟動:

systemctl start elasticsearch
systemctl enable elasticsearch

此時,Elasticsearch已啟動並正在偵聽端口9200。您可以使用以下命令進行驗證:

ss -antpl | grep 9200

您應該獲得以下輸出:

LISTEN   0        4096        [::ffff:127.0.0.1]:9200                  *:*       users:(("java",pid=27757,fd=257))                                              
LISTEN   0        4096                     [::1]:9200               [::]:*       users:(("java",pid=27757,fd=256))                                              

您還可以通過發送HTTP請求來檢查Elasticsearch:

curl -X GET http://localhost:9200

您應該獲得以下輸出:

{
  "name" : "ubuntu2004",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "LhG8-a_eQHyyoRAlQQXBTQ",
  "version" : {
    "number" : "7.10.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "51e9d6f22758d0374a0f3f5c6e8f3a7997850f96",
    "build_date" : "2020-11-09T21:30:33.964949Z",
    "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"
}

安裝和配置Logstash

Logstash是用於收集日誌並將其存儲在Elasticsearch上的日誌分析軟件。 您可以使用以下命令輕鬆安裝它:

apt-get install logstash -y

一旦安裝了Logstash,您將需要配置輸入,過濾器和輸出插件。 您可以通過在/etc/logstash/conf.d/目錄中創建一個新的配置文件來配置它:

nano /etc/logstash/conf.d/logstash.conf

添加以下行:

#Specify listening port for incoming logs from the beats

input {
  beats {
    port => 5044
  }
}

# Used to parse syslog messages and send it to Elasticsearch for storing

filter {
  if [type] == "syslog" {
     grok {
        match => { "message" => "%{SYSLOGLINE}" }
  }
     date {
        match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
     }
  }
}

# Specify an Elastisearch instance

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
  }
}

保存並關閉文件,然後啟動Logstash並使其在系統重新引導時啟動。

systemctl start logstash
systemctl enable logstash

安裝和配置Kibana

Kibana通過基於Web的界面可視化存儲在Elasticsearch上的數據。 您可以使用以下命令進行安裝:

apt-get install kibana -y

默認情況下,Kibana監聽localhost。 因此,您將需要對其進行配置以供外部訪問。 您可以通過編輯文件/etc/kibana/kibana.yml對其進行配置:

nano /etc/kibana/kibana.yml

更改以下行:

server.host: "your-server-ip"
elasticsearch.hosts: ["http://localhost:9200"]

保存並關閉文件,然後啟動Kibana服務並啟用它以在系統重新啟動時啟動:

systemctl start kibana
systemctl enable kibana

安裝和配置Filebeat

Filebeat用於將日誌發送到Logstash或Elasticsearch進行解析。 在本節中,我們將安裝Filebeat並將其配置為將日誌發送到Logstash。

您可以使用以下命令進行安裝:

apt-get install filebeat -y

安裝完成後,編輯Filebeat主配置文件並將其配置為將日誌發送到Logstash。

nano /etc/filebeat/filebeat.yml

注釋掉以下幾行:

#output.elasticsearch:
  # Array of hosts to connect to.
#  hosts: ["localhost:9200"]

取消注釋以下行:

output.logstash:
hosts: ["localhost:5044"]

保存並關閉文件,然後啟動Filebeat服務,並使其在系統重新引導時啟動:

systemctl start filebeat
systemctl enable filebeat

接下來,啟用Filebeat系統模塊,它將檢查本地系統日誌:

filebeat modules enable system

接下來,使用以下命令加載索引模板:

filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

最後,驗證Filebeat是否將日誌文件傳送到Logstash進行處理。 處理後,數據將發送到Elasticsearch。

curl -XGET http://localhost:9200/_cat/indices?v

您應該獲得以下輸出:

health status index                             uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   filebeat-7.10.0-2020.12.06-000001 hkQTgSbhSKqwYV-L6Dirtg   1   1          0            0       208b           208b
green  open   .apm-custom-link                  GZekuSDGSh2h3cyaUh-Kuw   1   0          0            0       208b           208b
green  open   .kibana_task_manager_1            wsc1qi8-S6W7xiU6Gb8IUA   1   0          5           23    125.3kb        125.3kb
green  open   .apm-agent-configuration          OQ0CeuK0R7mXtevKccGjlQ   1   0          0            0       208b           208b
green  open   .kibana-event-log-7.10.0-000001   qt1r0hCbRb6-vYd5UsJVGA   1   0          2            0       11kb           11kb
green  open   .kibana_1                         s7LrkbyERnSezRhyJf-GLw   1   0          9            0     10.3mb         10.3mb

訪問Kibana Web界面

默認情況下,Kibana監聽端口 5601。 您可以使用URL進行訪問 http://your-server-ip:5601。 您應該在以下屏幕中看到Kibana儀錶板:

安裝麋鹿堆棧Ubuntu 20.04

現在,點擊 獨自探索。 您應該看到以下屏幕:

在Ubuntu 20.04上設置麋鹿堆棧

恭喜你! 您已在Ubuntu 20.04服務器上成功安裝了ELK Stack。

當然,如果您使用我們的Linux VPS託管服務之一,則無需執行任何操作,在這種情況下,您只需要求我們的專業Linux管理員為您進行設置即可。 它們全天候24×7可用,將立即處理您的請求。

聚苯乙烯。 如果您喜歡此帖子,請使用左側的按鈕在社交網絡上與您的朋友分享,或者在下面留下您的答覆。 謝謝。

Sidebar