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

Jak nainstalovat Elasticsearch, Logstash a Kibana 4 na CentOS 7 / RHEL 7

Tento tutoriál je pro starou verzi ELK Stack, některé odkazy jsou nefunkční a nemusí fungovat. Nová verze je k dispozici zde:Aktualizováno:Nainstalujte ELK Stack na CentOS 7 / RHEL 7.

V tomto příspěvku se podíváme na to, jak nainstalovat Elasticsearch, Logstash a Kibana 4 na CentOS 7 / RHEL 7. Tento zásobník ELK nám pomáhá ukládat a spravovat protokoly na centralizovaném místě. Zásobník ELK se skládá ze čtyř životně důležitých součástí, které tvoří skvělý zásobník pro analýzu problémů korelací událostí v konkrétním čase.

Centralizace protokolů usnadní život správcům systému při analýze problémů a problémů, aniž by museli procházet protokoly na každém počítači, a vizualizovat tyto protokoly vedení pro obchodní požadavky.

Součásti:

Logstash – Zpracovává (shromažďuje, analyzuje a odesílá je do Elasticsearch) příchozích protokolů.

Elasticsearch – Ukládá protokoly pocházející z Logstash.

Kibana 4 – Webové rozhraní pro vizualizaci protokolů (má vlastní rozhraní).

Výše uvedené tři jsou nainstalovány na serveru.

Logstash-forwarder – instalovaný na klientských počítačích, odesílá protokol do Logstash prostřednictvím protokolu dřevorubců.

Verze aplikace:

Tento článek používá níže uvedené verze softwaru pro ELK stack.

Elastisearch 1.5.0

logstash-1.4.2

Kibana 4

logstash-forwarder-0.4.0

Předpoklady:

1. Požadovali bychom nainstalovat buď openJDK nebo Oracle JDK. Doporučuje se nainstalovat Oracle JDK. Ověřte verzi Java pomocí následujícího příkazu.

# java -versionjava verze "1.8.0_11" Java(TM) SE Runtime Environment (sestavení 1.8.0_11-b12)Java HotSpot(TM) 64bitový server VM (sestavení 25.11-b03, smíšený režim)

2. Nakonfigurujte úložiště EPEL na CentOS 7 / RHEL 7.

3. Nainstalujte wget.

# yum -y install wget

Instalovat 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šechny protokoly odeslané serverem logstash a zobrazuje zprávy, když kibana4 požaduje úplné vyplnění uživatelského požadavku přes webové rozhraní. Toto téma pokrývá konfigurační nastavení, která jsou vyžadována pro ELK, můžete se také podívat na Instalace Elasticsearch na CentOS 7 / Ubuntu 14.10 / Linux Mint 17.1, kde najdete podrobné pokyny.

Pojďme nainstalovat Elasticsearch, lze jej stáhnout z oficiálních stránek. Ke stažení přes terminál a jeho instalaci můžete použít následující příkaz.

# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.5.0.noarch.rpm# rpm -Uvh elasticsearch-1.5.0.noarch.rpm

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

# systemctl daemon-reload# systemctl enable elasticsearch.service# systemctl start elasticsearch.service

Počkejte alespoň minutu, než se Elasticsearch plně restartuje, jinak se testování nezdaří. Elastisearch by nyní měl naslouchat na 9200 pro zpracování HTTP požadavku, pro získání odpovědi můžeme použít CURL.

# curl -X GET http://localhost:9200{"stav" :200,"name" :"Delphi","cluster_name" :"elasticsearch","version" :{"číslo" :"1.5. "0","build_hash" :"544816042d40151d3ce4ba4f95399d7860dc2e92","build_timestamp" :"2015-03-23T14:30:58Z","build_snapshotlu":4}"build_snapshotlu":4}""build_snapshotlu":4}""build_snapshotlu":4} Know, for Search"}

Instalovat Logstash:

Logstash je nástroj s otevřeným zdrojovým kódem, který se používá ke shromažďování protokolů, analýze a ukládání při vyhledávání. Ano, logstash je dodáván s webovým rozhraním (kibana3 je vestavěný) pro vizualizaci protokolů, které zde nebudeme diskutovat, místo toho používáme kibana4. Zpracování různých typů událostí lze rozšířit přidáním pluginů, k dnešnímu dni je k dispozici přes 160 pluginů. Pojďme přímo k instalaci.

