GNU/Linux >> Znalost Linux >  >> Ubuntu

Nastavení ELK Stack na Ubuntu 16.04 – Nainstalujte ElasticSearch, Logstash a Kibana na Ubuntu 16.04

ELK je kompletně vybavený zásobník pro analýzu dat, který se skládá z Elasticsearch , Logstash a Kibana, který vám pomáhá centrálně ukládat a spravovat protokoly a nabízí možnost analyzovat problémy korelací událostí v konkrétním čase.

Tato příručka vám pomůže nainstalovat ELK stack na Ubuntu 16.04.

Komponenty

Logstash – Zpracovává (shromažďuje, obohacuje a posílá je do Elasticsearch) příchozích protokolů odeslaných beats (forwarder).

Elasticsearch – Ukládá příchozí protokoly z Logstash a poskytuje možnost prohledávat protokoly/data v reálném čase

Kibana – Poskytuje vizualizaci protokolů.

Beats – Nainstalované na klientských počítačích, odesílání protokolů do Logstash prostřednictvím protokolu beats.

Předpoklady

Přepněte na uživatele root.

su -

NEBO

sudo su -

Protože Elasticsearch je založen na Javě, musíte mít OpenJDK nebo Oracle JDK nainstalovaný na vašem počítači.

ČTĚTE :Jak nainstalovat Oracle Java 8 na Ubuntu 16.04 / LinuxMint 18

Zde jsem zvolil instalaci OpenJ D K .

apt-get updateapt-get install -y openjdk-8-jdk wget

Zkontrolujte verzi JAVA.

verze Java

Výstup:

openjdk verze "1.8.0_131" OpenJDK Runtime Environment (sestavení 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)OpenJDK 64-Bit Server VM (sestavení 25.131-b)

premixovaný režim)

Nainstalujte Elasticsearch

Elasticsearch je open-source vyhledávací server, který nabízí distribuované vyhledávání a analýzy v reálném čase s webovým rozhraním RESTful.

Elasticsearch ukládá všechna data odeslaná logstash a zobrazuje je prostřednictvím kibany na žádost uživatelů.

Toto téma pokrývá konfigurační nastavení, která jsou vyžadována pro ELK. Můžete také použít  Instalovat Elasticsearch na CentOS 7 / Ubuntu 16.04 / Linux Mint 18 pro další instrukce.

Nastavte úložiště Elasticsearch.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elk.list

Nainstalujte Elasticsearch.

apt-get updateapt-get install -y elasticsearch

Nakonfigurujte Elasticsearch tak, aby se spouštěl během spouštění systému.

systemctl povolit elasticsearchsystemctl spustit elasticsearch

Elastisearch by nyní měl naslouchat na 9200 pro zpracování HTTP požadavku; můžeme použít CURL k získání odpovědi.

curl -X GET http://localhost:9200

Výstup:

{ "name" :"gf5QYAn", "cluster_name" :"elasticsearch", "cluster_uuid" :"S6gZNkMERpSr-MGXqEFUJw", "version" :{ "number" :"5.5.2", "build_hash" :" b2f0c09", "build_date" :"2017-08-14T12:33:14.154Z", "build_snapshot" :false, "lucene_version" :"6.6.0" }, "tagline" :"Víte, pro vyhledávání"} 

Nainstalujte Logstash

Logstash je open source nástroj, shromažďuje protokoly, analyzuje a ukládá je na Elasticsearch pro vyhledávání. Pro Logstash je k dispozici více než 160 pluginů, které umožňují zpracovávat různé typy událostí bez práce navíc.

Nainstalujte Logstash pomocí příkazu apt-get.

apt-get install -y logstash

Vytvořit certifikát SSL

Forwarder (filebeat), který bude nainstalován na klientské servery, používá SSL certifikát k ověření identity serveru Logstash pro zabezpečenou komunikaci.

Vytvořte certifikát SSL buď s názvem hostitele nebo IP SAN.

Možnost 1:(Název hostitele FQDN)

Pokud používáte název hostitele v konfiguraci beats (forwarder), ujistěte se, že máte záznam A pro server logstash; ujistěte se, že klientský počítač dokáže přeložit název hostitele serveru logstash.

Pokud ve svém prostředí nemáte jmenný server; ujistěte se, že jste přidali položku hostitele pro server logstash na klientských počítačích i na server logstash.

sudo nano /etc/hosts192.168.12.10 server.itzgeek.local

Přejděte do adresáře OpenSSL.

