GNU/Linux >> Znalost Linux >  >> Linux

Jak nainstalovat ELK Stack na Debian 8

Úvod

ELK stack je oblíbená sada nástrojů sestávající z Elasticsearch, Logstash a Kibana. Tyto tři nástroje tvoří softwarový balík, který může fungovat jako extrémně výkonný centralizovaný nástroj pro analýzu síťových dat a vizualizaci protokolů serveru. Zásobník ELK je také navržen tak, aby byl velmi schopný škálování napříč více servery pro vyrovnávání zátěže. V tomto návodu nainstalujeme všechny součásti zásobníku ELK na jeden server.

Předpoklady

  • Server s Debianem 8. Pokud ještě nemáte server, Atlantic.net nabízí spolehlivé VPS hostingové servery, které můžete spustit za méně než 30 sekund.

Ostatní operační systémy jsou podporovány, ale tento článek se zaměřuje na Debian 8.

Instalace ELK Stack na Debian 8

Sudo

Z hlediska zabezpečení se obecně nedoporučuje pracovat jako uživatel root. Pomocí sudo umožňuje spouštět příkazy, které vyžadují oprávnění root od uživatele bez tohoto oprávnění. Ve výchozím nastavení Debian neobsahuje sudo balíček, takže jej nainstalujeme.

apt-get install sudo

Poté budete muset přidat standardní uživatelský účet do sudo skupiny, u které chcete mít možnost spouštět příkazy oprávnění root. Nahraďte <username> s uživatelským jménem účtu.

adduser  sudo

Odhlaste se a znovu přihlaste se svým novým uživatelem a můžeme pokračovat.

Při prvním použití sudo v relaci vás vyzve k zadání hesla aktuálního uživatele.

Instalace Elasticsearch

Začněme proces instalací Javy na náš server.

Elasticsearch, komponenta pro indexování a vyhledávání dat zásobníku ELK, vyžaduje ke spuštění Java. Budeme instalovat vydání OpenJDK 7, ale můžete nainstalovat jakékoli JRE uvedené v matrici podpory pro Elasticsearch.

Nejprve budeme muset aktualizovat seznamy balíčků na našem serveru.

aktualizace sudo apt-get

Nyní můžeme nainstalovat JRE.

sudo apt-get install openjdk-7-jre

Tato instalace může chvíli trvat, protože existuje mnoho závislostí, které APT musí protřídit.

Jakmile to skončí, můžeme nainstalovat Elasticsearch. Verze Elasticsearch v oficiálních repozitářích Debianu je velmi stará a není podporována novějšími verzemi Kibana, takže přidáme repozitář elastic.co na náš server a nainstalujeme Elasticsearch odtud.

Stáhněte a nainstalujte podpisový klíč úložiště pro elastic.co.

wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

Dále můžeme přidat úložiště do /etc/apt/sources.list.d/ adresář.

echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/Elasticsearch-2.x.list

V tomto okamžiku musíme znovu aktualizovat seznamy balíčků, což přidá novější verzi Elasticsearch z repozitáře elastic.co do seznamů balíčků.

aktualizace sudo apt-get

Nyní můžeme nainstalovat Elasticsearch.

sudo apt-get install elasticsearch

Budeme také muset nakonfigurovat službu Elasticsearch, aby se spouštěla ​​při startu systému.

sudo systemctl daemon-reloadsudo systemctl povolit elasticsearch.service

A je to! Nyní můžete spustit službu Elasticsearch.

sudo systemctl spustit elasticsearch.service

A ujistěte se, že je aktivní.

stav systemctl elasticsearch.service

Konfigurace elastického vyhledávání

V našem případě to není nutné, ale pokud budete mít Kibana a Elasticsearch spuštěné na různých serverech (jako mnoho nasazení ELK), budete muset upravit konfigurační soubor Elasticsearch, /etc/elasticsearch/elasticsearch.yml na serveru Elasticsearch a kamkoli do souboru přidejte následující dva řádky:

