ELK 堆棧由一組用於檢索和管理日誌文件的應用程序組成。在軟件開發行業,日誌文件在識別和解決問題方面發揮著重要作用。 ELK 堆棧是各種開源應用程序工具的集合,包括: 彈性搜索, 基巴納, 什麼時候 日誌存儲.ELK 可用於使用查詢以任何模式收集、檢索和可視化從任何來源生成的日誌。在本文中,您將學習如何在 Ubuntu 和 Debian 上安裝和配置 ELK 堆棧。
先決條件:
- 新的 Ubuntu 20.04 或 Debian 10 服務器
- 根特權帳戶
- 正確的互聯網連接
安裝 Java
安裝 ELK 堆棧需要 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://本地主機:5601
安裝和配置filebeat
Filebeat用於將日誌發送到elasticsearch和logstash進行分析。 Filebeat 默認在 Ubuntu / Debian 存儲庫中可用。運行以下命令進行安裝。
$ sudo apt install filebeat -y
要設置文件節拍,請轉到默認設置目錄並註釋掉以下內容:
$ 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 等各種組件分析和可視化來自任何來源的日誌。