GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Elastic Stack na Ubuntu 16.04

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) a schématem dokumentů JSON. Elasticsearch je škálovatelný vyhledávač, který lze použít k vyhledávání všech typů dokumentů, včetně souboru protokolu. Elasticsearch je srdcem „Elastic Stack“ neboli ELK Stack.

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

Kibana je rozhraní pro vizualizaci dat pro Elasticsearch. Kibana poskytuje pěkný dashboard (webová rozhraní), umožňuje vám spravovat a vizualizovat všechna data z Elasticsearch na vlastní pěst. Není to jen krásné, ale také mocné.

V tomto tutoriálu vám ukážu, jak nainstalovat a nakonfigurovat Elastic Stack na jediném serveru Ubuntu 16.04 pro monitorování protokolů serveru a jak nainstalovat „Elastic beats“ na klientské počítače s operačním systémem Ubuntu 16.04 a CentOS 7.

Předpoklad

  • Ubuntu 16.04 64bitový server se 4 GB paměti RAM, název hostitele - elk-master
  • Ubuntu 16.04 64bitový klient s 1 GB RAM, název hostitele - elk-client1
  • 64bitový klient CentOS 7 s 1 GB paměti RAM, název hostitele - elk-client2

Krok 1 – Instalace Java

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

Nainstalujte nový balíček 'python-software-properties' takže můžeme snadno přidat nové úložiště pomocí příkazu apt.

aktualizace sudo apt-get
instalace sudo apt-get -y python-software-properties software-properties-common apt-transport-https

Přidejte nové úložiště Java 8 PPA pomocí příkazu 'add-apt-repository' a poté úložiště aktualizujte.

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update

Nainstalujte Java 8 z úložiště PPA webpub8.

sudo apt-get install -y oracle-java8-installer

Po dokončení instalace zkontrolujte verzi Java a ujistěte se, že je Java v systému správně nainstalována.

verze Java

Krok 2 – Instalace a konfigurace Elasticsearch

V tomto kroku nainstalujeme a nakonfigurujeme Elasticsearch. Nainstalujte Elasticsearch z elastického úložiště a nakonfigurujte jej tak, aby běžel na adrese IP localhost.

Před instalací Elasticsearch přidejte na server klíč elastického úložiště.

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

Přidejte elastické úložiště 5.x do adresáře 'sources.list.d'.

echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list

Aktualizujte úložiště a nainstalujte Elasticsearch 5.1 pomocí příkazu apt níže.

aktualizace sudo apt-get
instalace sudo apt-get -y elasticsearch

Elasticsearch je nainstalován. Nyní přejděte do konfiguračního adresáře a upravte konfigurační soubor elasticsaerch.yml.

cd /etc/elasticsearch/
vim elasticsearch.yml

Povolte zámek paměti pro Elasticsearch odstraněním komentáře na řádku 43. Děláme to, abychom zakázali odkládání paměti pro Elasticsearch, aby nedošlo k přetížení serveru.

bootstrap.memory_lock:true

V bloku 'Network' odkomentujte řádky network.host a http.port.

network.host:localhost
http.port:9200

Uložte soubor a ukončete vim.

Nyní upravte soubor služby elasticsearch pro konfiguraci zámku paměti mlockall.

vim /usr/lib/systemd/system/elasticsearch.service

Odkomentujte řádek LimitMEMLOCK.

LimitMEMLOCK=nekonečno

Uložte soubor a ukončete.

Upravte výchozí konfiguraci pro Elasticsearch v adresáři /etc/default.

vim /etc/default/elasticsearch

Odkomentujte řádek 60 a ujistěte se, že hodnota je 'neomezeno'.

MAX_LOCKED_MEMORY=neomezeno

Uložte a ukončete.

Konfigurace Elasticsearch je dokončena. Elasticsearch poběží pod IP adresou localhost s portem 9200 a deaktivovali jsme odkládací paměť povolením mlockall na serveru Ubuntu.

Znovu načtěte soubor služby Elasticsearch a povolte jeho spuštění při spouštění, poté spusťte službu.

