GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Elastic Stack na Ubuntu 18.04 LTS

Elasticsearch je open source vyhledávač založený na Lucene, vyvinutý v Javě. Poskytuje distribuovaný a multitenantský fulltextový vyhledávač s webovým rozhraním HTTP Dashboard (Kibana). Data jsou dotazována, načítána a ukládána ve schématu dokumentu JSON. Elasticsearch je škálovatelný vyhledávač, který lze použít k vyhledávání všech druhů textových dokumentů, včetně souborů protokolů. Elasticsearch je srdcem „Elastic Stack“ neboli ELK Stack.

Logstash je open source nástroj pro správu událostí a protokolů. Poskytuje sběr dat v reálném čase. Logstash shromáždí vaše data protokolu, převede je na dokumenty JSON a uloží je do Elasticsearch.

Kibana je open source nástroj pro vizualizaci dat pro Elasticsearch. Kibana poskytuje pěkné webové rozhraní řídicího panelu. Umožňuje vám spravovat a vizualizovat data z Elasticsearch. Není to jen krásné, ale také mocné.

V tomto tutoriálu vám ukážu, jak nainstalovat a nakonfigurovat Elastic Stack na serveru Ubuntu 18.04 pro sledování protokolů serveru. Poté vám ukážu, jak nainstalovat a nakonfigurovat „Elastic beats“ na Ubuntu 18.04 a klientském serveru CentOS 7.

Předpoklady

  • 3 servery
    • Ubuntu 18.04 se 4 GB RAM/paměti jako „elk-master“ – 10.0.15.10
    • Ubuntu 18.04 s 512 MB/1 GB RAM/paměti jako 'elk-client01' – 10.0.15.21
    • CentOS 7.5 s 512 MB/1 GB RAM/paměti jako 'elk-client02' - 10.0.15.22
  • Oprávnění uživatele root

Co uděláme?

  1. Nainstalujte elastickou sadu
    1. Nainstalujte Javu
    2. Nainstalujte a nakonfigurujte ElasticSearch
    3. Nainstalujte a nakonfigurujte Kibana
    4. Nainstalujte a nakonfigurujte Nginx jako reverzní proxy pro Kibana
    5. Nainstalujte a nakonfigurujte Logstash
  2. Nainstalujte a nakonfigurujte Filebeat na Ubuntu 18.04
  3. Nainstalujte a nakonfigurujte Filebeat na CentOS 7.5
  4. Testování

Krok 1 – Instalace elastického zásobníku

V tomto prvním kroku nainstalujeme a nakonfigurujeme 'Elastic Stack' na serveru 'elk-master', takže všechny příkazy a fáze pro tento krok spouštějte pouze na serveru 'elk-master'. Nainstalujeme a nakonfigurujeme každou komponentu elastického zásobníku, včetně Elasticsearch, Logstash shipper a Kibana Dashboard s webovým serverem Nginx.

Instalovat Javu

Java je vyžadována pro nasazení elastického stacku. Elasticsearch vyžaduje Java 8. Doporučujeme používat Oracle JDK 1.8 a Java 8 nainstalujeme z PPA úložiště.

Nainstalujte balíčky 'software-properties-common' a 'apt-transport-https' a poté přidejte úložiště Java PPA 'webupd8team'. Spusťte příkazy 'apt install' a 'add-apt-repository' níže.

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -y

Nyní nainstalujte java8-installer.

sudo apt install oracle-java8-installer -y

Po dokončení instalace zkontrolujte verzi Java.

verze Java

Java 1.8 nainstalovaná v systému.

Dále nakonfigurujeme prostředí Java. Zkontrolujte binární soubor java pomocí příkazu níže.

update-alternatives --config java

A získáte binární soubor java na '/usr/lib/jvm/java-8-oracle ' adresář.

Nyní vytvořte soubor profilu 'java.sh' v adresáři 'profile.d'.

vim /etc/profile.d/java.sh

Níže vložte konfiguraci prostředí Java.

#Set JAVA_HOMEJAVA_HOME="/usr/lib/jvm/java-8-oracle"export JAVA_HOMEPATH=$PATH:$JAVA_HOMEexportní CESTA