http.cors.allow-origin:"/.*/"http.cors.enabled:true

Do stejného souboru přidejte řádek s názvem clusteru Elasticsearch. Výchozí název je elasticsearch.

cluster.name:elasticcluster

Úprava konfiguračního souboru Elasticsearch

Do konfiguračního souboru nepřidávejte žádné prázdné řádky ani mezery, protože soubory YAML jsou citlivé na mezery.

A potom restartujte démona Elasticsearch.

sudo systemctl restart elasticsearch.service

Ještě jednou se ujistěte, že démon běží úspěšně.

stav systemctl elasticsearch.service

Stav služby Elasticsearch

Instalace Logstash

Můžeme nainstalovat Logstash, komponentu pro odesílání a transformaci protokolu ze zásobníku ELK, v podstatě stejným způsobem jako Elasticsearch.

Pokud jste postupovali podle tohoto návodu, již jste přidali podpisový klíč balíčku Elastic.co. Tuto část tedy můžeme přeskočit a okamžitě přidat úložiště logstash Elastic.co do našeho /etc/apt/sources.list.d/ .

echo "deb http://packages.elastic.co/logstash/2.0/debian stable main" | sudo tee -a /etc/apt/sources.list

A samozřejmě aktualizujte seznamy balíčků.

aktualizace sudo apt-get

Dále můžeme nainstalovat Logstash.

sudo apt-get install logstash

Stejně jako u Elasticsearch budeme muset povolit Logstash při spuštění systému.

sudo systemctl daemon-reloadsudo systemctl enable logstash.service

Nyní můžeme spustit Logstash.

sudo systemctl start logstash.service

A ujistěte se, že běží.

systemctl status logstash.service

Nyní můžeme přejít k jeho konfiguraci!

Konfigurace Logstash

Logstash používá konfigurační soubory umístěné v /etc/logstash/conf.d . V tomto adresáři budeme muset vytvořit tři nové soubory, protože neexistuje žádná výchozí konfigurace.

cd /etc/logstash/conf.dsudo touch 01-input.conf 10-syslog.conf 30-lumberjack-output.conf

Použijeme první soubor, 01-input.conf , abyste určili, jak bude Lumberjack naslouchat příchozím protokolům.

Otevřete soubor pro úpravy (nahraďte textový editor, který preferujete, pokud chcete).

editor sudo 01-input.conf

Přidejte následující blok:

input { dřevorubec { port => 5000 type => "logs" ssl_certificate => "/etc/ssl/certs/logstash-forwarder.crt" ssl_key => "/etc/ssl/logstash-forwarder.key" } }

Uložte a zavřete soubor.

S SSL certifikáty si zatím nedělejte starosti. Brzy je vygenerujeme.

Dále musíme přidat konfiguraci filtru do 10-syslog.conf . Filtr se může porovnávat s příchozími zprávami (protokoly) a aplikovat transformace na data před jejich indexováním v Elasticsearch.

Otevřete soubor ve svém editoru,

editor sudo 10-syslog.conf

a přidejte následující:

filtr { if [type] =="syslog" { grok { match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[ %{POSINT:syslog_pid}\])?:%{GREEDYDATA:syslog_message}" } add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{host}" ] } syslog_pri { } datum { shoda => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } }}

Tento filtr zachycuje všechny příchozí protokoly, které odpovídají standardnímu formátu syslog, a poté ke každé zprávě přidá časové razítko a pole názvu hostitele. Extrahuje také některé informace ze zprávy protokolu, jako je syslog PID, který program zprávu vygeneroval, a samotná zpráva syslog.

Pro každý nový typ protokolu, který chcete použít s Logstash/Elasticsearch, bude nutné zapsat nový filtr.

Nakonec můžeme přejít na náš výstupní konfigurační soubor 30-lumberjack-output.conf . Tento soubor bude obsahovat jednoduchý výstupní blok určující, že indexované zprávy mají být odeslány do Elasticsearch, a název clusteru.

