GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat ELK Stack na RHEL 8

ELK stack je také známý jako Elastic stack, skládá se ze čtyř open source projektů:Elasticsearch, Logstash, Kibana a Beats. Pomáhá vám mít všechny vaše protokoly uložené na jednom místě a poskytuje možnost analyzovat a vizualizovat data nebo problémy korelací událostí v konkrétním čase.

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

Komponenty

Elasticsearch – open source, fulltextový vyhledávač. Ukládá příchozí protokoly z Logstashe a nabízí možnost prohledávat protokoly/data v reálném čase

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

Kibana – Poskytuje vizualizaci dat nebo protokolů z Elasticsearch.

Beats – Instaluje se na klientské počítače a shromažďuje a odesílá protokoly do Logstashe prostřednictvím protokolu beats.

Životní prostředí

Abychom měli plnohodnotný zásobník ELK, potřebovali bychom dva stroje na testování sběru protokolů.

Název hostitele OS IP adresa Účel
elk.itzgeek.local RHEL 8 192.168.1.10 Zásobník ELK
client.itzgeek.local CentOS 7 192.168.1.20 Klientský stroj (Filebeat)

Předpoklady

Nainstalujte Javu

Vzhledem k tomu, že Elasticsearch je založen na Javě, potřebujeme mít na vašem počítači nainstalované OpenJDK nebo Oracle JDK.

ČTĚTE: Jak nainstalovat Javu na RHEL 8

Zde používám OpenJDK 1.8.

yum -y install java

Ověřte verzi Java.

verze Java

Výstup:

openjdk verze "1.8.0_212" OpenJDK Runtime Environment (sestavení 1.8.0_212-b04)OpenJDK 64-Bit Server VM (sestavení 25.212-b04, smíšený režim)

Konfigurace úložiště ELK

Importujte pružný podpisový klíč.

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Nastavte úložiště Elasticsearch na serveru ELK i na klientovi.

cat < /etc/yum.repos.d/elastic.repo[elasticsearch-7.x]name=Elasticsearch úložiště pro 7.x packagesbaseurl=https://artifacts.elastic.co/packages/oss -7.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-mdEOF

Instalovat a konfigurovat Elasticsearch

Elasticsearch je open source, fulltextový vyhledávač 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 webového rozhraní (Kibana) na žádost uživatelů.

Nainstalujte Elasticsearch.

yum install -y elasticsearch-oss

Upravte konfigurační soubor Elasticsearch na

vi /etc/elasticsearch/elasticsearch.yml

Nastavte název clusteru, název uzlu, naslouchající IP adresu podle vašeho prostředí.

cluster.name:elkstack node.name:elk.itzgeek.local network.host:192.168.1.10 

Pokud nastavíte naslouchající IP adresu, musíte definovat počáteční hostitele a počáteční hlavní uzly.

discovery.seed_hosts:["elk.itzgeek.local "]cluster.initial_master_nodes:["elk.itzgeek.local "]

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

systemctl daemon-reloadsystemctl povolit elasticsearchsystemctl spustit elasticsearch

Pomocí CURL zkontrolujte, zda Elasticsearch odpovídá na dotazy.

curl -X GET http://192.168.1.10:9200

Výstup:

{ "name" :"elk.itzgeek.local", "cluster_name" :"elkstack", "cluster_uuid" :"yws_6oYKS965bZ7GTh0e6g", "version" :{ "number" :"7.2.0", "build_flavor" :"oss", "build_type" :"rpm", "build_hash" :"508c38a", "build_date" :"2019-06-20T15:54:18.811730Z", "build_snapshot" :false, "lucene_version" ":8. .0", "minimum_wire_compatibility_version" :"6.8.0", "minimum_index_compatibility_version" :"6.0.0-beta1" }, "tagline" :"Víte, pro vyhledávání"}

Zkontrolujte stav clusteru spuštěním níže uvedeného příkazu.

curl -XGET '192.168.1.10:9200/_cluster/health?pretty'

Výstup:Stav clusteru by měl být zelený.

