Úvod
Zásobník ELK je sada aplikací pro načítání a správu souborů protokolu.
Jedná se o kolekci tří open-source nástrojů, Elasticsearch , Kibana a Logstash . Zásobník lze dále upgradovat pomocí Beats , lehký plugin pro agregaci dat z různých datových toků.
V tomto tutoriálu se dozvíte, jak nainstalovat sadu softwaru ELK na Ubuntu 18.04 / 20.04.
Předpoklady
- Systém Linux se systémem Ubuntu 20.04 nebo 18.04
- 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)
Krok 1:Instalace závislostí
Nainstalujte Javu
Zásobník ELK vyžaduje instalaci Java 8. Některé komponenty jsou kompatibilní s Java 9, ale ne s Logstash.
Pokud již máte Java 8 nainstalovanou, přejděte na Instalace Nginx.
1. Pokud nemáte nainstalovanou Javu 8, nainstalujte ji otevřením okna terminálu a zadáním následujícího:
sudo apt-get install openjdk-8-jdk
2. Pokud se zobrazí výzva, zadejte y
a stiskněte Enter pro dokončení procesu.
Nainstalujte Nginx
Nginx funguje jako webový server a proxy server. Používá se ke konfiguraci přístupu řízeného heslem k řídicímu panelu Kibana.
1. Nainstalujte Nginx zadáním následujícího:
sudo apt-get install nginx
2. Pokud se zobrazí výzva, zadejte y
a stiskněte Enter pro dokončení procesu.
Krok 2:Přidejte elastické úložiště
Elastická úložiště umožňují přístup k veškerému softwaru s otevřeným zdrojovým kódem v zásobníku ELK. Chcete-li je přidat, začněte importem klíče GPG.
1. Chcete-li importovat klíč PGP pro Elastic, zadejte do okna terminálu následující:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
2. Systém by měl odpovědět OK , jak je vidět na obrázku níže.
3. Dále nainstalujte apt-transport-https balíček:
sudo apt-get install apt-transport-https
4. Přidejte elastické úložiště do seznamu úložišť vašeho systému:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee –a /etc/apt/sources.list.d/elastic-7.x.list
Krok 3:Nainstalujte Elasticsearch
1. Před instalací Elasticsearch aktualizujte úložiště zadáním:
sudo apt-get update
2. Nainstalujte Elasticsearch pomocí následujícího příkazu:
sudo apt-get install elasticsearch
Nakonfigurujte Elasticsearch
1. Elasticsearch používá konfigurační soubor k řízení toho, jak se chová. Otevřete konfigurační soubor pro úpravy v textovém editoru dle vašeho výběru. Budeme používat nano:
sudo nano /etc/elasticsearch/elasticsearch.yml
2. Měli byste vidět konfigurační soubor s několika různými položkami a popisy. Přejděte dolů a vyhledejte následující položky:
#network.host: 192.168.0.1
#http.port: 9200
3. Odkomentujte řádky odstraněním hash (#
) podepsat na začátku obou řádků a nahraďte 192.168.0.1
s localhost
.
Mělo by to znít:
network.host: localhost
http.port: 9200
4. Níže najděte Objev sekce. Přidáváme další řádek, protože konfigurujeme jeden cluster uzlů:
discovery.type: single-node
Další podrobnosti naleznete na obrázku níže.
5. Ve výchozím nastavení Velikost haldy JVM je nastavena na 1GB. Doporučujeme jej nastavit na maximálně poloviční velikost vaší celkové paměti. Otevřete následující soubor pro úpravy:
sudo nano /etc/elasticsearch/jvm.options
6. Najděte řádky začínající -Xms
a -Xmx
. V níže uvedeném příkladu je maximální (-Xmx
) a minimální (-Xms
) je velikost nastavena na 512 MB.
Spustit Elasticsearch
1. Spusťte službu Elasticsearch spuštěním systemctl
příkaz:
sudo systemctl start elasticsearch.service
Systému může nějakou dobu trvat, než službu spustí. V případě úspěchu nedojde k žádnému výstupu.
2. Povolte Elasticsearch pro spuštění při spuštění:
sudo systemctl enable elasticsearch.service
Test Elasticsearch
Použijte curl
příkaz pro otestování vaší konfigurace. Zadejte následující:
curl -X GET "localhost:9200"
Měl by se zobrazit název vašeho systému a elasticsearch pro název clusteru. To znamená, že Elasticsearch je funkční a naslouchá na portu 9200 .
Krok 4:Nainstalujte Kibana
Dále se doporučuje nainstalovat Kibana. Kibana je grafické uživatelské rozhraní pro analýzu a interpretaci shromážděných souborů protokolu.
1. Spusťte následující příkaz pro instalaci Kibana:
sudo apt-get install kibana
2. Nechte proces dokončit. Po dokončení je čas nakonfigurovat Kibana.
Nakonfigurujte Kibana
1. Dále otevřete soubor kibana.yml konfigurační soubor pro úpravy:
sudo nano /etc/kibana/kibana.yml
2. Odstraňte #
podepište na začátku následujících řádků, abyste je aktivovali:
#server.port: 5601
#server.host: "your-hostname"
#elasticsearch.hosts: ["http://localhost:9200"]
Výše uvedené řádky by měly vypadat následovně:
server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]
3. Uložte soubor (Ctrl+o
) a ukončete (Ctrl+ x
).
Spustit a povolit Kibana
1. Spusťte službu Kibana:
sudo systemctl start kibana
Pokud se služba úspěšně spustí, není k dispozici žádný výstup.
2. Dále nakonfigurujte Kibana tak, aby se spouštěla při startu:
sudo systemctl enable kibana
Povolit provoz na portu 5601
Pokud je na vašem systému Ubuntu povolena brána firewall UFW, musíte povolit provoz na portu 5601 pro přístup k řídicímu panelu Kibana.
V okně terminálu spusťte následující příkaz:
sudo ufw allow 5601/tcp
Měl by se zobrazit následující výstup:
Testovat Kibanu
Pro přístup ke Kibaně otevřete webový prohlížeč a přejděte na následující adresu:
http://localhost:5601
Načte se řídicí panel Kibana.
Pokud obdržíte „Kibana server ještě není připraven“ chyba, zkontrolujte, zda jsou aktivní služby Elasticsearch a Kibana.
Krok 5:Nainstalujte 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.
Nainstalujte Logstash spuštěním následujícího příkazu:
sudo apt-get install logstash
Spustit a povolit Logstash
1. Spusťte službu Logstash:
sudo systemctl start logstash
2. Povolte službu Logstash:
sudo systemctl enable logstash
3. Chcete-li zkontrolovat stav služby, spusťte následující příkaz:
sudo systemctl status logstash
Nakonfigurujte Logstash
Logstash je vysoce přizpůsobitelná část zásobníku ELK. Po instalaci nakonfigurujte jeho INPUT , FILTRY a VÝSTUP potrubí podle vašeho vlastního individuálního případu použití.
Všechny vlastní konfigurační soubory Logstash jsou uloženy v /etc/logstash/conf.d/ .
Krok 6:Instalace Filebeat
Filebeat je lehký plugin používaný ke shromažďování a odesílání souborů protokolu. Je to nejpoužívanější modul Beats. Jednou z hlavních výhod Filebeat je to, že zpomaluje tempo, pokud je služba Logstash zahlcena daty.
Nainstalujte Filebeat spuštěním následujícího příkazu:
sudo apt-get install filebeat
Nechte instalaci dokončit.
Konfigurace Filebeat
Filebeat ve výchozím nastavení odesílá data do Elasticsearch. Filebeat lze také nakonfigurovat tak, aby posílal data událostí do Logstash.
1. Chcete-li to nakonfigurovat, upravte soubor filebeat.yml konfigurační soubor:
sudo nano /etc/filebeat/filebeat.yml
2. V části Elasticsearch ovýstup sekce, zakomentujte následující řádky:
# output.elasticsearch:
# Array of hosts to connect to.
# hosts: ["localhost:9200"]
3. Pod Výstup Logstash sekce,odstraňte znak hash (#
) na následujících dvou řádcích:
# output.logstash
# hosts: ["localhost:5044"]
Mělo by to vypadat takto:
output.logstash
hosts: ["localhost:5044"]
Další podrobnosti naleznete na obrázku níže.
4. Dále povolte Systém Filebeat modul, který prozkoumá místní systémové protokoly:
sudo filebeat modules enable system
Výstup by měl být Enabled system
.
5. Dále načtěte šablonu indexu:
sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
Systém provede nějakou práci, prohledá váš systém a připojí se k řídicímu panelu Kibana.
Spustit a povolit Filebeat
Spusťte a povolte službu Filebeat:
sudo systemctl start filebeat
sudo systemctl enable filebeat
Ověřte příjem dat systémem Elasticsearch
Nakonec ověřte, zda Filebeat odesílá soubory protokolu do Logstash ke zpracování. Po zpracování jsou data odeslána do Elasticsearch.
curl -XGET http://localhost:9200/_cat/indices?v