ELK 堆棧由一組用於檢索和管理日誌文件的應用程序組成。在軟件開發行業中,日誌文件在識別和解決問題方面發揮著重要作用。 ELK stack 是各種開源應用工具的集合,包括: 彈性搜索, 基巴納, 什麼時候 日誌存儲借助 ELK,您可以使用查詢來收集、搜索和可視化從任何來源以任何模式生成的日誌。在本文中,了解如何在 Ubuntu 和 Debian 上安裝和配置 ELK 堆棧。
先決條件:
- 新的 Ubuntu 20.04 或 Debian 10 服務器
- 根特權帳戶
- 良好的互聯網連接
安裝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"
輸出:
安裝和配置 Logstash
Logstash 包在 Ubuntu/Debian 系統上默認可用。通過運行以下命令安裝它:
$ sudo apt install logstash
啟動並啟用服務
$ sudo systemctl start logstash
$ sudo systemctl enable logstash
使用命令檢查服務
$ systemctl status 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"]
啟動並啟用服務
$ sudo systemctl start kibana
$ sudo systemctl enable kibana
在防火牆中允許 Kibana 端口
$ sudo ufw allow 5601/tcp
使用 URL 訪問 Kibana 儀表板。 https://localhost:5601
安裝和配置 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系統模塊
$ sudo filebeat modules enable system
通過運行以下命令加載索引模板:
$ sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
啟動並啟用filebeat服務
$ sudo systemctl start filebeat
$ sudo systemctl enable filebeat
檢查狀態
$ sudo systemctl status filebeat
結論是
本文展示瞭如何在 Debian/Ubuntu 上以正確的方式安裝和配置 ELK 堆棧。您還學習瞭如何使用各種組件(例如 Kibana、Logstash 和 Kibana)分析和可視化來自任何來源的日誌。