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

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

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 pomocí 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ů protokolu. 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ážeme krok za krokem instalaci a konfiguraci „Elastic Stack“ na serveru CentOS 8. Nainstalujeme a nastavíme Elasticsearch, Logstash a Kibana. A pak nastavte Beats 'filebeat' na klientech systému Ubuntu a CentOS.

Předpoklady

  • CentOS 8 64bit se 4 GB RAM – elk-master
  • CentOS 8 64bit s 1 GB RAM – klient01
  • Ubuntu 18.04 64bit s 1 GB RAM – klient02

Co uděláme:

  • Přidat Elastic Repository na CentOS 8 Server
  • Nainstalujte a nakonfigurujte Elasticsearch
  • Nainstalujte a nakonfigurujte řídicí panel Kibana
  • Nastavit Nginx jako reverzní proxy pro Kibana
  • Nainstalujte a nakonfigurujte Logstash
  • Nainstalujte a nakonfigurujte Filebeat
  • Testování

Krok 1 – Přidání elastického úložiště

Nejprve přidáme klíč a úložiště Elasticsearc na server CentOS 8. S úložištěm elasticsearch, které poskytuje elastic.co, jsme schopni instalovat elastické produkty včetně Elasticsearch, Logstash, Kibana a Beats.

Přidejte elastický klíč do systému pomocí následujícího příkazu.

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

Poté přejděte do adresáře '/etc/yum.repos.d' a vytvořte nový soubor úložiště 'elasticsearch.repo'.

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

Níže vložte úložiště elasticsearch.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Uložit a zavřít.

Nyní zkontrolujte všechna dostupná úložiště v systému pomocí příkazu dnf níže.

dnf repolist

A získáte úložiště elasticsearch, které bylo přidáno na server CentOS 8.

V důsledku toho můžete nainstalovat produkty Elastic, jako jsou Elasticsearch, Logstash a Kibana atd.

Krok 2 – Instalace a konfigurace Elasticsearch

V tomto kroku nainstalujeme a nakonfigurujeme Elasticsearch.

Nainstalujte balíček Elasticsearch pomocí příkazu dnf níže.

sudo dnf install elasticsearch -y

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

cd /etc/elasticsearch/
vim elasticsearch.yml

Odkomentujte následující řádky a změňte hodnotu pro každý řádek, jak je uvedeno níže.

network.host: 127.0.0.1
http.port: 9200

Uložit a zavřít.

Volitelně:

Elastiksearch můžete vyladit úpravou konfiguračního souboru JVM 'jvm.options' a nastavením velikosti haldy podle toho, kolik máte paměti.

Upravte konfiguraci JVM 'jvm.options' pomocí editoru vim.

vim jvm.options

Změňte minimální/maximální velikost haldy pomocí konfigurace Xms a Xmx, jak je uvedeno níže.

-Xms512m
-Xmx512m

Uložit a zavřít.

Dále znovu načtěte konfiguraci správce systemd a přidejte službu elasticsearch do doby spouštění.

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch

Poté spusťte službu elasticsearch.

sudo systemctl start elasticsearch

Výsledkem je, že elasticsearch běží za místní IP adresou '127.0.0.1' s výchozím portem '9200' na serveru CentOS 8.

Elastické vyhledávání můžete zkontrolovat pomocí příkazu curl níže.

curl -XGET 'http://127.0.0.1:9200/?pretty'

A níže je výsledek, který dostanete.

Krok 3 – Instalace a konfigurace řídicího panelu Kibana

Po instalaci elasticsearch nainstalujeme a nakonfigurujeme Kibana Dashboard na serveru CentOS 8.

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

sudo dnf install kibana

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

cd /etc/kibana/
vim kibana.yml

Odkomentujte a změňte konfiguraci některých linek, jak je uvedeno níže.

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

Uložit a zavřít.

Dále přidejte službu kibana do spouštění systému a spusťte službu kibana.

sudo systemctl enable kibana
sudo systemctl start kibana

Služba Kibana je spuštěna a spuštěna na serveru CentOS 8, zkontrolujte ji pomocí následujících příkazů.

systemctl status kibana
netstat -plntu

A dostanete výsledek, jak je uvedeno níže.

