Úvod
ELK stack je skupina open-source softwarových balíčků používaných ke správě protokolů. Obvykle se používá pro protokoly serverů, ale je také flexibilní (elastický) pro jakýkoli projekt, který generuje velké soubory dat.
Tato příručka ukazuje, jak nainstalovat zásobník ELK (Elasticsearch, Logstash a Kibana) na server CentOS 8.
Předpoklady
- Systém s nainstalovaným CentOS 8
- Přístup k oknu terminálu/příkazovému řádku (Vyhledat > Terminál )
- Uživatelský účet s sudo nebo root privilegia
- Java verze 8 nebo 11 (vyžadováno pro Logstash)
Co znamená zásobník ELK?
ELK je zkratka pro Elasticsearch, Logstash a Kibana. Jsou to tři součásti zásobníku ELK.
Elasticsearch (indexuje data) – Toto je jádro softwaru Elastic. Elasticsearch je vyhledávací a analytický nástroj používaný k třídění dat.
Logstash (shromažďuje data) – Tento balíček se připojuje k různým zdrojům dat, shromažďuje je a přesměrovává je do úložiště. Jak jeho název napovídá, shromažďuje a „uchovává“ vaše soubory protokolu.
Kibana (vizualizuje data) – Kibana je grafický nástroj pro vizualizaci dat. Použijte jej ke generování tabulek a grafů, abyste získali smysl pro nezpracovaná data ve vašich databázích.
Krok 1:Nainstalujte OpenJDK 8 Java
Pokud již máte na svém systému nainstalovanou Javu 8 (nebo 11), můžete tento krok přeskočit.
V opačném případě otevřete okno terminálu a zadejte následující:
sudo yum install java-1.8.0-openjdk
Systém zkontroluje úložiště a poté vás vyzve k potvrzení instalace. Zadejte Y
poté Enter . Nechte proces dokončit.
Krok 2:Přidejte úložiště Elasticsearch
Zásobník ELK lze stáhnout a nainstalovat pomocí správce balíčků YUM. Software však není součástí výchozích úložišť.
Importujte klíč Elasticsearch PGP
Otevřete okno terminálu a zadejte následující kód:
sudo rpm ––import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Tím se do vašeho systému přidá veřejný podpisový klíč Elasticsearch. Tento klíč ověří software Elasticsearch, když si jej stáhnete.
Přidejte úložiště Elasticsearch RPM
Musíte vytvořit konfigurační soubor úložiště v /etc/yum.repos.d/ . Začněte přesunem do adresáře:
cd /etc/yum.repos.d/
Dále vytvořte konfigurační soubor v textovém editoru dle vašeho výběru (používáme Vim):
sudo vim elasticsearch.repo
Zadejte nebo zkopírujte následující řádky:
[elasticstack]
name=Elastic repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
Pokud používáte Vim, stiskněte Esc poté zadejte :wq
a stiskněte Enter .
Nakonec aktualizujte seznamy balíčků vašich úložišť:
dnf update
Krok 3:Instalace a nastavení Elasticsearch
Pořadí instalace je důležité. Začněte instalací Elasticsearch.
V okně terminálu zadejte příkaz:
sudo dnf install elasticsearch
Toto prohledá všechny vaše repozitáře, zda neobsahuje balíček Elasticsearch.
Systém vypočítá velikost stahování a poté vás vyzve k potvrzení instalace. Zadejte Y
poté Enter .
Nakonfigurujte Elasticsearch
Po dokončení instalace otevřete a upravte soubor /etc/elasticsearch/elasticsearch.yml
konfigurační soubor pomocí textového editoru:
sudo vim /etc/elasticsearch/elasticsearch.yml
Přejděte dolů do části označené NETWORK
. Pod tímto záznamem byste měli vidět následující řádky:
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#network.host: 192.168.0.1
#
# Set a custom port for HTTP:
#
#http.port: 9200
Upravte network.host
na IP adresu vašeho serveru nebo jej nastavte na localhost, pokud nastavujete jeden uzel lokálně. Upravte http.port
také.
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: localhost
#
# Set a custom port for HTTP:
#
http.port: 9200
Další podrobnosti viz obrázek níže:
Pokud používáte Vim, stiskněte ESC
, zadejte :wq
a stiskněte Enter
pro uložení změn a ukončení.
Spustit Elasticsearch
Restartujte systém, aby se změny projevily:
sudo reboot
Jakmile se systém restartuje, spusťte elasticsearch služba:
sudo systemctl start elasticsearch
Pokud byl příkaz proveden správně, nebude výstup žádný.
Nyní nastavte službu tak, aby se spouštěla při spouštění:
sudo systemctl enable elasticsearch
Test Elasticsearch
Otestujte software, abyste se ujistili, že reaguje na připojení:
curl -X GET "localhost:9200"
Systém by měl zobrazit celý seznam informací. Na druhém řádku byste měli vidět cluster_name
je nastaveno na elasticsearch
. To potvrzuje, že Elasticsearch běží a poslouchá na Portu 9200 .
Krok 4:Instalace a nastavení Kibana
Kibana je grafické rozhraní pro analýzu a interpretaci souborů protokolu.
Kibana používá stejný klíč GPG jako Elasticsearch, takže klíč nemusíte znovu importovat. Balíček Kibana je navíc ve stejném úložišti zásobníku ELK jako Elasticsearch. Není tedy potřeba vytvářet další konfigurační soubor úložiště.
Chcete-li nainstalovat Kibanra, otevřete okno terminálu a zadejte následující:
sudo dnf install kibana
Systém prohledá úložiště a poté požádá o potvrzení. Zadejte y
poté Enter a nechte proces dokončit.
Nakonfigurujte Kibana
Stejně jako Elasticsearch budete muset upravit .yml konfigurační soubor pro Kibana.
Otevřete soubor kibana.yml soubor pro úpravy:
sudo vim /etc/kibana/kibana.yml
Najděte následující řádky a odstraňte # znak od začátku řádku:
#server.port: 5601
#server.host: "localhost"
#elasticsearch.hosts: ["http://localhost:9200"]
Řádky by nyní měly vypadat následovně:
server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]
Další podrobnosti viz obrázek níže.
Chcete-li přiřadit vlastní název, upravte server.name
řádek.
Proveďte jakékoli další úpravy podle potřeby. Uložte soubor a ukončete (stiskněte Esc , zadejte :wq
a stiskněte Enter ).
Spustit a povolit Kibana
Dále spusťte a povolte službu Kibana:
sudo systemctl start kibana
sudo systemctl enable kibana
Povolit provoz na portu 5601
Pokud je ve vašem systému CentOS povolena brána firewall, musíte povolit provoz na portu 5601 . V okně terminálu spusťte následující příkaz:
firewall-cmd --add-port=5601/tcp --permanent
Dále znovu načtěte službu brány firewall:
firewall-cmd --reload
Výše uvedená akce je nezbytným předpokladem, pokud máte v úmyslu přistupovat k řídicímu panelu Kibana z externích počítačů.
Testovat Kibanu
Otevřete webový prohlížeč a zadejte následující adresu:
http://localhost:5601
Systém by měl začít načítat řídicí panel Kibana.
Krok 5:Instalace a nastavení Logstash
Logstash je nástroj, který shromažďuje data z různých zdrojů. Data, která shromažďuje, analyzuje Kibana a ukládá je do Elasticsearch.
Stejně jako ostatní části zásobníku ELK používá Logstash stejný klíč Elastic GPG a úložiště.
Chcete-li nainstalovat logstash na CentOS 8, v okně terminálu zadejte příkaz:
sudo dnf install logstash
Zadejte Y
a stiskněte Enter pro potvrzení instalace.
Nakonfigurujte Logstash
Uložte všechny vlastní konfigurační soubory do /etc/logstash/conf.d/ adresář. Konfigurace do značné míry závisí na vašem případu použití a použitých pluginech.
Příklady vlastních konfigurací naleznete v části Příklady konfigurace Logstash.
Spusťte Logstash
Spusťte a povolte službu Logstash:
sudo systemctl start logstash
sudo systemctl enable logstash
Nyní byste měli mít funkční instalaci Elasticsearch spolu s řídicím panelem Kibana a kanálem sběru dat Logstash.
Krok 6:Instalace Filebeat
Pro zjednodušení protokolování nainstalujte odlehčený modul s názvem Filebeat . Filebeat je odesílatel protokolů, který centralizuje streamování dat.
Chcete-li nainstalovat Filebeat, otevřete okno terminálu a spusťte příkaz:
sudo yum install filebeat
Dále přidejte systém modul, který prozkoumá místní systémové protokoly:
sudo filebeat modules enable system
Dále spusťte nastavení Filebeat:
sudo filebeat setup
Systém provede nějakou práci, prohledá váš systém a připojí se k řídicímu panelu Kibana.
Spusťte službu Filebeat:
sudo service filebeat start
Spusťte svůj řídicí panel Kibana v prohlížeči na následující adrese:
http://localhost:5601
V levém sloupci klikněte na Protokoly tab. Najděte a klikněte na Streamovat živě odkaz. Nyní byste měli vidět živý datový proud pro vaše lokální soubory protokolu.