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

Jak nastavit víceuzlový elastický stack cluster na RHEL 8 / CentOS 8

Elastická vrstva široce známá jako ELK stack , je to skupina opensource produktů jako Elasticsearch , Logstash a Kibana . Elastic Stack je vyvinut a udržován společností Elastic. Pomocí elastického zásobníku lze přidávat systémové protokoly do Logstashe, je to nástroj pro shromažďování dat, který přijímá protokoly nebo data ze všech zdrojů a normalizuje protokoly a poté protokoly předává Elasticsearch k analýze , indexování , vyhledávání a ukládání a konečně pomocí Kibana můžeme reprezentovat vizualizovaná data, pomocí Kibana můžeme také vytvářet interaktivní grafy a diagramy na základě uživatelských dotazů.

V tomto článku si ukážeme, jak nastavit cluster víceuzlového elastického zásobníku (ELK Stack) na serverech RHEL 8 / CentOS 8. Níže jsou uvedeny podrobnosti o mém klastru elastických stohů:

Elastické vyhledávání:
  • Tři servery s minimálním RHEL 8 / CentOS 8
  • IPs &Hostname – 192.168.56.40 (elasticsearch1.linuxtechi. local), 192.168.56.50 (elasticsearch2.linuxtechi. local), 192.168.56.60 (elasticsearch3.linuxtechi. local)
Logstash:
  • Dva servery s minimálním RHEL 8 / CentOS 8
  • IPy a název hostitele – 192.168.56.20 (logstash1.linuxtechi. local) , 192.168.56.30 (logstash2.linuxtechi. local)
Kibana:
  • Jeden server s minimálním RHEL 8 / CentOS 8
  • Název hostitele – kibana.linuxtechi.local
  • IP – 192.168.56.10
Filebeat:
  • Jeden server s minimálním CentOS 7
  • IP a název hostitele – 192.168.56.70 (webový server)

Začněme nastavením clusteru Elasticsearch

Nastavení 3 uzlu Elasticsearch clusteru

Jak jsem již uvedl, ponechal jsem si uzly pro cluster Elasticsearch, přihlaste se ke každému uzlu, nastavil název hostitele a nakonfiguroval úložiště yum/dnf.

Pomocí níže uvedeného příkazu hostnamectl nastavte název hostitele na příslušných uzlech

[[e-mail chráněný] ~]# hostnamectl set-hostname "elasticsearch1.linuxtechi. local"[[email protected] ~]# exec bash[[email protected] ~]#[[email protected] ~]# set hostnamectl set -hostname "elasticsearch2.linuxtechi. local"[[e-mail chráněný] ~]# exec bash[[e-mail chráněný] ~]#[[e-mail chráněný] ~]# hostnamectl set-hostname "elasticsearch3.linuxtechi. local"[[email protected ] ~]# exec bash[[e-mail chráněn] ~]#

Pro systém CentOS 8 nepotřebujeme konfigurovat žádné úložiště balíčků OS a pro RHEL 8 Server, pokud máte platné předplatné a poté si ho předplatili u Red Hat pro získání úložiště balíčků. V případě, že chcete nakonfigurovat místní úložiště yum/dnf pro balíčky OS, přejděte na níže uvedenou adresu URL:

Jak nastavit místní úložiště Yum/DNF na serveru RHEL 8 pomocí DVD nebo ISO souboru

Nakonfigurujte úložiště balíčků Elasticsearch na všech uzlech, vytvořte soubor elastic.repo  ve složce /etc/yum.repos.d/ s následujícím obsahem

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

uložit a opustit soubor

Pomocí níže uvedeného příkazu rpm na všech třech uzlech importujte veřejný podpisový klíč Elastic

~]# ot./min --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Přidejte následující řádky do souboru /etc/hosts na všechny tři uzly,

192.168.56.40             elasticsearch1.linuxtechi.local192.168.56.50             elasticsearch2.linuxtechi.local192.168.56.60 > elastici. 3 cal prex  

Nainstalujte Javu na všechny tři uzly pomocí příkazu yum / dnf,

[[email protected] ~]# dnf install java-openjdk -y[[email protected] ~]# dnf install java-openjdk -y[[email protected] ~]# dnf install java-openjdk -y 

Nainstalujte Elasticsearch pomocí příkazu beneath dnf na všechny tři uzly,