Uložte a ukončete.

Udělejte soubor spustitelným a načtěte konfigurační soubor.

chmod +x /etc/profile.d/java.sh
zdroj /etc/profile.d/java.sh

Nyní zkontrolujte prostředí Java pomocí příkazu níže.

echo $JAVA_HOME

A dostanete, že adresář java se nachází na adrese '/usr/lib/jvm/java-8-oracle ' adresář.

Instalovat Elasticsearch

Po instalaci Javy nainstalujeme první komponentu Elastic Stack, nainstalujeme elasticsearch.

Přidejte klíč elastického zásobníku a přidejte elastické úložiště do systému.

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

Nyní aktualizujte úložiště a nainstalujte balíček elasticsearch pomocí příkazu níže.

aktualizace sudo apt
sudo apt install elasticsearch -y

Po dokončení instalace přejděte do adresáře '/etc/elasticsearch' a upravte konfigurační soubor 'elasticsearch.yml'.

cd /etc/elasticsearch/
vim elasticsearch.yml

Odkomentujte řádek 'network.host' a změňte hodnotu na 'localhost' a zrušte odkomentování řádku 'http.port' pro konfiguraci portu elasticsearch.

network.host:localhosthttp.port:9200

Uložte a ukončete.

Nyní spusťte službu elasticsearch a povolte její spuštění při každém spuštění systému.

systemctl spustit elasticsearch
systemctl povolit elasticsearch

Elastické vyhledávání je nyní spuštěno, zkontrolujte jej pomocí příkazů netstat netstat a curl níže.

netstat -plntu
curl -XGET 'localhost:9200/?pretty'

Nyní získáte elasticsearch verze '6.2.4' běžící na výchozím portu '9200'.

Instalace elasticsearch byla dokončena.

Instalace a konfigurace řídicího panelu Kibana

Druhým komponentem je kibana Dashboard. Nainstalujeme řídicí panel Kibana z elastického úložiště a nakonfigurujeme službu kibana tak, aby běžela na adrese localhost.

Nainstalujte řídicí panel Kibana pomocí příkazu apt níže.

sudo apt install kibana -y

Nyní přejděte do adresáře '/etc/kibana' a upravte konfigurační soubor 'kibana.yml'.

cd /etc/kibana/
vim kibana.yml

Odkomentujte řádky 'server.port', 'server.host' a 'elasticsearch.url'.

server.port:5601server.host:"localhost"elasticsearch.url:"http://localhost:9200"

Uložte a ukončete.

Nyní spusťte službu kibana a povolte její spuštění při každém startu systému.

sudo systemctl povolit kibana
sudo systemctl spustit kibanu

Řídicí panel kibana je nyní spuštěn a spuštěn na adrese „localhost“ a výchozím portu „5601“. Zkontrolujte to pomocí příkazu netstat níže.

netstat -plntu

Instalace řídicího panelu Kibana byla dokončena.

Nainstalujte a nakonfigurujte Nginx jako Reverse-Proxy pro Kibana

V tomto tutoriálu budeme používat webový server Nginx jako reverzní proxy pro Kibana Dashboard.

Nainstalujte do systému Nginx a balíčky 'apache2-utils'.

sudo apt install nginx apache2-utils -y

Po dokončení instalace přejděte do konfiguračního adresáře '/etc/nginx' a vytvořte nový soubor virtuálního hostitele s názvem 'kibana'.

cd /etc/nginx/
vim sites-available/kibana

Níže vložte konfiguraci virtuálního hostitele Nginx.

