ELK stack je zkratka tří populárních open-source projektů:Elasticsearch, Logstash a Kibana. Jedná se o open-source a jednu z nejpopulárnějších platforem pro správu protokolů, která shromažďuje, zpracovává a vizualizuje data z různých zdrojů dat. Používá se hlavně pro analýzu protokolů v prostředí IT. Pro správce systému je velmi užitečné vyhledávat a analyzovat velké množství dat, aby mohl neustále rozhodovat v reálném čase.
Elasticsearch:Je to vyhledávač používaný k ukládání všech shromážděných dat.
Kibana:Poskytuje webové rozhraní používané k vyhledávání a vizualizaci vašich dat.
Logstash:Jedná se o rozhraní pro zpracování dat. shromažďovat data z několika zdrojů současně, pak data odešle do požadovaného úložiště.
V tomto tutoriálu vysvětlíme, jak nainstalovat a nakonfigurovat zásobník ELK na serveru Ubuntu 20.04.
Předpoklady
- Ubuntu 20.04 VPS (budeme používat náš hostingový plán NVMe 8 VPS)
- Přístup k uživatelskému účtu root (nebo přístup k účtu správce s oprávněními root)
Přihlaste se k serveru a aktualizujte balíčky operačního systému serveru
Nejprve se přihlaste ke svému serveru Ubuntu 20.04 přes SSH jako uživatel root:
ssh root@IP_Address -p Port_number
„IP_Address“ a „Port_number“ budete muset nahradit příslušnou IP adresou vašeho serveru a číslem portu SSH. V případě potřeby navíc nahraďte „root“ uživatelským jménem účtu správce.
Před spuštěním se musíte ujistit, že všechny balíčky Ubuntu OS nainstalované na serveru jsou aktuální. Můžete to provést spuštěním následujících příkazů:
apt-get update -y apt-get upgrade -y
Instalovat požadované závislosti
Než začnete, budete muset na svůj server nainstalovat Javu a další požadované závislosti. Všechny je můžete nainstalovat pomocí následujícího příkazu:
apt-get install openjdk-11-jdk wget apt-transport-https curl gnupg2 -y
Jakmile jsou všechny balíčky nainstalovány, ověřte nainstalovanou verzi Java pomocí následujícího příkazu:
java -version
Měli byste získat následující výstup:
openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04) OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
Nainstalujte Elasticsearch
Ve výchozím nastavení není Elasticsearch k dispozici ve standardním úložišti Ubuntu. Budete tedy muset do svého systému přidat úložiště Elasticsearch.
Nejprve přidejte podpisový klíč Elasticsearch pomocí následujícího příkazu:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
Dále přidejte úložiště pomocí následujícího příkazu:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list
Jakmile je úložiště přidáno, aktualizujte úložiště a nainstalujte balíček Elasticsearch pomocí následujícího příkazu:
apt-get update -y apt-get install elasticsearch -y
Jakmile je Elasticsearch nainstalováno, spusťte službu Elasticsearch a povolte její spuštění při restartu systému:
systemctl start elasticsearch systemctl enable elasticsearch
V tomto okamžiku se Elasticsearch spustí a naslouchá na portu 9200. Můžete to ověřit pomocí následujícího příkazu:
ss -antpl | grep 9200
Měli byste získat následující výstup:
LISTEN 0 4096 [::ffff:127.0.0.1]:9200 *:* users:(("java",pid=27757,fd=257)) LISTEN 0 4096 [::1]:9200 [::]:* users:(("java",pid=27757,fd=256))
Elasticsearch můžete také zkontrolovat odesláním požadavku HTTP:
curl -X GET http://localhost:9200
Měli byste získat následující výstup:
{ "name" : "ubuntu2004", "cluster_name" : "elasticsearch", "cluster_uuid" : "LhG8-a_eQHyyoRAlQQXBTQ", "version" : { "number" : "7.10.0", "build_flavor" : "default", "build_type" : "deb", "build_hash" : "51e9d6f22758d0374a0f3f5c6e8f3a7997850f96", "build_date" : "2020-11-09T21:30:33.964949Z", "build_snapshot" : false, "lucene_version" : "8.7.0", "minimum_wire_compatibility_version" : "6.8.0", "minimum_index_compatibility_version" : "6.0.0-beta1" }, "tagline" : "You Know, for Search" }
Instalace a konfigurace Logstash
Logstash je software pro analýzu protokolů, který se používá ke shromažďování protokolů a jejich ukládání na Elasticsearch. Můžete jej snadno nainstalovat pomocí následujícího příkazu:
apt-get install logstash -y
Jakmile je Logstash nainstalován, budete muset nakonfigurovat vstupní, filtrační a výstupní pluginy. Můžete jej nakonfigurovat vytvořením nového konfiguračního souboru v adresáři /etc/logstash/conf.d/:
nano /etc/logstash/conf.d/logstash.conf
Přidejte následující řádky:
#Specify listening port for incoming logs from the beats input { beats { port => 5044 } } # Used to parse syslog messages and send it to Elasticsearch for storing filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGLINE}" } } date { match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } } # Specify an Elastisearch instance output { elasticsearch { hosts => ["localhost:9200"] index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" } }
Uložte a zavřete soubor, poté spusťte Logstash a povolte jeho spuštění při restartu systému.
systemctl start logstash systemctl enable logstash
Instalace a konfigurace Kibana
Kibana vizualizuje data uložená na Elasticsearch prostřednictvím webového rozhraní. Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install kibana -y
Ve výchozím nastavení poslouchá Kibana na localhost. Budete jej tedy muset nakonfigurovat pro externí přístup. Můžete jej nakonfigurovat úpravou souboru /etc/kibana/kibana.yml:
nano /etc/kibana/kibana.yml
Změňte následující řádky:
server.host: "your-server-ip" elasticsearch.hosts: ["http://localhost:9200"]
Uložte a zavřete soubor, poté spusťte službu Kibana a povolte její spuštění při restartu systému:
systemctl start kibana systemctl enable kibana
Instalace a konfigurace Filebeat
Filebeat se používá k odesílání protokolů do Logstash nebo Elasticsearch pro analýzu. V této sekci nainstalujeme Filebeat a nakonfigurujeme jej tak, aby odesílal protokoly do Logstash.
Můžete jej nainstalovat pomocí následujícího příkazu:
apt-get install filebeat -y
Po instalaci upravte hlavní konfigurační soubor Filebeat a nakonfigurujte jej pro odesílání protokolů do Logstash.
nano /etc/filebeat/filebeat.yml
Zakomentujte následující řádky:
#output.elasticsearch: # Array of hosts to connect to. # hosts: ["localhost:9200"]
Odkomentujte následující řádky:
output.logstash: hosts: ["localhost:5044"]
Uložte a zavřete soubor, poté spusťte službu Filebeat a povolte její spuštění při restartu systému:
systemctl start filebeat systemctl enable filebeat
Dále povolte systémový modul Filebeat, který prověří místní systémové protokoly:
filebeat modules enable system
Dále načtěte šablonu indexu pomocí následujícího příkazu:
filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'
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
Měli byste získat následující výstup:
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size yellow open filebeat-7.10.0-2020.12.06-000001 hkQTgSbhSKqwYV-L6Dirtg 1 1 0 0 208b 208b green open .apm-custom-link GZekuSDGSh2h3cyaUh-Kuw 1 0 0 0 208b 208b green open .kibana_task_manager_1 wsc1qi8-S6W7xiU6Gb8IUA 1 0 5 23 125.3kb 125.3kb green open .apm-agent-configuration OQ0CeuK0R7mXtevKccGjlQ 1 0 0 0 208b 208b green open .kibana-event-log-7.10.0-000001 qt1r0hCbRb6-vYd5UsJVGA 1 0 2 0 11kb 11kb green open .kibana_1 s7LrkbyERnSezRhyJf-GLw 1 0 9 0 10.3mb 10.3mb
Přístup k webovému rozhraní Kibana
Ve výchozím nastavení Kibana naslouchá na portu 5601 . Můžete k němu přistupovat pomocí adresy URL http://your-server-ip:5601
. Na následující obrazovce byste měli vidět řídicí panel Kibana:
Nyní klikněte na Prozkoumat sám . Měli byste vidět následující obrazovku:
Gratulujeme! úspěšně jste nainstalovali ELK Stack na server Ubuntu 20.04.
Samozřejmě nemusíte nic z toho dělat, pokud používáte některou z našich hostingových služeb Linux VPS, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám to nastavili. Jsou k dispozici 24 hodin denně, 7 dní v týdnu a okamžitě se o váš požadavek postarají.
PS . Pokud se vám tento příspěvek líbil, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.