V důsledku toho je služba Kibana spuštěna a běží na výchozím portu TCP '5601'.

Krok 4 – Nastavení Nginx jako reverzního proxy pro Kibana

V tomto kroku nainstalujeme webový server Nginx a nastavíme jej jako reverzní proxy pro Kibana Dashboard.

Nainstalujte Nginx a httpd-tools pomocí příkazu dnf níže.

sudo dnf install nginx httpd-tools

Po dokončení instalace přejděte do adresáře '/etc/nginx/conf.d' a vytvořte nový konfigurační soubor 'kibana.conf'.

cd /etc/nginx/conf.d/
vim kibana.conf

Vložte následující konfiguraci.

server {
    listen 80;
 
    server_name elk.hakase-labs.io;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.kibana-user;
 
    location / {
        proxy_pass http://127.0.0.1:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

Uložit a zavřít.

Dále musíme vytvořit základní autentizaci pro zabezpečení přístupu Kibana. Změňte uživatele 'hakase' za svého a spusťte příkaz htpasspwd, jak je uvedeno níže.

sudo htpasswd -c /etc/nginx/.kibana-user hakase
TYPE YOUR PASSWORD

Zadejte své heslo a otestujte konfiguraci nginx.

nginx -t

Ujistěte se, že nedošlo k chybě.

Nyní přidejte službu nginx do spouštění systému a spusťte službu nginx.

systemctl enable nginx
systemctl start nginx

V důsledku toho byla dokončena instalace a konfigurace Nginx jako reverzní proxy pro Kibana Dashboard.

Krok 5 – Instalace a konfigurace Logstash

V tomto kroku nainstalujeme a nakonfigurujeme logstash odesílatele protokolů. Nainstalujeme logstash, nastavíme vstupní doby, nastavíme filtrování syslog pomocí pluginu logstash s názvem 'grok' a poté nastavíme výstup na elasticsearch.

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

sudo dnf install logstash

Po dokončení instalace přejděte do adresáře '/etc/logstash' a upravte konfigurační soubor JVM 'jvm.options' pomocí editoru vim.

cd /etc/logstash/
vim jvm.options

Změňte minimální/maximální velikost haldy pomocí konfigurace Xms a Xmx, jak je uvedeno níže.

-Xms512m
-Xmx512m

Uložit a zavřít.

Dále přejděte do adresáře '/etc/logstash/conf.d' a vytvořte konfigurační soubor pro vstup beatů s názvem 'input-beat.conf'.

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

Vložte následující konfiguraci.

input {
  beats {
    port => 5044
  }
}

Uložit a zavřít.

Nyní vytvořte konfigurační soubor 'syslog-filter.conf'.

vim syslog-filter.conf

Vložte následující konfiguraci.

filter {
  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}" ]
    }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

Uložit a zavřít.

A pak vytvořte výstupní konfiguraci pro elasticsearch 'output-elasticsearch.conf'.

vim output-elasticsearch.conf

Vložte následující konfiguraci.

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

Uložit a zavřít.

Dále přidejte službu logstash do spouštění systému a spusťte službu logstash.

systemctl enable logstash
systemctl start logstash

Služba logstash je v provozu, zkontrolujte pomocí následujících příkazů.

systemctl status logstash
netstat -plntu

A dostanete výsledek, jak je uvedeno níže.

Výsledkem je, že odesílatel protokolu logstash je spuštěn a spuštěn na serveru CentOS 8 s výchozím portem TCP „5044“. A základní instalace Elastic Stack byla dokončena a jsme připraveni odeslat a monitorovat naše protokoly na server Elastic (ELK Stack).

Krok 6 – Instalace Filebeat na klienta

V tomto kroku vám ukážeme, jak nastavit filebeat v systému Ubuntu a CentOS. Nainstalujeme filebeat a nakonfigurujeme pro odesílání protokolů z obou serverů do Logstashe na elastickém serveru.

- Instalace Filebeat na CentOS 8

Přidejte klíč elasticsearch do systému CentOS 8 pomocí následujícího příkazu.

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

Nyní přejděte do adresáře '/etc/yum.repos.d' a vytvořte soubor 'elasticsearch.repo' pomocí editoru vim.

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

Vložte následující konfiguraci.

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Uložit a zavřít.

Nyní nainstalujte filebeat pomocí příkazu dnf níže.

sudo dnf install filebeat

Počkejte na dokončení instalace filebeat.

- Instalace Filebeat na Ubuntu 18.04

Nejprve nainstalujte balíčky apt-transport-https.

sudo apt install apt-transport-https

Poté přidejte klíč elasticsearch a úložiště pomocí následujících příkazů.

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

Nyní aktualizujte všechna úložiště a nainstalujte filebeat do systému ubuntu pomocí příkazu apt níže.

sudo apt update
sudo apt install filebeat

Počkejte na dokončení instalace filebeat.

- Konfigurace Filebeat

Konfigurace filebeat se nachází v adresáři '/etc/filebeat'. Přejděte do adresáře filebeat a upravte konfigurační soubor 'filebeat.yml'.

cd /etc/filebeat/
vim filebeat.yml

Nyní deaktivujte výchozí výstup elasticsearch, jak je uvedeno níže.

#output.elasticsearch:
  # Array of hosts to connect to.
  #  hosts: ["127.0.0.1:9200"]

Poté povolte výstup logstash a zadejte IP adresu hostitele logstash.

output.logstash:
  # The Logstash hosts
  hosts: ["10.5.5.25:5044"]

Uložit a zavřít.

Dále musíme povolit moduly filebeat. Spuštěním příkazu filebeat níže získáte seznam modulů filebeat.

filebeat modules list

Povolte modul 'system' pomocí následujícího příkazu.

filebeat modules enable system

Systémový modul filebeat byl aktivován pomocí konfiguračního souboru 'modules.d/system.yml'.

Upravte konfiguraci systémového modulu pomocí editoru vim.

cd /etc/filebeat/
vim modules.d/system.yml

Odkomentujte cestu k souboru syslog a autorizačnímu souboru ssh.

Pro systém CentOS:

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/messages"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/secure"]