server { poslouchat 80; název_serveru elastic-stack.io; auth_basic "Omezený přístup"; auth_basic_user_file /etc/nginx/.kibana-user; umístění / { proxy_pass http://localhost:5601; proxy_http_verze 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Připojení 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}

Uložte a ukončete.

Dále vytvoříme nový základní autentizační webový server pro přístup k dashboardu Kibana. Vytvoříme základní autentizaci pomocí příkazu htpasswd, jak je uvedeno níže.

sudo htpasswd -c /etc/nginx/.kibana-user elastic
Zadejte elastické uživatelské heslo

Aktivujte virtuálního hostitele kibana a otestujte veškerou konfiguraci nginx.

ln -s /etc/nginx/sites-available/kibana /etc/nginx/sites-enabled/
nginx -t

Ujistěte se, že nedošlo k žádné chybě, nyní spusťte službu Nginx a povolte její spuštění při každém spuštění systému.

systemctl povolit nginx
systemctl restartovat nginx

Instalace a konfigurace Nginx jako Reverse-proxy pro řídicí panel Kibana byly dokončeny.

Instalace a konfigurace Logstash

Poslední komponentou pro elastický zásobník pro tuto příručku je „Logstash“. Nainstalujeme a nakonfigurujeme Logsatash pro centralizaci serverových protokolů z klientských zdrojů pomocí filebeat, poté filtrujeme a transformujeme všechna data (Syslog) a přeneseme je do skrýše (Elasticsearch).

Před instalací logstash se ujistěte, že jste zkontrolovali verzi OpenSSL vašeho serveru.

verze openssl -a

V této příručce budeme používat OpenSSL '1.0.2o'. Pokud stále používáte OpenSSL verze 1.1.2, zobrazí se chyba u připojení logstash a filebeat SSL.

Nainstalujte logstash pomocí příkazu apt níže.

sudo apt install logstash -y

Po dokončení instalace vygenerujeme klíč certifikátu SSL pro zabezpečení přenosu dat protokolu z klientského filebeatu na server logstash.

Upravte soubor '/etc/hosts' pomocí vim.

vim /etc/hosts

Přidejte konfiguraci níže.

10.0.15.10 elk-master elk-master

Uložte a ukončete.

Nyní vytvořte nový adresář SSL v konfiguračním adresáři logstash '/etc/logstash' a přejděte do tohoto adresáře.

mkdir -p /etc/logstash/ssl
cd /etc/logstash/

Vygenerujte certifikát SSL pro Logstash pomocí příkazu openssl, jak je uvedeno níže.

openssl req -subj '/CN=elk-master/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crt 

Soubory certifikátu SSL pro Logstash byly vytvořeny v adresáři '/etc/logstash/ssl'.

Dále vytvoříme nové konfigurační soubory pro logstash. Vytvoříme konfigurační soubor 'filebeat-input.conf' jako vstupní soubor z filebeat, 'syslog-filter.conf' pro zpracování syslogu a poté soubor 'output-elasticsearch.conf' pro definování výstupu Elasticsearch.

Přejděte do konfiguračního adresáře logstash a vytvořte nové konfigurační soubory 'filebeat-input.conf' v adresáři 'conf.d'.

cd /etc/logstash/
vim conf.d/filebeat-input.conf

Zde vložte následující konfiguraci.

vstup { beats { port => 5443 type => syslog ssl => true ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt" ssl_key => "/etc/logstash/ssl/logstash-forwarder .key" }}

Uložte a ukončete.

Pro zpracování dat protokolu syslog používáme k analýze souborů syslog filtrovací plugin s názvem 'grok'.

Vytvořte novou konfiguraci 'syslog-filter.conf'.

vim conf.d/syslog-filter.conf

Zde vložte následující konfiguraci.

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}" ] } datum { zápas => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } }}

Uložte a ukončete.

A pro výstup elasticsearch vytvoříme konfigurační soubor s názvem 'output-elasticsearch.conf'.

vim conf.d/output-elasticsearch.conf

Zde vložte následující konfiguraci.

output { elasticsearch { hosts => ["localhost:9200"] hosts => "localhost:9200" manage_template => false index => "%{[@metadata][beat]}-%{+RRRR.MM .dd}" document_type => "%{[@metadata][type]}" }}

Uložte a ukončete.

Až to uděláte, spusťte službu logstash a povolte její spuštění při každém spuštění systému.

sudo systemctl povolit logstash
sudo systemctl spustit logstash

Zkontrolujte službu logstash pomocí příkazů netstat a systemctl níže.

netstat -plntu
systemctl status logstash

A služba logstash je nyní v provozu. Běží na veřejné IP adrese s portem '5443'.

Instalace Elastic Stack byla dokončena.

Krok 2 – Instalace a konfigurace Filebeat na Ubuntu 18.04

V tomto kroku nakonfigurujeme klienta Ubuntu 18.04 'elk-client01' tak, že na něj nainstalujeme odesílatele dat Elastic Beats 'Filebeat'.

Před instalací filebeat do systému musíme upravit '/etc/hosts' a stáhnout soubor certifikátu logstash 'logstash-forwarder.crt' na server 'elk-client01'.

Upravte soubor '/etc/hosts' pomocí editoru vim.

vim /etc/hosts

Zde vložte následující konfiguraci.

10.0.15.10 elk-master elk-master

Uložte a ukončete.

Zkopírujte soubor certifikátu logstash 'logstash-forwarder.crt' pomocí příkazu scp.

scp [e-mail chráněný]:/etc/logstash/ssl/logstash-forwarder.crt .

Dále nainstalujte Elastic Beats 'Filebeat' přidáním elastického klíče a přidáním elastického úložiště.

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

Aktualizujte úložiště a nainstalujte balíček 'filebeat' pomocí příkazu apt níže.

aktualizace sudo apt
instalace sudo apt filebeat -y

Po dokončení instalace přejděte do adresáře '/etc/filebeat' a upravte konfigurační soubor 'filebeat.yml'.

cd /etc/filebeat/
vim filebeat.yml

Nyní povolte prospektory filebeat změnou hodnoty řádku 'enabled' na 'true'.

 povoleno:true

Definujte soubory protokolu systému, které se mají odesílat na server logstash. Pro tuto příručku přidáme soubor protokolu ssh 'auth.log' a soubor syslog.

 cesty:- /var/log/auth.log - /var/log/syslog

Nastavte výstup na logstash zakomentováním výchozího výstupu 'elasticsearch' a odkomentujte výstupní řádek logstash, jak je uvedeno níže.

output.logstash:# Hostitelé serveru Logstash:["elk-master:5443"] ssl.certificate_authorities:["/etc/filebeat/logstash-forwarder.crt"]

Uložte a ukončete.

Dále musíme upravit soubor 'filebeat.reference.yml', abychom povolili moduly filebeat, a povolíme modul 'syslog'.

vim filebeat.reference.yml

Povolte systémový modul syslog pro filebeat, jak je uvedeno níže.

- modul:system # Syslog syslog:enabled:true

Uložte a ukončete.

Zkopírujte soubor certifikátu logstash 'logstash-forwarder.crt' do adresáře '/etc/filebeat'.

cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crt

Instalace a konfigurace Filebeat byly dokončeny. Nyní spusťte službu filebeat a povolte její spuštění při každém startu systému.

systemctl spustit filebeat
systemctl povolit filebeat

Zkontrolujte službu filebeat pomocí příkazů níže.

systemctl status filebeat
tail -f /var/log/filebeat/filebeat

Odesílatelé filebeat jsou v provozu a běží na serveru Ubuntu 18.04.

Krok 3 – Instalace a konfigurace Filebeat na CentOS 7.5

V tomto kroku nakonfigurujeme klienta CentOS 7.5 „elk-client02“ tím, že na něj nainstalujeme odesílatele dat Elastic Beats „Filebeat“.

Před instalací Filebeat do systému musíme upravit '/etc/hosts' a stáhnout soubor certifikátu logstash 'logstash-forwarder.crt' na server 'elk-client02'.

Upravte soubor '/etc/hosts' pomocí vim.

vim /etc/hosts

Vložte konfiguraci níže.

10.0.15.10 elk-master elk-master

Uložte a ukončete.

Zkopírujte soubor certifikátu logstash 'logstash-forwarder.crt' pomocí příkazu scp.

scp [e-mail chráněný]:/etc/logstash/ssl/logstash-forwarder.crt .

Dále nainstalujte Elastic Beats 'Filebeat' přidáním elastického klíče a přidáním elastického úložiště.

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

kat < /etc/yum.repos.d/elastic.repo
[elasticsearch-6.x]
name=Elasticsearch úložiště pro balíčky 6.x
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

Nainstalujte filebeat pomocí příkazu yum níže.

yum install filebeat -y

Po dokončení instalace přejděte do adresáře '/etc/filebeat' a upravte konfigurační soubor 'filebeat.yml'.

cd /etc/filebeat/
vim filebeat.yml

Nyní povolte prospektory filebeat změnou hodnoty řádku 'enabled' na 'true'.

 povoleno:true

Definujte soubory protokolu systému, které se mají odesílat na server logstash. Pro tuto příručku přidáme soubor protokolu ssh 'auth.log' a soubor syslog.

 cesty:- /var/log/secure - /var/log/messages

Nastavte výstup na logstash zakomentováním výchozího výstupu 'elasticsearch' a odkomentujte výstupní řádek logstash, jak je uvedeno níže.

output.logstash:# Hostitelé serveru Logstash:["elk-master:5443"] ssl.certificate_authorities:["/etc/filebeat/logstash-forwarder.crt"]

Uložte a ukončete.

Dále musíme upravit soubor 'filebeat.reference.yml', abychom povolili moduly filebeat, a povolíme modul 'syslog'.

vim filebeat.reference.yml

Povolte systémový modul syslog pro filebeat, jak je uvedeno níže.

- modul:system # Syslog syslog:enabled:true

Uložte a ukončete.

Zkopírujte soubor certifikátu logstash 'logstash-forwarder.crt' do adresáře '/etc/filebeat'.

cp ~/logstash-forwarder.crt /etc/filebeat/logstash-forwarder.crt

Instalace a konfigurace Filebeat byly dokončeny. Nyní spusťte službu filebeat a přidejte ji do doby spouštění.

systemctl spustit filebeat
systemctl povolit filebeat

Zkontrolujte službu filebeat pomocí příkazů níže.

systemctl status filebeat
tail -f /var/log/filebeat/filebeat

Odesílatelé filebeat jsou připraveni a běží pod serverem CentOS 7.5.

Krok 4 – Testování

Otevřete webový prohlížeč a zadejte název domény elastického zásobníku, můj je:'elastic-stack.io'.

Budete požádáni o uživatelské jméno a heslo ze základního ověření do Kibana Dashboard.

Zadejte uživatelské jméno 'elastic' se svým heslem.

Nyní získáte krásný řídicí panel kibana, klikněte na tlačítko 'Nastavit vzory indexů' vpravo.

Definujte vzor indexu 'filebeat-*' a klikněte na tlačítko 'Další krok'.

Pro „název pole časového filtru“ vyberte „@timestamp“ a klikněte na „Vytvořit vzor indexu“.

A vzor indexu filebeat byl vytvořen.

Dále se pokusíme získat informace protokolu pro neúspěšné přihlášení SSH na každém klientském serveru 'elk-client01' systém Ubuntu a 'elk-client02' systém CentOS.

Uvnitř Kibana Dashboard klikněte na nabídku 'Discover', abyste získali všechny protokoly serveru.

Nastavte 'beat.hostname' na server 'elk-client01', 'zdroj' je soubor '/var/log/auth.log' a dostanete výsledek, jak je ukázáno níže.

A dále jsou ukázkové podrobnosti protokolu pro neúspěšné heslo SSH ze souboru 'auth.log'.

Pro server 'elk-client02' CentOS nastavte 'beat.hostname' na server 'elk-client02', 'zdroj' je soubor '/var/log/secure' a výsledek získáte, jak je uvedeno níže.

A dále jsou ukázkové podrobnosti protokolu pro neúspěšné heslo SSH ze souboru 'secure'.

Instalace a konfigurace Elastic Stack a Elastic Beat 'Filebeat' byly úspěšně dokončeny.


Ubuntu
  1. Jak nainstalovat Java 17 v Ubuntu 20.04

  2. Jak nainstalovat Apache Hadoop na Ubuntu 16.04 LTS

  3. Jak nainstalovat Java 17 LTS na Ubuntu 20.04

  1. Jak nainstalovat Javu na Ubuntu

  2. Jak nainstalovat Javu na Ubuntu 18.04

  3. Jak nainstalovat Javu na Ubuntu 18.04

  1. Jak nainstalovat Elastic Stack na Ubuntu 18.04 LTS

  2. Jak nainstalovat Elastic Stack na Ubuntu 16.04

  3. Jak nainstalovat Java 8 na Ubuntu 18.04