[[e-mail chráněný] ~]# instalace dnf elasticsearch -y[[e-mail chráněný] ~]# instalace dnf elasticsearch -y[[e-mail chráněný] ~]# instalace dnf elasticsearch -y

Poznámka: V případě, že je v každém uzlu Elasticsearch povolen a spuštěn firewall operačního systému, povolte následující porty pomocí příkazu firewall-cmd,

~]# firewall-cmd --permanent --add-port=9300/tcp~]# firewall-cmd --permanent --add-port=9200/tcp~]# firewall-cmd --reload 

Nakonfigurujte Elasticsearch, upravte soubor “/etc/elasticsearch/elasticsearch.yml ” na všech třech uzlech a přidejte následující,

~]# vim /etc/elasticsearch/elasticsearch.yml…………………………………………cluster.name:opn-clusternode.name:elasticsearch1.linuxtechi.localnetwork.host:192.168 .56.40http.port:9200discovery.seed_hosts:["elasticsearch1.linuxtechi.local", "elasticsearch2.linuxtechi.local", "elasticsearch3.linuxtechi.local"]cluster.initial_master_nodes:["elasticsearch1.cal2elaxtechisearch" .linuxtechi.local", "elasticsearch3.linuxtechi.local"]……………………………………………………

Poznámka: na každém uzlu přidejte správný název hostitele do parametru node.name a ip adresu do parametru network.host a ostatní parametry zůstanou stejné.

Nyní spusťte a povolte službu Elasticsearch na všech třech uzlech pomocí následujícího příkazu systemctl,

~]# systemctl daemon-reload~]# systemctl povolit elasticsearch.service~]# systemctl spustit elasticsearch.service

Pomocí níže uvedeného příkazu „ss“ ověřte, zda uzel elasticsearch začíná naslouchat na portu 9200,

[[e-mail chráněný] ~]# ss -tunlp | grep 9200tcp   POSLECHNUTÍ  0       128       [::ffff:192.168.56.40]:9200              *:*   d  uživatelů :(("java", d   uživatelů :("java",pid = ]) [] předem          [              [      > 2756  

Pomocí následujících příkazů curl ověřte stav clusteru Elasticsearch

[[chráněn e-mailem] ~]# curl  http://elasticsearch1.linuxtechi.local:9200[[chráněn e-mailem] ~]# curl -X GET  http://elasticsearch2.linuxtechi.local:9200/_cluster/health ?pěkná

Výstup nad příkazem by byl něco jako níže,

Výše uvedený výstup potvrzuje, že jsme úspěšně vytvořili 3 node Elasticsearch cluster a stav clusteru je také zelený.

Poznámka: Pokud chcete upravit velikost haldy JVM, pak jste upravili soubor „/etc/elasticsearch/jvm.options ” a změňte níže uvedené parametry tak, aby vyhovovaly vašemu prostředí,

  • -Xms1g
  • -Xmx1g

Nyní se přesuneme k uzlům Logstash

Nainstalujte a nakonfigurujte Logstash

Proveďte následující kroky na obou uzlech Logstash,

Přihlaste se do obou uzlů a nastavte název hostitele pomocí následujícího příkazu hostnamectl,

[[e-mail chráněný] ~]# hostnamectl set-hostname "logstash1.linuxtechi.local"[[email protected] ~]# exec bash[[email protected] ~]#[[email protected] ~]# set hostnamectl set -hostname "logstash2.linuxtechi.local"[[e-mail chráněný] ~]# exec bash[[e-mail chráněný] ~]#

Přidejte následující položky do souboru /etc/hosts v obou uzlech logstash

~]# vi /etc/hosts192.168.56.40             elasticsearch1.linuxtechi.local192.168.56.50             elasticsearch2.linuxtechi.local192.608.56 prextechi 36   

Uložte a ukončete soubor

Nakonfigurujte úložiště Logstash na obou uzlech, vytvořte soubor logstash.repo ve složce /ete/yum.repos.d/ s následujícím obsahem,

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

Uložte a ukončete soubor, spusťte následující příkaz rpm pro import podpisového klíče

~]# ot./min --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Nainstalujte Java OpenJDK na oba uzly pomocí následujícího příkazu dnf,

~]# instalace dnf java-openjdk -y

Spuštěním následujícího příkazu dnf z obou uzlů nainstalujte logstash,