cd /etc/ssl/

Nyní vytvořte certifikát SSL. Nahraďte „zelené ” jeden s názvem hostitele vašeho skutečného serveru logstash.

openssl req -x509 -nodes -newkey rsa:2048 -days 365 -keyout logstash-forwarder.key -out logstash-forwarder.crt -subj /CN=server.itzgeek.local 

Možnost 2:(IP adresa)

Pokud plánujete místo názvu hostitele používat IP adresu, postupujte podle kroků k vytvoření SSL certifikátu pro IP SAN.

Nezbytnou podmínkou je přidání IP adresy serveru logstash do SubjectAltName v konfiguračním souboru OpenSSL.

nano /etc/ssl/openssl.cnf

Vyhledejte sekci „[ v3_ca ]“ a nahraďte „zelenou ” jeden s IP vašeho logstash serveru.

subjectAltName =IP:192.168.12.10 

Přejděte do adresáře OpenSSL.

cd /etc/ssl/

Nyní  vytvořte certifikát SSL spuštěním následujícího příkazu.

openssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash-forwarder.crt

Tento soubor logstash-forwarder.crt by měl být zkopírován na všechny klientské servery, které odesílají protokoly na server logstash.

Nakonfigurujte Logstash

Konfigurace Logstash lze nalézt v /etc/logstash/conf.d/. Pokud soubory neexistují, vytvořte nový. konfigurační soubor logstash se skládá ze tří částí vstup, filtr a výstup; všechny tři sekce lze nalézt buď v jediném souboru, nebo každá sekce bude mít samostatné soubory končící příponou .conf.

Doporučuji vám použít jeden soubor pro umístění vstupních, filtračních a výstupních sekcí.

nano /etc/logstash/conf.d/logstash.conf

V první sekci vložíme položku pro konfiguraci vstupu. Následující konfigurace nastaví Logstash tak, aby na portu 5044 naslouchal příchozím protokolům z beatů (forwarder), které jsou umístěny na klientských počítačích. Pro zabezpečenou komunikaci také přidejte podrobnosti certifikátu SSL do vstupní části.

vstup { beats { port => 5044 ssl => true ssl_certificate => "/etc/ssl/logstash-forwarder.crt" ssl_key => "/etc/ssl/logstash-forwarder.key" congestion_threshold => "40 " }}

V sekci filtr. Použijeme Grok k analýze protokolů před jejich odesláním do Elasticsearch. Následující filtr grok vyhledá protokoly označené „syslog“ a pokusí se je analyzovat, aby vytvořil strukturovaný index.

filtr {if [type] =="syslog" {    grok {      match => { "message" => "%{SYSLOGLINE}" }    }    datum {shoda => [ "timestamp", "MMM  d HH:mm :ss", "MMM dd HH:mm:ss" ]}  }}

Pokud chcete další vzory filtrů, podívejte se na stránku grokdebugger.

Ve výstupní sekci definujeme umístění, kam se mají protokoly ukládat; samozřejmě by to mělo být Elasticsearch.