{ "cluster_name" :"elkstack", "status" :"zelená ", "timed_out" :false, "number_of_nodes" :1, "number_of_data_nodes" :1, "active_primary_shards" :0, "active_shards" :0, "relocating_shards" :0, "initializing_shards" :0, "initializing_shards" :0, "delayed_unassigned_shards" :0, "number_of_pending_tasks" :0, "number_of_flight_fetch" :0, "task_max_waiting_in_queue_millis" :0, "active_shards_percent_as_number" :100 

Instalace a konfigurace Logstash

Logstash je open source nástroj pro správu protokolů. Sbírá protokoly, analyzuje je a ukládá je na Elasticsearch. Pro Logstash je k dispozici více než 160 pluginů, které nabízejí možnost zpracování různých typů událostí bez práce navíc.

Nainstalujte balíček Logstash.

yum -y install logstash-oss

Konfigurace Logstash lze nalézt v /etc/logstash/conf.d/ .

Konfigurační soubor Logstash se skládá ze tří částí, jmenovitě vstup, filtr a výstup. Všechny tři části lze nalézt v jediném souboru nebo samostatné soubory končící příponou .conf.

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

vi /etc/logstash/conf.d/beats.conf

Ve vstupní sekci nakonfigurujeme Logstash tak, aby na portu 5044 naslouchal příchozím protokolům z beatů (forwarder), který je nainstalován na klientských počítačích.

vstup { beats { port => 5044 }}

V sekci filtrů použijeme Grok k analýze protokolů před jejich odesláním do Elasticsearch.

Následující filtr grok bude hledat syslog označené protokoly a pokusí se je analyzovat, aby vytvořil strukturovaný index. Tento filtr je docela užitečný právě pro sledování zpráv syslog (/var/log/messages).

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

Další vzory filtrů najdete na stránce grokdebugger.

Ve výstupní sekci definujeme umístění, kam se mají protokoly ukládat, samozřejmě uzel Elasticsearch.

output { elasticsearch { hosts => ["192.168.1.10:9200"] index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" }}

Nyní spusťte a povolte službu Logstash.

systemctl spustit logstashsystemctl povolit logstash

Počkejte minutu, aby se Logstash spustil, a poté spusťte níže uvedený příkaz a zkontrolujte, zda naslouchá na portu 5044.

netstat -antup | grep -i 5044

Výstup:

tcp6 0 0 :::5044 :::* LISTEN 31014/java

Problémy s Logstash můžete řešit pomocí protokolů.

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

Instalovat a konfigurovat Kibana

Kibana poskytuje vizualizaci protokolů uložených na Elasticsearch. Nainstalujte Kibana pomocí následujícího příkazu.

yum -y install kibana-oss

Upravte soubor kibana.yml.

vi /etc/kibana/kibana.yml

Ve výchozím nastavení Kibana naslouchá na localhost, což znamená, že ke Kibaně nemáte přístup z externích počítačů. Chcete-li to povolit, upravte níže uvedený řádek a uveďte IP svého serveru ELK.

server.host:"0.0.0.0 "
."

Odkomentujte následující řádek a aktualizujte jej adresou URL instance Elasticsearch.

elasticsearch.hosts:["http://192.168.1.10:9200 "]

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

systemctl spustit kibanasystemctl povolit kibana

Zkontrolujte, zda Kibana naslouchá na portu 5601.

netstat -antup | grep -i 5601

Výstup:

tcp 0 0 0.0.0.0:5601 0.0.0.0:* LISTEN 3631/node

Firewall

Nakonfigurujte bránu firewall na serveru ELK pro příjem protokolů z klientských počítačů.

5044 – Aby Logstash dostával protokoly

5061 – Přístup ke Kibaně z externích počítačů.

firewall-cmd --permanent --add-port=5044/tcpfirewall-cmd --permanent --add-port=5601/tcpfirewall-cmd --reload

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

Nainstalujte a nakonfigurujte Filebeat

K dispozici jsou klienti se čtyřmi beaty

  1. Packetbeat – Analyzujte data síťových paketů.
  2. Filebeat – Přehled dat protokolu v reálném čase.
  3. Topbeat – Získejte přehled z dat infrastruktury.
  4. Metricbeat – Odešlete metriky do Elasticsearch.

Chcete-li získat balíček Filebeat, nastavte na klientském počítači úložiště Elastic.

Nainstalujte Filebeat pomocí následujícího příkazu.

yum -y install filebeat

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.

Upravte konfigurační soubor filebeat.

vi /etc/filebeat/filebeat.yml

Zakomentujte sekci output.elasticsearch: protože nebudeme ukládat protokoly přímo do Elasticsearch.

#-------------------------- Výstup elastického vyhledávání ------------------- ------------# output.elasticsearch:# Pole hostitelů pro připojení. # hostitelé:["localhost:9200"] # Volitelný protokol a základní autentizační údaje. #protocol:"https" #username:"elastic" #password:"changeme"

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 192.168.1.10 na portu 5044 .

. . .#----------------------------- Výstup Logstash ------------------ ---------------output.logstash:# Hostitelé Logstash:["192.168.1.10:5044 "]...

Nad /etc/filebeat/filebeat.yml , uvidíte sekci prospektoři. Zde musíte určit, které protokoly se mají odesílat do Logstash.

Každý prospektor začíná na postava.

Zde nakonfigurujeme filebeat pro odesílání systémových protokolů /var/log/messages na server Logstash. Chcete-li to provést, upravte stávajícího prospektora v části cesty sekce, jak je uvedeno níže.

. . .filebeat.inputs:# Každý - je vstup. Většinu voleb lze nastavit na úrovni vstupu, takže# můžete použít různé vstupy pro různé konfigurace.# Níže jsou konfigurace specifické pro vstup.- typ:log # Změňte na true pro povolení této konfigurace vstupu. povoleno:true # Cesty, které by měly být procházeny a načteny. Cesty založené na globu. cesty:- /var/log/messages #- c:\programdata\elasticsearch\logs\*. . .

Restartujte službu.

systemctl restart filebeatsystemctl povolit filebeat

Přístup ke Kibaně

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

http://your-ip-addr-ess:5601/

Získáte domovskou stránku Kibany. Klikněte na Prozkoumat sám .

Při prvním přístupu musíte namapovat index filebeat. Přejděte na Správa>> Vzory indexu>> Vytvořit vzor indexu .

Do vzoru indexu zadejte následující box.

filebeat-*
Měli byste vidět alespoň jeden index filebeat, něco jako níže. Klikněte na Další krok .

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

@timestamp

Ověřte své vzory indexů a jejich mapování.

Nyní klikněte na Objevit pro zobrazení protokolů a provádění vyhledávacích dotazů.

Závěr

To je vše. Úspěšně jste se naučili, jak nainstalovat ELK Stack na RHEL 8. Podělte se prosím o svůj názor v sekci komentářů.


Cent OS
  1. Jak nainstalovat Graylog2 na CentOS 7 / RHEL 7

  2. Jak nainstalovat Elasticsearch na CentOS 8 / RHEL 8

  3. Jak nainstalovat ELK Stack na CentOS 7

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

  2. Jak nainstalovat ELK Stack na CentOS 7 / RHEL 7

  3. Jak nainstalovat Elasticsearch na CentOS/RHEL 8

  1. Jak nainstalovat Elastic Stack na Ubuntu 16.04

  2. Jak nainstalovat Elastic Stack na CentOS 7

  3. Jak nainstalovat ELK na Ubuntu 20.04