# wget https://download.elasticsearch.org/logstash/logstash/packages/centos/logstash-1.4.2-1_2c0f5a1.noarch.rpm# rpm -Uvh logstash-1.4.2-1_2c0f5a1.noarch.rpm 

Jakmile je server logstash nainstalován, přejdeme k další sekci

Vytvořit certifikát SSL:

Logstash-forwarder, který bude nainstalován na klient-server za účelem odeslání protokolů, vyžaduje certifikát SSL k ověření identity serveru logstash. Máme dvě možnosti, jak vytvořit SSL certifikát a záleží na konfiguraci logstash-forwarder; pokud je použit název hostitele („servers“:[ „itzgeek:5050“ ]), název předmětu SSL by měl odpovídat „itzgeek“. Pokud používáte ( “servers”:[ “10.0.0.26:5050” ]) IP adresu, musíte vytvořit certifikát SSL s IP SAN s hodnotou 10.0.0.26.

Chcete-li vytvořit certifikát SSL, postupujte podle jedné z metod.

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

Před vytvořením certifikátu se ujistěte, že máte záznam A pro server logstash; ujistěte se, že klientské servery jsou schopny přeložit název hostitele serveru logstash. Pokud nemáte DNS, přidejte prosím položku hostitele pro server logstash; kde 10.0.0.26 je IP adresa serveru logstash a itzgeek je název hostitele vašeho serveru logstash.

# vi /etc/hosts10.0.0.26 itzgeek

Pojďme vytvořit certifikát SSl.

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

# cd /etc/pki/tls

Provedením následujícího příkazu vytvořte certifikát SSL, nahraďte „červený“ svým skutečným serverem logstash.

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

Možnost 2:(IP adresa)

Před vytvořením certifikátu SSL bychom požadovali přidání IP adresy serveru logstash do SubjectAltName v konfiguračním souboru OpenSSL.

# vi /etc/pki/tls/openssl.cnf

Přejděte do sekce „[ v3_ca ]“ a nahraďte „červenou“ IP vaší logstash serveru.

subjectAltName =IP:10.0.0.26

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

# cd /etc/pki/tls

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

# openssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout private/logstash-forwarder.key -out certs/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.

Konfigurace Logstash:

Konfigurační soubory Logstash lze nalézt v /etc/logstash/conf.d/, pouze prázdná složka. Potřebovali bychom vytvořit soubor, konfigurační soubory logstash se skládají ze tří sekcí 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 zakončené .conf.

Zde použijeme jeden soubor k umístění vstupní, filtrační a výstupní sekce.

# vi /etc/logstash/conf.d/logstash_syslogs.conf

V první sekci vložíme položku pro konfiguraci vstupu. Následující konfigurace nastaví lumberjack tak, aby na portu 5050 naslouchal příchozím protokolům z logstash-forwarderu, který je umístěn na klientských serverech, a také bude používat certifikát SSL, který jsme vytvořili dříve.