output { elasticsearch { hosts => localhost index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" }stdout { kodek => rubydebug }}

Nyní spusťte a povolte logstash.

systemctl spustit logstashsystemctl povolit logstash

Jakékoli problémy můžete vyřešit pomocí níže uvedeného protokolu.

cat /var/log/logstash/logstash-plain.log

Dále nakonfigurujeme beaty pro odesílání protokolů na server logstash.

Instalovat Filebeat

K dispozici jsou klienti se čtyřmi dobami.

  1. Packetbeat – Analýza síťových paketových dat.
  2. Filebeat – Přehled dat protokolu v reálném čase.
  3. Topbeat – Získejte statistiky z dat infrastruktury.
  4. Metricbeat – Odeslání metrik do Elasticsearch.

Na klientském počítači:

K analýze systémových protokolů zde použijeme filebeat. Filebeat si můžete stáhnout zoficiální stránky , nebo jej můžete nainstalovat pomocí následujícího příkazu.

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/beats.list

Nainstalujte Filebeat.

apt-get update apt-get install -y filebeat

Filebeat (beats) používá certifikát SSL k ověření identity serveru logstash, takže zkopírujte soubor logstash-forwarder.crt ze serveru logstash do klienta.

$ scp -pr [email protected]:/etc/ssl/logstash-forwarder.crt /etc/ssl

Konfigurace Filebeat

Nyní je čas propojit filebeat s Logstash; postupujte podle níže uvedených kroků a získejte konfiguraci filebeat se zásobníkem ELK.

Konfigurační soubor Filebeat je ve formátu YAML, což znamená, že odsazení je velmi důležité. Ujistěte se, že používáte stejný počet mezer jako v příručce.

Otevřete konfigurační soubor filebeat.

nano /etc/filebeat/filebeat.yml

Nahoře uvidíte prospektory Filebeat. Zde musíte určit, jaké soubory mají být odeslány do logstashe a jak s nimi zacházet. Každý prospektor začíná postava.

Pro účely testování nakonfigurujeme filebeat tak, aby odesílal /var/log/syslog na server Logstash. Chcete-li to provést, upravte stávajícího prospektora v části cesty sekce. Zakomentujte – /var/log/*.log abyste se vyhnuli odesílání všech .log soubor přítomný v tomto adresáři do Logstash.

. . . cesty:        - /var/log/syslog # - /var/log/*.log. . .

V části Výstupy , okomentujte sekci output.elasticsearch: protože nebudeme ukládat protokoly přímo do Elasticsearch.

Nyní najděte řádek „output.logstash: “ a upravte položky jako níže. Tato sekce definuje filebeat pro odesílání protokolů na server logstash „server.itzgeek.local “ na portu „5044 ” a uveďte cestu, kam je umístěn zkopírovaný certifikát SSL.

Poznámka:Nahraďte „server.itzgeek.local ” s IP adresou v případě, že používáte IP SAN.

. . .output.logstash:# Hostitelé serveru Logstash:["server.itzgeek.local:5044 "] # Volitelné SSL. Ve výchozím nastavení je vypnuto. # Seznam kořenových certifikátů pro ověření serveru HTTPS ssl.certificate_authorities:["/etc/ssl/logstash-forwarder.crt "].   .   .

Restartujte službu.

systemctl restart filebeatsystemctl povolit filebeat

Protokoly Beats se obvykle nacházejí v jeho souboru protokolu.

cat /var/log/filebeat/filebeat

Instalace a konfigurace Kibana

Kibana poskytuje vizualizaci protokolů uložených na elasticsearch, stáhněte si ji z oficiálního webu nebo použijte následující příkaz k nastavení úložiště.

apt-get install -y kibana

Upravte soubor kibana.yml.

nano /etc/kibana/kibana.yml

Ve výchozím nastavení Kibana naslouchá na localhost, což znamená, že nemáte přístup k rozhraní Kibana z vnějších počítačů. Chcete-li to povolit, upravte na níže uvedeném řádku adresu IP vašeho počítače.

server.host:"192.168.12.10 "
."

Odkomentujte následující řádek a aktualizujte jej pomocí adresy URL instance Elasticsearch. V mém případě je to localhost.

elasticsearch.url:"http://localhost:9200"

Spusťte a povolte kibana při spuštění systému.

systemctl spustit kibanasystemctl povolit kibana

Ke Kibaně se dostanete pomocí následující adresy URL.

http://vaše-ip-adresa:5601/

NEBO

http://název-vašeho-servisu:5601

Při prvním přihlášení musíte namapovat index filebeat.

Do pole Název indexu nebo vzor zadejte následující box.

filebeat-*

Vyberte  @časové razítko a poté klikněte na vytvořit.

@timestamp

Projděte si vzory indexů a jejich mapování.

Klikněte na Objevit v levé navigaci zobrazíte příchozí protokoly z klientského počítače.

To je vše. Úspěšně jste nastavili ELK stack na Ubuntu 16.04


Ubuntu
  1. Instalace zásobníku ELK na Ubuntu 14.04

  2. Jak nainstalovat Elasticsearch, Logstash a Kibana 4 na Ubuntu 14.04 / 15.04

  3. Jak nainstalovat a nakonfigurovat Elasticsearch na Ubuntu 20.04

  1. Jak nainstalovat ELK Stack (Elasticsearch, Logstash a Kibana) na Ubuntu 18.04 / 20.04

  2. Instalace Filebeat, Logstash, ElasticSearch a Kibana v Ubuntu 14.04

  3. Nainstalujte Elasticsearch, Logstash a Kibana na Ubuntu 20.04

  1. Jak nainstalovat Elasticsearch, Logstash a Kibana (ELK Stack) na CentOS 8

  2. Jak nainstalovat Elastic Stack (Elasticsearch, Logstash a Kibana) na CentOS 8

  3. Jak nainstalovat Elastic Stack na Ubuntu 16.04