Pro systém Ubuntu:

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/syslog"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/auth.log"]

Uložit a zavřít.

Nyní přidejte službu filebeat do spouštění systému a spusťte službu.

systemctl enable filebeat
systemctl start filebeat

Služba filebeat je v provozu, můžete to zkontrolovat pomocí následujícího příkazu.

systemctl status filebeat

A zobrazí se vám výsledek, jak je uvedeno níže.

Níže je uveden výsledek ze serveru CentOS 8.

A níže je ze serveru Ubuntu 18.04.

V důsledku toho bylo navázáno spojení mezi filebeat a službou logstash na IP adrese serveru elastického zásobníku '10.5.5.12'.

Krok 7 – Testování

Otevřete webový prohlížeč a do adresního řádku zadejte název instalační domény Elastic Stack.

http://elk.hakase-labs.io/

Nyní se přihlaste do Kibana Dashboard pomocí základního ověřovacího účtu, který jste vytvořili.

A získáte Kibana Dashboard, jak je uvedeno níže.

Nyní se připojte k datům indexu elasticsearch, která se automaticky vytvořila po připojení filebeat k logstash. Klikněte na 'Připojit k indexu Elasticsearch odkaz.

Vytvořte 'filebeat-* ' a klikněte na 'Další krok '.

Jako název filtru vyberte '@timestamp a klikněte na možnost Vytvořit vzor indexu '.

A 'filebeat-* Vzor indexu byl vytvořen, klikněte na tlačítko 'Objevit ' na levé straně.

A získáte data protokolu z klientů filebeat, jak je uvedeno níže.

Protokoly pro systém CentOS 8.

Přihlaste se k systému Ubuntu.

V důsledku toho byla data protokolu definovaná v systémovém modulu filebeat odeslána na server elastického zásobníku.

A instalace a konfigurace Elastic Stack na CentOS 8 byla úspěšně dokončena.


Cent OS
  1. Jak nainstalovat Elasticsearch, Logstash a Kibana 4 na CentOS 7 / RHEL 7

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

  3. Jak nainstalovat ELK Stack na CentOS 7

  1. Jak nainstalovat Elasticsearch a Kibana na Linux

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

  3. Nainstalujte Elasticsearch, Logstash a Kibana na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Nginx na CentOS 7

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

  3. Jak nainstalovat Elasticsearch na CentOS 7