[[email protected] ~]# dnf install logstash -y[[email protected] ~]# dnf install logstash -y

Nyní nakonfigurujte logstash, proveďte níže uvedené kroky na obou logstash uzlech

Vytvořte soubor logstash conf, nejprve zkopírujeme vzorový soubor logstash pod ‘/etc/logstash/conf.d/’

# cd /etc/logstash/# cp logstash-sample.conf conf.d/logstash.conf

Upravte soubor conf a aktualizujte následující obsah,

# vi conf.d/logstash.confinput {  beats {    port => 5044  }}výstup {  elasticsearch {    hostitelé => ["http://elasticsearch1.linuxtechi.local:9200", "http://elasticsearch2. linuxtechi.local:9200", "http://elasticsearch3.linuxtechi.local:9200"]    index => "%{[@metadata][beat]}-%{[@metadata][verze]}-%{+ RRRR.MM.dd}"    #user => "elastický"    #password => "změna"  }}

V sekci výstupu zadejte v parametru hosts FQDN všech tří uzlů Elasticsearch, ostatní parametry zůstanou tak, jak jsou.

Povolte port logstash „5044“ v bráně firewall OS pomocí následujícího příkazu firewall-cmd,

~ # firewall-cmd --permanent --add-port=5044/tcp~ # firewall-cmd –reload

Nyní spusťte a povolte službu Logstash, spusťte následující příkazy systemctl na obou uzlech

~]# systemctl spustí logstash~]# systemctl povolí logstash

Pomocí níže uvedeného příkazu ss ověřte, zda služba logstash začne naslouchat na 5044,

[[e-mail chráněný] ~]# ss -tunlp | grep 5044tcp   POSLECHNUTÍ  0       128                         *:5044                *:*       uživatelů: ("Java", předběžně    chráněno)      předem 
 Výše uvedený výstup potvrzuje, že logstash byl úspěšně nainstalován a nakonfigurován. Pojďme k instalaci Kibana.

Nainstalujte a nakonfigurujte Kibana

Přihlaste se do uzlu Kibana, nastavte název hostitele pomocí hostnamectl příkaz,

[[e-mail chráněný] ~]# hostnamectl set-hostname "kibana.linuxtechi.local"[[e-mail chráněný] ~]# exec bash[[e-mail chráněný] ~]#

Upravte soubor /etc/hosts a přidejte následující řádky

192.168.56.40             elasticsearch1.linuxtechi.local192.168.56.50             elasticsearch2.linuxtechi.local192.168.56.60 > elastici. 3 cal prex  

Nastavte úložiště Kibana pomocí následujícího,

[[email protected] ~]# vi /etc/yum.repos.d/kibana.repo[elasticsearch-7.x]name=Elasticsearch repository for 7.x packagesbaseurl=https://artifacts.elastic.co /packages/7.x/yumgpgcheck=1gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md[[e-mail chráněný] ~]# ot./min --import https:// artifacts.elastic.co/GPG-KEY-elasticsearch

Spusťte níže uvedený příkaz dnf a nainstalujte kibana,

[[email protected] ~]# yum install kibana -y

Nakonfigurujte Kibana úpravou souboru „/etc/kibana/kibana.yml

[[email protected] ~]# vim /etc/kibana/kibana.yml…………server.host:"kibana.linuxtechi.local"server.name:"kibana.linuxtechi.local"elasticsearch.hosts:["http://elasticsearch1.linuxtechi.local:9200", "http://elasticsearch2.linuxtechi.local:9200", "http://elasticsearch3.linuxtechi.local:9200"]…………

Spusťte a povolte službu kibana

[[e-mail chráněný] ~]# systemctl start kibana[[email protected] ~]# systemctl povolení kibana

Povolte port Kibana „5601“ v bráně firewall OS

[[e-mail chráněný] ~]# firewall-cmd --permanent --add-port=5601/tcpsuccess[[e-mail chráněný] ~]# firewall-cmd --reloadsuccess[[e-mail chráněný] ~]# 

Vstupte na portál / GUI Kibana pomocí následující adresy URL:

http://kibana.linuxtechi.local:5601

Z řídicího panelu můžeme také zkontrolovat stav našeho clusteru Elastic Stack

To potvrzuje, že jsme úspěšně nastavili víceuzlový cluster Elastic Stack na RHEL 8 / CentOS 8.