sudo systemctl daemon-reload
sudo systemctl povolit elasticsearch
sudo systemctl spustit elasticsearch

Počkejte sekundu, než se Elasticsearch spustí, poté zkontrolujte otevřený port na serveru a ujistěte se, že 'stav' portu 9200 je 'LISTEN'.

netstat -plntu

Poté zkontrolujte zámek paměti, abyste se ujistili, že je povoleno mlockall. Pomocí níže uvedených příkazů také zkontrolujte, zda je spuštěn Elasticsearch.

curl -XGET 'localhost:9200/_nodes?filter_path=**.mlockall&pretty'
curl -XGET 'localhost:9200/?pretty'

Níže uvidíte výsledky.

Krok 3 – Instalace a konfigurace Kibana pomocí Nginx

V tomto kroku nainstalujeme a nakonfigurujeme Kibana za webový server Nginx. Kibana bude naslouchat pouze na IP adrese localhost a Nginx funguje jako reverzní proxy pro aplikaci Kibana.

Nainstalujte Kibana pomocí tohoto příkazu apt:

sudo apt-get install -y kibana

Nyní upravte konfigurační soubor kibana.yml.

vim /etc/kibana/kibana.yml

Odkomentujte řádky server.port, server.hos a elasticsearch.url.

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

Uložte soubor a ukončete vim.

Přidejte Kibana ke spuštění při startu a spusťte jej.

sudo systemctl povolit kibana
sudo systemctl spustit kibanu

Kibana poběží na portu 5601 jako aplikace uzlu.

netstat -plntu

Instalace Kibana je hotová, nyní musíme nainstalovat Nginx a nakonfigurovat jej jako reverzní proxy, aby bylo možné přistupovat ke Kibaně z veřejné IP adresy.

Dále nainstalujte balíčky Nginx a apache2-utils.

sudo apt-get install -y nginx apache2-utils

Apache2-utils je balíček, který obsahuje nástroje pro webový server, které fungují i ​​s Nginx, pro Kibana použijeme základní ověřování htpasswd.

Nginx byl nainstalován. Nyní musíme vytvořit nový konfigurační soubor virtuálního hostitele v adresáři Nginx sites-available. Vytvořte nový soubor 'kibana' pomocí vim.

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

Vložte konfiguraci níže.

server {
    listen 80;

    název_serveru elk-stack.co;

    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;
        Upgrade proxy_set_header $http />upgrade;        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Uložte soubor a ukončete vim

Vytvořte nový základní ověřovací soubor pomocí příkazu htpasswd.

sudo htpasswd -c /etc/nginx/.kibana-user admin
ZADEJTE HESLO

Aktivujte virtuálního hostitele kibana vytvořením symbolického odkazu ze souboru kibana v adresáři 'sites-available' do adresáře 'sites-enabled'.

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

Otestujte konfiguraci nginx a ujistěte se, že nedochází k chybě, poté přidejte nginx, aby se spustil při spouštění, a restartujte nginx.

nginx -t
systemctl povolit nginx
systemctl restartovat nginx

Krok 4 – Instalace a konfigurace Logstash

V tomto kroku 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).

Nainstalujte Logstash 5 pomocí příkazu apt níže.

sudo apt-get install -y logstash

Upravte soubor hosts pomocí vim.

vim /etc/hosts

Přidejte IP adresu serveru a název hostitele.

10.0.15.10    elk-master

Uložte soubor hosts a ukončete editor.

Nyní vygenerujte nový soubor certifikátu SSL pomocí OpenSSL, aby klientské zdroje mohly identifikovat elastický server.

cd /etc/logstash/
openssl req -subj /CN=elk-master -x509 -days 3650 -batch -nodes -newkey rsa:4096 -keyout logstash.key -out logstash.crt

Změňte '/CN ' k názvu hostitele elastického serveru.

Soubory certifikátů budou vytvořeny v adresáři '/etc/logstash/'.

Dále vytvoříme 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 v adresáři 'conf.d'.

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

Vstupní konfigurace, vložte konfiguraci níže.

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

Uložte a ukončete.

Vytvořte soubor syslog-filter.conf.