Otevřete soubor ve svém editoru.

editor sudo 30-lumberjack-output.conf

Přidejte následující blok:

output { elasticsearch { hosts => ["localhost"] }}

Nyní se dostaneme ke generování certifikátů SSL pro váš zásobník ELK.

Generovat certifikáty SSL

Protokol Lumberjack, který Logstash používá ke komunikaci protokolových zpráv, je navržen tak, aby byl bezpečný od začátku do konce, a SSL je tvrdý požadavek. Nemějte však obavy, generování certifikátů je poměrně jednoduché.

Protože pro servers používáme spíše IP adresu než název hostitele direktiva v /etc/logstash-forwarder.conf , budeme muset do vygenerovaného SSL certifikátu přidat pole IP SAN. Přidejte jeden přidáním subjectAltName řádek do konfiguračního souboru OpenSSL, /etc/ssl/openssl.cnf .

editor sudo /etc/ssl/openssl.cnf

Vyhledejte řádek obsahující [ v3_ca ] a vložte pod něj následující řádek. (Nahraďte 127.0.0.1 s IP adresou vašeho serveru Logstash, pokud je Logstash nainstalován na samostatném serveru.)

[ v3_ca ]subjectAltName =IP:127.0.0.1

Uložte a zavřete soubor. Nyní můžeme vygenerovat certifikát SSL.

sudo openssl req -x509 -batch -nodes -newkey rsa:2048 -keyout /etc/ssl/logstash-forwarder.key -out /etc/ssl/certs/logstash-forwarder.crtsudo chown logstash:logstash /etc/ ssl/logstash-forwarder.keysudo chmod 600 /etc/ssl/logstash-forwarder.key

Nyní restartujte logstash a zkontrolujte, zda se spustil správně.

sudo systemctl restart logstash.servicesystemctl status logstash.service

Stav služby Logstash

I když se spustil, zkontrolujte soubory protokolu na adrese /var/log/logstash/logstash.* a ujistěte se, že během spouštění nedojde k žádným chybám.

Instalace Logstash-Forwarder

Nyní, když jsme nainstalovali komponentu Logstash na straně serveru, musíme nainstalovat klienta Logstash-Forwarder na každý server, jehož protokoly chcete monitorovat.

V tomto tutoriálu nainstalujeme Logstash-Forwarder na stejný server, na kterém běží zbytek ELK, ale normálně by Logstash-Forwarder běžel na jiných serverech.

Nejprve budeme muset znovu přidat do systému nové úložiště.

echo "deb http://packages.elasticsearch.org/logstashforwarder/debian stable main" | sudo tee -a /etc/apt/sources.list.d/logstash-forwarder.list

A znovu aktualizujte seznamy balíčků.

aktualizace sudo apt-get

Nyní můžeme nainstalovat Logstash-Forwarder.

sudo apt-get install logstash-forwarder

Po dokončení instalace otevřete konfigurační soubor pro Logstash-Forwarder.

editor sudo /etc/logstash-forwarder.conf

Vymažte stávající výchozí konfiguraci a přidejte následující blok:

{ "network":{ "servers":[ "127.0.0.1:5000" ], "timeout":15, "ssl ca":"/etc/ssl/certs/logstash-forwarder.crt" }, "files":[ { "cesty":[ "/var/log/syslog", "/var/log/auth.log" ], "fields":{ "type":"syslog" } } ]} 

Tato konfigurace zkontroluje /var/log/syslog a /var/log/auth.log pro nové položky a poté označí každou odchozí zprávu z těchto souborů pomocí syslog v type pole.

Pokud instalujete Logstash-Forwarder na samostatném hostiteli, nezapomeňte změnit servers direktiva pro zahrnutí IP adresy vzdáleného serveru. Také se ujistěte, že jste zkopírovali soubor certifikátu SSL do správného umístění na vzdáleném serveru.

Nyní povolíme Logstash-Forwarder při spouštění.