vstup { dřevorubec {port => 5050type => "logs"ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"ssl_key => "/etc/pki/tls/private/logstash- forwarder.key"}}

Ve druhé části vložíme položku pro konfiguraci filtru. Grok je filtr v logstash, který provádí analýzu protokolů před jejich odesláním do Elasticsearch k uložení. Následující filtr grok vyhledá protokoly, které jsou označeny jako „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" ]}  }}

Zvažte návštěvu grokdebuggeru, kde najdete vzory filtrů.

Do třetí části vložíme záznam výstupní konfigurace. Tato sekce definuje umístění, kam se protokoly ukládají; samozřejmě by to mělo být Elasticsearch.

output {elasticsearch { host => localhost index => "logstash-%{+YYYY.MM.dd}" }stdout { codec => rubydebug }}

Nyní spusťte službu logstash.

# systemctl start logstash.service

Protokoly serveru Logstash jsou uloženy v následujícím souboru, což nám pomůže při odstraňování problémů.

# cat /var/log/logstash/logstash.log

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

Nakonfigurujte Logstash-forwarder.

Logstash-forwarder je klientský software, který odesílá protokoly na server logstash, měl by být nainstalován na všech klientských serverech. Logstash-forwarder lze stáhnout z oficiálních webových stránek nebo jej můžete stáhnout pomocí následujícího příkazu do terminálu a nainstalovat.

# wget https://download.elasticsearch.org/logstash-forwarder/binaries/logstash-forwarder-0.4.0-1.x86_64.rpm# rpm -Uvh logstash-forwarder-0.4.0-1.x86_64. ot/min

Logstash-forwader používá certifikát SSL pro ověření identity serveru logstash, takže zkopírujte soubor logstash-forwarder.crt, který jsme vytvořili dříve, ze serveru logstash do klienta. Otevřete konfigurační soubor.

# vi /etc/logstash-forwarder.conf

V části „síť“ uveďte server logstash s číslem portu a cestou k certifikátu logstash-forwarder, který jste zkopírovali ze serveru logstash. Tato sekce definuje logstash-forwarder pro odesílání protokolů na logstash server „itzgeek“ na portu 5050 a klient ověřuje identitu serveru pomocí SSL certifikátu.

Poznámka:Pokud používáte IP SAN, nahraďte „itzgeek“ incase IP adresy.

"servers":[ "itzgeek:5050" ],"ssl ca":"/etc/pki/tls/certs/logstash-forwarder.crt","timeout":15

V části „soubory“ konfiguruje, co všechno jsou soubory k odeslání. V tomto článku nakonfigurujeme logstash-forwarder pro odesílání logů (/var/log/messages) na logstash server s typem „syslog“.

{"paths":["/var/log/messages"],"fields":{ "type":"syslog" }}

Restartujte službu.

# systemctl start logstash-forwarder.service

V případě jakéhokoli problému se můžete podívat na soubor protokolu.

# cat /var/log/logstash-forwarder/logstash-forwarder.err

Konfigurace Kibana 4:

Kidbana poskytuje vizualizaci protokolů, stáhněte si ji z oficiálních stránek. Ke stažení do terminálu použijte následující příkaz.

wget https://download.elasticsearch.org/kibana/kibana/kibana-4.0.2-linux-x64.tar.gz

Rozbalte a přesuňte jej do /opt/

tar -zxvf kibana-4.0.2-linux-x64.tar.gzmv kibana-4.0.2-linux-x64 /opt/kibana4

Povolte soubor PID pro Kibana, je to nutné k vytvoření inicializačního souboru systemd.

# sed -i 's/#pid_file/pid_file/g' /opt/kibana4/config/kibana.yml

Kibana lze spustit spuštěním /opt/kibana4/bin/kibana, pro spuštění kibana jako serveru vytvoříme soubor systemd.

# vi /etc/systemd/system/kibana4.service[Unit]Description=Kibana 4 Web InterfaceAfter=elasticsearch.serviceAfter=logstash.service[Service]ExecStartPre=rm -rf /var/run/kibana.pidExecStart=/ opt/kibana4/bin/kibana/ExecReload=kill -9 $(cat /var/run/kibana.pid) &&rm -rf /var/run/kibana.pid &&/opt/kibana4/bin/kibana/ExecStop=kill -9 $(cat /var/run/kibana.pid)[Install]WantedBy=multi-user.target

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

# systemctl spustit kibana4.servicesystemctl povolit kibana4.service

Vstupte na svůj portál kibana kliknutím na následující odkaz

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

Získáte následující stránku, kde musíte zmapovat logstash index pro použití kibany. Přejděte dolů na Název časového pole a vyberte

@timestamp

Jakmile vyberete, přesměruje vás na hlavní stránku kibana.

Kibana nepřichází s žádným přístupem k portálu chráněným heslem. S Nginx můžeme nakonfigurovat tak, aby uživatel před vstupem na portál splnil autentizační mechanismus.

To je vše, úspěšně jste nakonfigurovali zásobník ELK pro centralizovanou správu protokolů.

Tento návod je pro starou verzi ELK Stack, některé odkazy jsou nefunkční a nemusí fungovat. Nová verze je k dispozici zde:Jak nainstalovat ELK Stack na CentOS 7 / RHEL 7.
Cent OS
  1. Jak nainstalovat Graylog2 na CentOS 7 / RHEL 7

  2. Jak nainstalovat Elasticsearch na CentOS 8 / RHEL 8

  3. Jak nainstalovat Elasticsearch na CentOS/RHEL 8

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

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

  3. Jak nainstalovat Python 3.5 na CentOS/RHEL a Fedoru

  1. Jak nainstalovat a nakonfigurovat sambu na RHEL 8 / CentOS 8

  2. Jak nainstalovat Elasticsearch na CentOS 7

  3. Jak nainstalovat Elasticsearch na CentOS 8