Nyní pošleme několik protokolů do logstash uzlů přes filebeat z jiných linuxových serverů. V mém případě mám jeden CentOS 7 Server, všechny důležité protokoly tohoto serveru přesunu do logstash přes filebeat.

Přihlaste se k serveru CentOS 7 a nainstalujte balíček filebeat pomocí následujícího příkazu rpm,

[[email protected] ~]# rpm -ivh https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.1-x86_64.rpmNačítání https://artifacts.elastic.co/downloads /beats/filebeat/filebeat-7.3.1-x86_64.rpmPříprava...                           ############################### [100%]Aktualizace / instalace...   1:filebeat-7.3.1-1                 ############################## ## [100%][[e-mail chráněno] ~]#

Upravte soubor /etc/hosts a přidejte následující položky,

192.168.56.20             logstash1.linuxtechi.local192.168.56.30             logstash2.linuxtechi.local

Nyní nakonfigurujte filebeat tak, aby mohl odesílat protokoly do logstash uzlů pomocí techniky vyrovnávání zátěže, upravte soubor “/etc/filebeat/filebeat.yml “ a přidejte následující parametry,

V části „filebeat.inputs: ' změna sekce 'povoleno:false ‘ na ‘povoleno:true “ a pod „cestami parametr ” specifikuje soubory protokolu umístění, které můžeme odeslat do logstash, ve výstupní sekci Elasticsearch uveďte komentář „output.elasticsearch “ a hostitel parametr. V sekci Výstup Logstash odstraňte komentáře pro „output.logstash: “ a „hostitelé: “ a přidejte oba uzly logstash do parametrů hostitelů a také „loadbalance:true “.

[[email protected] ~]# vi /etc/filebeat/filebeat.yml……………………….filebeat.inputs:- type:log  enabled:true  cesty:    - /var/log/messages - /var/log/dmesg    - /var/log/maillog    - /var/log/boot.log#output.elasticsearch:  #  hostitelé:["localhost:9200"]output.logstash:    hostitelé:["logstash1.linuxtechi. local:5044", "logstash2.linuxtechi.local:5044"]    vyvážení zatížení:true………………………………………

Spusťte a povolte službu filebeat pomocí příkazů systemctl,

[[email protected] ~]# systemctl spustí filebeat[[email protected] ~]# systemctl aktivuje  filebeat

Nyní přejděte do grafického uživatelského rozhraní Kibana a ověřte, zda jsou nové indexy viditelné nebo ne

Vyberte možnost Správa z levého postranního panelu a poté klikněte na Správa indexu v části Elasticsearch

Jak můžeme vidět výše, indexy jsou nyní viditelné, pojďme vytvořit vzor indexu,

Klikněte na „Vzory indexu“ v sekci Kibana, vyzve nás to k vytvoření nového vzoru, klikněte na „Vytvořit vzor indexu “ a zadejte název vzoru jako „filebeat

Klikněte na Další krok

Vyberte „Časové razítko ” jako časový filtr pro vzor indexu a poté klikněte na „Vytvořit vzor indexu“

Nyní klikněte na Discover pro zobrazení vzoru indexu počtu souborů v reálném čase

To potvrzuje, že agent Filebeat byl úspěšně nakonfigurován a na řídicím panelu Kibana jsme schopni vidět protokoly v reálném čase.

To je z tohoto článku vše. Neváhejte se prosím podělit o svou zpětnou vazbu a komentáře pro případ, že vám tyto kroky pomohou nastavit víceuzlový Elastic Stack Cluster na systému RHEL 8 / CentOS 8.


Cent OS
  1. Jak nastavit server NFS na CentOS 7 / RHEL 7

  2. Jak nastavit Icinga Web 2 na CentOS 7 / RHEL 7

  3. Jak nastavit mutt v CentOS/RHEL

  1. Jak nainstalovat node.js na RHEL 8 / CentOS 8 Linux

  2. Jak nastavit úložiště GlusterFS na CentOS 7 / RHEL 7

  3. Jak nastavit SysLog Server na CentOS 7 / RHEL 7

  1. Jak nainstalovat Kubernetes (k8s) 1.7 na CentOS 7 / RHEL 7

  2. Konfigurace dvouuzlového klastru Squid pomocí Pacemaker na CentOS 7 / RHEL 7

  3. Jak nastavit server NFS na CentOS 8 / RHEL 8