vim conf.d/syslog-filter.conf

Vložte konfiguraci níže.

filtr {
  if [type] =="syslog" {
    grok {
      shoda => { "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 {
       shoda => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

Používáme filtrovací plugin s názvem 'grok ' pro analýzu souborů syslog.

Uložte a ukončete.

Vytvořte výstupní konfigurační soubor 'output-elasticsearch.conf'.

vim conf.d/output-elasticsearch.conf

Vložte konfiguraci níže.

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

Uložte a ukončete.

Až to uděláte, přidejte logstash, aby se spustil při bootování a spusťte službu.

sudo systemctl povolit logstash
sudo systemctl spustit logstash

Krok 5 – Instalace a konfigurace Filebeat na klientovi Ubuntu

Připojte se k serveru jako root pomocí ssh účtu.

ssh [e-mail chráněný]

Zkopírujte soubor certifikátu do klienta pomocí příkazu scp.

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

Upravte soubor hosts a přidejte IP adresu elk-master.

vim /etc/hosts

Přidejte konfiguraci níže na konec souboru.

10.0.15.10    elk-master

Uložte a ukončete.

Nyní musíme přidat elastický klíč na server elk-client1.

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

Budeme používat elastické úložiště s přenosem stahování https, takže musíme na server nainstalovat balíček 'apt-transport-https'.

sudo apt-get install -y apt-transport-https

Přidejte elastické úložiště a aktualizujte všechna úložiště Ubuntu.

echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
aktualizace sudo apt-get

Nyní nainstalujte 'filebeat' pomocí příkazu apt.

sudo apt-get install -y filebeat

Dále přejděte do konfiguračního adresáře filebeat a upravte soubor 'filebeat.yml' pomocí vim.

cd /etc/filebeat/
vim filebeat.yml

Přidejte nové soubory protokolu do konfigurace cest.

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

Nastavte typ dokumentu na 'syslog'.

  typ dokumentu:syslog

Zakažte výstup elasticsearch přidáním komentářů k řádkům.

#-------------------------- Výstup elastického vyhledávání ------------------- ------------
#output.elasticsearch:
  # Pole hostitelů k připojení.
#  hostitelů:["localhost:9200"]

Povolte výstup logstash, odkomentujte konfiguraci a změňte hodnotu, jak je uvedeno níže.

output.logstash:
  # Hostitelé Logstash
  hostitelé:["elk-master:5443"]
  bulk_max_size:2048
  ssl.certificate_authorities:["/etc/ filebeat/logstash.crt"]
  template.name:"filebeat"
  template.path:"filebeat.template.json"
  template.overwrite:false

Uložte a ukončete.

Přesuňte soubor certifikátu do adresáře filebeat.

mv ~/logstash.crt /etc/filebeat/

Spusťte filebeat a přidejte jej ke spuštění při startu.

sudo systemctl spustit filebeat
sudo systemctl povolit filebeat

Zkontrolujte stav služby.

sudo systemctl status filebeat

Krok 6 – Instalace a konfigurace Filebeat na klientovi CentOS

Beats jsou odesílatelé dat, lehcí agenti, které lze nainstalovat na klientské uzly a odesílat obrovské množství dat z klientského počítače na server Logstash nebo Elasticsearch. K dispozici jsou 4 doby, 'Filebeat' pro 'Log Files', 'Metricbeat' pro 'Metrics', 'Packetbeat' pro 'Network Data' a 'Winlogbeat' pro klienta Windows 'Event Log'.

V tomto tutoriálu vám ukážu, jak nainstalovat a nakonfigurovat 'Filebeat' k odesílání dat protokolu na server logstash přes zabezpečené připojení SSL.

Zkopírujte soubor certifikátu z elastického serveru na server klient1. Přihlaste se k serveru client1.

ssh [e-mail chráněný]

Zkopírujte soubor certifikátu pomocí příkazu scp.

scp [e-mail chráněný]:/etc/logstash/logstash.crt .
TYP ELK-server heslo

Upravte soubor hostitelů a přidejte adresu serveru elk-master.

vim /etc/hosts

Přidejte adresu serveru elk-master.

10.0.15.10    elk-master

Uložte a ukončete.

Dále importujte elastický klíč na server elk-client2.

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

Přidejte elastické úložiště na server.

cd /etc/yum.repos.d/
vim elastic.repo

Vložte konfiguraci níže.

[elastic-5.x]
name=Elastické úložiště pro balíčky 5.x
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Uložte a ukončete.

Nainstalujte filebeat pomocí tohoto příkazu yum.

sudo yum -y install filebeat

Filebeat byl nainstalován, nyní přejděte do konfiguračního adresáře a upravte soubor 'filebeat.yml'.

cd /etc/filebeat/
vim filebeat.yml

V sekci cesty na řádku 21 přidejte nějaké nové soubory protokolu, přidáme sem dva soubory:'/var/log/secure' pro aktivitu ssh a '/var/log/messages' pro protokol serveru.

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

Přidejte novou konfiguraci na řádek 26, abyste definovali typ souboru 'syslog'.

  typ dokumentu:syslog

Ve výchozím nastavení filebeat používá elasticsearch jako výstup. V tomto tutoriálu jej změníme na logshtash. Zakažte výstup elasticsearch přidáním komentářů k řádkům 83 a 85.

Zakázat výstup elasticsearch.

#-------------------------- Výstup elastického vyhledávání ------------------- ------------
#output.elasticsearch:
  # Pole hostitelů k připojení.
#  hostitelů:["localhost:9200"]

Nyní přidejte novou konfiguraci výstupu logstash, odkomentujte konfiguraci výstupu logstash a změňte všechny hodnoty na hodnoty, které jsou uvedeny v konfiguraci níže.

output.logstash:
  # Hostitelé Logstash
  hostitelé:["elk-master:5443"]
  bulk_max_size:2048
  ssl.certificate_authorities:["/etc/ filebeat/logstash.crt"]
  template.name:"filebeat"
  template.path:"filebeat.template.json"
  template.overwrite:false

Uložte a ukončete.

Přidejte filebeat, aby se spustil při spouštění, a spusťte jej.

sudo systemctl povolit filebeat
sudo systemctl spustit filebeat

Nyní můžete zkontrolovat a sledovat soubor protokolu filebeat, abyste se ujistili, že běží správně.

tail -f /var/log/filebeat/filebeat

Krok 8 – Testování

Otevřete webový prohlížeč a navštivte doménu elastického zásobníku, kterou jste nakonfigurovali v konfiguraci nginx, moje je 'elk-stack.co', zadejte uživatelské jméno správce se svým heslem a stisknutím klávesy Enter se přihlaste do řídicího panelu Kibana.

Vytvořte nový výchozí index 'filebeat-* “ a klikněte na „Vytvořit '.

Výchozí index byl vytvořen. Pokud máte na elastickém zásobníku více taktů, můžete nakonfigurovat výchozí takt pouhým kliknutím na 'hvězdu '.

Přejděte na „Objevit “ a uvidíte všechny soubory protokolu ze serverů elk-client1 a elk-client2.

Příklad výstupu JSON z protokolu serveru elk-client1 pro neplatné přihlášení ssh.

A s řídicím panelem Kibana můžete dělat mnohem víc, jen to vyzkoušejte!

Elastic Stack byl nainstalován na server Ubuntu 16.04, filebeat byl nainstalován na klientské servery Ubuntu a CentOS.


Ubuntu
  1. Jak nainstalovat Graylog2 na Ubuntu 14.04

  2. Jak nainstalovat Graylog2 na Ubuntu 15.04 / 14.10

  3. Jak nainstalovat a nakonfigurovat Elasticsearch na Ubuntu 20.04

  1. Jak nainstalovat Elasticsearch na Ubuntu 18.04

  2. Jak nainstalovat R na Ubuntu 20.04

  3. Jak nainstalovat Elasticsearch na Ubuntu 20.04

  1. Jak nainstalovat Go na Ubuntu 18.04

  2. Jak nainstalovat R na Ubuntu 18.04

  3. Jak nainstalovat Elasticsearch na Ubuntu 20.04