如何在 Ubuntu 和 Debian 上安裝和配置 ELK 堆棧


ELK 堆棧由一組用於檢索和管理日誌文件的應用程序組成。在軟件開發行業中,日誌文件在識別和解決問題方面發揮著重要作用。 ELK stack 是各種開源應用工具的集合,包括: 彈性搜索, 基巴納, 什麼時候 日誌存儲借助 ELK,您可以使用查詢來收集、搜索和可視化從任何來源以任何模式生成的日誌。在本文中,了解如何在 Ubuntu 和 Debian 上安裝和配置 ELK 堆棧。

先決條件:

  1. 新的 Ubuntu 20.04 或 Debian 10 服務器
  2. 根特權帳戶
  3. 良好的互聯網連接

安裝Java

安裝 ELK stack 需要 Java 環境。通過運行以下命令在 Ubuntu/Debian 上安裝 Java:

$ sudo apt install openjdk-8-jdk

通過檢查您的 Java 版本來驗證您的安裝

$ java -version

輸出:

安裝和配置 Elasticsearch

安裝 Java 後,安裝和配置 Elasticsearch。 Elasticsearch 包在 Ubuntu/Debian 上默認不可用,因此您需要添加 elasticsearch apt 存儲庫。通過運行以下命令添加 GPG 存儲庫密鑰:

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

使用命令創建存儲庫文件

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

創建存儲庫文件後,您可以使用以下命令安裝 Elasticsearch:

$ sudo apt update
$ sudo apt install elasticsearch

默認的 Elasticsearch 配置文件位於 /etc/elasticsearch/elasticsearch.yml。使用任何文本編輯器取消註釋以下行。

network.host: localhost
http.port: 9200

配置彈性搜索

啟動並啟用 ElasticSearch

$ sudo systemctl start elasticsearch
$ sudo systemctl enable elasticsearch

運行以下命令以查看 Elasticsearch 狀態和詳細信息。

$ curl -X GET "localhost:9200"

輸出:

測試 Elasticsearch

安裝和配置 Logstash

Logstash 包在 Ubuntu/Debian 系統上默認可用。通過運行以下命令安裝它:

$ sudo apt install logstash

啟動並啟用服務

$ sudo systemctl start logstash
$ sudo systemctl enable logstash

使用命令檢查服務

$ systemctl status logstash

配置 Logstash

logstash 的默認配置目錄是: /etc/logstash/conf.d/ . 安裝完成後 輸入, 篩選 什麼時候 輸出 管道可以根據所需的用例進行配置。

安裝和配置 Kibana

Kibana 是一個基於 Web 的 GUI 工具,用於分析和解析收集的日誌。 Kibana 在 Ubuntu/Debian 默認存儲庫中可用。通過運行以下命令安裝包:

$ sudo apt install kibana

要配置 Kibana,請導航到默認配置目錄並取消註釋以下行。

$ sudo vim /etc/kibana/kibana.yml
server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["https://localhost:9200"]

Kibana 設置

啟動並啟用服務

$ sudo systemctl start kibana
$ sudo systemctl enable kibana

在防火牆中允許 Kibana 端口

$ sudo ufw allow 5601/tcp

使用 URL 訪問 Kibana 儀表板。 https://localhost:5601

Kibana 儀表板

安裝和配置 filebeat

Filebeat用於將日誌發送到elasticsearch和logstash進行分析。 Filebeat 在 Ubuntu/Debian 存儲庫中默認可用。通過運行以下命令安裝它:

$ sudo apt install filebeat -y

要配置 filebeat,請轉到默認配置目錄並註釋掉以下內容:

$ sudo vim /etc/filebeat/filebeat.yml

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

取消註釋以下行並保存文件

output.logstash:
hosts: [“localhost:5044”]

配置 Filebeat

然後啟用filebeat系統模塊

$ sudo filebeat modules enable system

啟用 filebeat 模塊

通過運行以下命令加載索引模板:

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

加載 filebeat 模板

啟動並啟用filebeat服務

$ sudo systemctl start filebeat
$ sudo systemctl enable filebeat

檢查狀態

$ sudo systemctl status filebeat

檢查 Filebeat 狀態

結論是

本文展示瞭如何在 Debian/Ubuntu 上以正確的方式安裝和配置 ELK 堆棧。您還學習瞭如何使用各種組件(例如 Kibana、Logstash 和 Kibana)分析和可視化來自任何來源的日誌。