sudo systemctl daemon-reloadsudo systemctl enable logstash-forwarder.service

Nakonec můžeme restartovat službu Logstash-Forwarder a aplikovat změny konfigurace.

sudo systemctl restart logstash-forwarder.service

Pokud se démon spustí v pořádku, můžeme přejít k nastavení Kibana a zprovoznění plného ELK stacku.

stav systemctl logstash-forwarder.service

Stav služby Logstash-forwarder

Chcete-li zkontrolovat, zda logstash-forwarder funguje, sledujte soubor protokolu pro zpracovávané události.

tail -f /var/log/logstash-forwarder/*

Logstash-Forwarder soubory protokolu

Instalace Kibana

Bohužel v době psaní tohoto článku nenabízí elastic.co žádné zabalené verze Kibana, takže správa démonů zůstává na uživateli. Budeme muset vytvořit soubor služby systemd a ručně nainstalovat Kibana.

Přejděte na /opt adresář a stáhněte si Kibana.

cd /optwget -qO - https://download.elastic.co/kibana/kibana/kibana-4.3.0-linux-x64.tar.gz | sudo tar -xzf -

Budeme muset vytvořit nového uživatele, pod kterým bude Kibana spuštěna, a nastavit vlastnictví adresáře programu.

sudo useradd kibanasudo chown kibana:kibana kibana-4.3.0-linux-x64/ -R

Po tomto kroku můžeme vytvořit soubor služby systemd.

sudo touch /usr/lib/systemd/system/kibana.service

Přidejte definici služby do souboru.

editor sudo /usr/lib/systemd/system/kibana.service[Unit]Description=kibanaDocumentation=http://www.elastic.coWants=network-online.targetAfter=network-online.target[Service]User=kibanaGroup=kibanaExecStart=/opt/kibana-4.3.0-linux-x64/bin/kibanaRestart=alwaysStandardOutput=null# Připojí standardní chybu k journalStandardError=journal[Install]WantedBy=multi-user.target

Nyní musíme znovu načíst všechny systémové jednotky a poté povolit službu Kibana.

sudo systemctl daemon-reloadsudo systemctl povolit kibana.service

Nyní můžeme začít s Kibanou.

sudo systemctl start kibana.service

Dvakrát zkontrolujte, zda běží, a jedeme!

stav systemctl kibana.service

Stav služby Kibana

Konfigurace Kibana

Hlavní konfigurační soubor Kibana bude umístěn na adrese /opt/kibana-4.3.0-linux-x64/config/kibana.yml . Výchozí možnosti by pro tento návod měly stačit, ale můžete změnit nastavení podle potřeby vaší konfigurace.

Přejděte na adresu IP vašeho serveru ve webovém prohlížeči na portu 5601 a přejděte na inicializační stránku Kibana. Kibana vás požádá o konfiguraci vzoru indexu; vyberte received_at zadejte název časového pole a stiskněte Create .

Vytvořte vzor indexu v Kibana

A je to! Komponenty vašeho zásobníku ELK – Elasticsearch, Logstash a Kibana – jsou nainstalovány a funkční.

Kam jít dál

Děkujeme, že jste sledovali tento tutoriál o instalaci ELK stacku na Debian 8. Vraťte se k nám znovu pro související články a otestujte jeden z našich extrémně rychlých VPS serverů.


Linux
  1. Jak nainstalovat Elasticsearch na Debian 9

  2. Jak nainstalovat ELK Stack na Ubuntu 16.04

  3. Jak nainstalovat MongoDB na Debian 11

  1. Jak nainstalovat Elasticsearch na Debian 10

  2. Jak nainstalovat ELK Stack na RHEL 8

  3. Jak nastavit ELK Stack na Debian 10 / Debian 9

  1. Jak nainstalovat LEMP Stack na Debian 10

  2. Jak nainstalovat ELK Stack na Ubuntu 18.04

  3. Jak nainstalovat a nakonfigurovat ELK Stack na Ubuntu a Debianu