Vissza a bloghoz

Hogyan telepítsük az Elastic Stack-et Ubuntu 18.04-re

Hogyan telepítsük az Elastic Stack-et Ubuntu 18.04-re

Az Elastic Stack (korábbi nevén az ELK Stack) egy hatékony megoldás a központosított naplózásra. Ez egy nyílt forráskódú szoftvergyűjtemény, amelyet a Elastic fejlesztett ki. Lehetővé teszi a rendszergazdák számára, hogy bármilyen forrásból, bármilyen formátumban előállított naplókat keressenek, elemezzenek és vizualizáljanak. Ez a központosított naplózásként ismert gyakorlat egyik formája. A központosított naplózás nagyon hasznos lehet a szerverekkel és alkalmazásokkal kapcsolatos problémák pontos meghatározásakor, mivel lehetővé teszi az összes napló egyetlen helyről történő keresését. Segíthet a több szerveren fellépő problémák azonosításában is, a naplók egy adott időpontban történő korrelálásával.

Ebben az útmutatóban bemutatjuk, hogyan telepítheti az Elastic Stack-et Ubuntu 18.04 rendszerre. Először kövesse az útmutatónkat, hogy egyszerűen telepítse Ubuntu szerverét a CloudSigma-n.

Az Elastic Stack Ubuntu-n

Az Elastic Stack a következő összetevőkből áll:

  • Elasticsearch: Egy elosztott RESTful keresőmotor. Ez tárolja az összes összegyűjtött adatot.
  • Logstash: Az Elastic Stack adatfeldolgozó része. A bejövő adatokat az Elasticsearch-nek küldi.
  • Kibana: Egy webes felület, amely keresési és napló-vizualizációs funkciókat kínál.
  • Beats: Egy könnyűsúlyú, egyetlen célra szolgáló adatküldő. Képes adatokat küldeni számos gépről a Logstash vagy az Elasticsearch felé.

A stack minden egyes összetevőjét manuálisan kell telepítenie.

Előfeltételek

Mielőtt továbblépne az Elastic Stack telepítésével, számos rendszerkövetelménynek kell teljesülnie:

Vegye figyelembe, hogy a tárhely mennyisége az összegyűjtendő és tárolandó naplók számától függ. Emellett az Elastic Stack a szerverrel kapcsolatos értékes információkat is kezel. Az adatátvitel biztonságának megőrzése érdekében erősen javasoljuk egy TLS/SSL tanúsítvány konfigurálását. Kövesse ezt a útmutatót az ingyenes SSL-tanúsítvány beszerzéséhez az Nginx szerverén.

A titkosított szerver mellett a következő lépésekre is szükség lesz:

  • Egy FQDN (teljesen minősített tartománynév). Ebben az útmutatóban ez <domain> lesz.
  • A következő tartományok mindkét DNS-rekordja a szerverre mutat.
    • Egy A rekord, ahol a <domain> a szerver nyilvános IP-címére mutat.
    • Egy A rekord, ahol a www.<domain> a szerver nyilvános IP-címére mutat.

Az Elastic Stack telepítése

  • Az Elastic repó konfigurálása

Az Elastic Stack összetevői nem érhetők el közvetlenül a hivatalos Ubuntu repóból. Szerencsére az Ubuntu lehetővé teszi harmadik féltől származó repók használatát a csomagok telepítéséhez. Célunk érdekében hozzáadjuk az Elastic csomagtárolót. A repó az összes Elastic csomag legújabb frissítését kínálja. Minden Elastic csomag az Elasticsearch aláíró kulccsal van aláírva a csomaghamisítás megelőzése érdekében. Először adja hozzá a kulcsot az Ubuntu kulcstartójához:

Ezután adja hozzá az Elastic forráslistát a „sources.list.d” könyvtár alá. Ez az a dedikált könyvtár, amelyet az APT használ az új források keresésére:

Végül frissítse az APT gyorsítótárat:

A hivatalos dokumentáció szerint ajánlott az egyes összetevőket az ebben az útmutatóban bemutatott sorrendben telepíteni. Ez biztosítja, hogy az egyes termékek által igényelt összetevők a megfelelő helyen legyenek.

  • Az Elasticsearch telepítése és konfigurálása

Miután az Elastic repó konfigurálva van, az APT készen áll az összes Elastic csomag letöltésére és telepítésére. Futtassa a következő parancsot az Elasticsearch telepítéséhez:

Most már konfigurálhatja az Elasticsearch-öt. Az „elasticsearch.yml” fájl konfigurációs beállításokat tartalmaz a fürtökről, csomópontokról, útvonalakról, hálózatokról, memóriáról, átjáróról és egyebekről. A legtöbbjük előre konfigurálva van a fájlban. Ezután nyissa meg az Elasticsearch konfigurációs fájlját egy tetszőleges szövegszerkesztővel:

Az Elasticsearch bárhonnan a 9200-as porton hallgat. Javasoljuk, hogy korlátozza a külső hozzáférést az Elasticsearch-höz, hogy megakadályozza a kívülállókat az adatok olvasásában vagy az Elasticsearch fürtök leállításában a REST API-ján keresztül. Az Elasticsearch-höz való hozzáférés korlátozásához és a biztonság megerősítéséhez törölje a megjegyzést a következő sorból, és cserélje ki az értékét:

network.host: localhost

Ha az Elasticsearch-nek egy adott IP-címen kell hallgatnia, cserélje ki a „localhost” értéket a cél IP-címre. Ez a minimális konfigurációs követelmény az Elasticsearch futtatása előtt. Mentse és zárja be a konfigurációs fájlt. Ezután indítsa el az Elasticsearch szolgáltatást. Az Elasticsearch elindítása eltarthat néhány pillanatig:

Ezt követően gondoskodnia kell arról, hogy az Elasticsearch minden alkalommal elinduljon, amikor a szerver elindul:

A következő parancs ellenőrzi, hogy fut-e az Elasticsearch szolgáltatás. Mindössze egy HTTP-kérés elküldésére van szükség:

sending an HTTP request

A válasz valahogy így fog kinézni. Ez egy olyan válasz lesz, amely néhány alapvető információt mutat a helyi csomópontról.

A Kibana irányítópult telepítése és konfigurálása

A Kibana közvetlenül elérhető az Elastic tárolóból. Vegye figyelembe, hogy a Kibana-t csak azután szabad telepítenie, miután már telepítette az Elasticsearch szoftvert. Feltételezve, hogy a tároló már elérhető, az APT közvetlenül le tudja kérni és telepíteni tudja a Kibana-t:

A telepítés után engedélyezze és indítsa el a Kibana szolgáltatást:

Alapértelmezés szerint a Kibana úgy van konfigurálva, hogy csak a „localhost”-on hallgasson. A külső hozzáféréshez egy fordított proxy konfigurálása szükséges. Itt az Nginx lesz a fordított proxy. Használja az openssl parancsot egy adminisztrátori Kibana felhasználó létrehozásához. Ez lesz a felhasználói fiók a Kibana webes felületének eléréséhez. Itt a példa felhasználónév a „kibana_admin” lesz. A jobb biztonság érdekében javasoljuk egy nem szabványos felhasználónév használatát. A következő parancs létrehoz egy adminisztrátort a Kibana számára. A felhasználónév és a jelszó generálásra kerül, és a „htpasswd.users” fájlban lesz tárolva. Az Nginx-et úgy kell konfigurálni, hogy ezt a felhasználónevet és jelszót használja:

Adja meg és erősítse meg a jelszót a felszólításra. Ez a jelszó fontos lesz a Kibana felület eléréséhez. Ezt követően létre kell hoznia egy Nginx szerverblokk-fájlt. A bemutatóhoz ez az example.com lesz. Ez bármilyen más leíró név is lehet. Ha a szerverhez FQDN és DNS rekordok vannak konfigurálva, a fájl neve az FQDN után is elnevezhető:

Ha van már meglévő tartalom, távolítsa el azt, és cserélje ki a következő kódsorokkal:

Mentse el és zárja be a fájlt. Hozzon létre egy szimbolikus linket az új konfigurációhoz a „sites-enabled” könyvtárban. Ha már létezik azonos nevű link, akkor ez a lépés szükségtelen lehet:

A következő parancs arra kéri az Nginx-et, hogy ellenőrizze, van-e szintaktikai hiba:

Ha bármilyen szintaktikai probléma merül fel, ellenőrizze, hogy a fájl tartalma megfelelően lett-e elhelyezve. Ezután indítsa újra az Nginx szolgáltatást:

Utasítsa az UFW-t, hogy engedélyezze a kapcsolatot az Nginx-hez:

A Kibana mostantól elérhető az Elastic Stack szerver FQDN-jén vagy nyilvános IP-címén keresztül. Ellenőrizze a Kibana szerver állapotoldalát:

status page

A Logstash telepítése és konfigurálása

Bár a Beats közvetlenül is küldhet adatokat az Elasticsearch’s adatbázisába, az adatok feldolgozásához ajánlott a Logstash használata. A Logstash képes összegyűjteni az adatokat és közös formátumba konvertálni azokat, mielőtt egy másik adatbázisba exportálná. Futtassa a következő APT parancsot a Logstash telepítéséhez:

A telepítés befejeztével ideje konfigurálni a Logstash-t. A Logstash konfigurációs fájljai JSON formátumúak. Mindegyik megtalálható az „/etc/logstash/conf.d” könyvtárban. Hasznos úgy gondolni a Logstash-re, mint egy csővezetékre (pipeline), amely az egyik végén fogadja az adatokat, feldolgozza azokat, majd elküldi a célállomásra. Egy Logstash csővezetékhez két kötelező elem szükséges – input és output egy opcionális elemmel – filter. Az input beépülő modul fogadja az adatokat, a filter beépülő modul feldolgozza azokat, az output beépülő modul pedig kiírja az adatokat a célállomásra. A következő parancs létrehoz egy konfigurációs fájlt, amely beállítja a Logstash-t a Filebeat bemenethez (input):

Adja meg a következő input konfigurációt. Ez egy olyan beats bemenetet (input) ír le, amely az 5044-es porton fog figyelni TCP-n:

A következő lépés a „10-syslog-filter.conf” nevű konfigurációs fájl létrehozása. Ezt egy szűrő (filter) beállítására fogjuk használni a syslogs (rendszernaplók) számára:

Adja meg a következő syslog konfigurációs kódot. Ez a kód közvetlenül elérhető az Elastic útmutatóból. Ez a kód bemutatja az input konfigurációt a Logstash számára:

A következő konfigurációs fájl a kimenettel fog foglalkozni. Nyisson meg egy új fájlt „30-elasticsearch-output.conf” néven:

Írja be a következő kódot. Ez a kód bemutatja a Logstash kimeneti konfigurációját:

Tesztelje a Logstash konfigurációt. Ezután futtassa a következő parancsot:

Ha nincs hiba, a Logstash a következő sikeres üzenetet fogja kiírni. Ha nem volt sikeres, ellenőrizze, hogy minden konfigurációs fájl a megfelelő kódokat tartalmazza-e. Végül indítsa el és engedélyezze a Logstash szolgáltatást:

Most, hogy a Logstash sikeresen fut és teljesen be van konfigurálva, telepítsük a Filebeatet.

A Filebeat telepítése és konfigurálása

Az Elastic Stack adatküldőket, úgynevezett „Beats”-eket használ az adatok különböző forrásokból történő gyűjtésére és azok Logstash/Elasticsearch felé történő továbbítására. Íme egy rövid lista az Elastic elérhető Beats eszközeiről:

  • Filebeat: Naplófájlok gyűjtése/továbbítása.
  • Metricbeat: Metrikák gyűjtése/továbbítása rendszerekből és szolgáltatásokból.
  • Packetbeat: Hálózati adatok gyűjtése/elemzése.
  • Winlogbeat: Windows eseménynaplók gyűjtése.
  • Auditbeat: Linux audit keretrendszer adatainak gyűjtése és a fájlintegritás figyelése.
  • Heartbeat: Szolgáltatások elérhetőségének figyelése.

Ebben az útmutatóban a Filebeatre lesz szükségünk a helyi naplók Elastic Stackbe történő továbbításához. Először telepítse a Filebeatet:

Most már konfigurálhatja a Filebeat-et. Először is csatlakoznia kell a Logstash-hez. A Filebeat-hez mellékelt példakonfigurációt fogjuk használni. Nyissa meg a konfigurációs fájlt egy szövegszerkesztőben. Vegye figyelembe, hogy mivel a fájl YAML formátumú, a megfelelő behúzás fontos:

Keresse meg az „output.elasticsearch” szakaszt, és kommentelje ki a következő sorokat. Ez úgy konfigurálja a Filebeat-et, hogy az eseményeket közvetlenül az Elasticsearch/Logstash-nek küldje további feldolgozásra. Ezután ugorjon az „output.logstash” szakaszra. Ezután vegye ki a kommentet a következő sorok elől:

output.logstash

A Filebeat támogatja a modulokat, amelyek kiterjeszthetik a funkcionalitását. Ebben az útmutatóban a rendszermodult fogjuk használni, amely összegyűjti és elemzi a gyakori Linux disztribúciók rendszernaplózási szolgáltatása által generált naplókat. Engedélyezze a Filebeat rendszermodult:

A következő Filebeat parancs kilistázza az összes engedélyezett és letiltott modult:

Alapértelmezés szerint a Filebeat a syslog és az autorizációs naplók alapértelmezett útvonalait követi. A modulok paraméterei a „/etc/filebeat/modules.d/system.yml” konfigurációs fájlban érhetők el.

A következő lépés az indexsablon betöltése az Elasticsearch-be. Egy Elasticsearch index hasonló tulajdonságokkal rendelkező dokumentumok gyűjteményét jelöli. Minden indexhez tartozik egy név. A név szükséges a benne végzett különböző műveletek végrehajtásakor. Az indexsablon automatikusan alkalmazásra kerül minden alkalommal, amikor új index jön létre. Ezután töltse be a sablont:

A Filebeat alapértelmezés szerint tartalmaz egy minta irányítópultot a Kibana számára. Ez segít a Filebeat adatok vizualizálásában a Kibanában. Az irányítópult használata előtt azonban létre kell hozni az indexmintát, és be kell tölteni az irányítópultokat a Kibanába. Amíg az irányítópultok betöltődnek, a Filebeat kapcsolatba lép az Elasticsearch-csel a verzióinformációkért. Az irányítópultok betöltéséhez, ha a Logstash engedélyezve van, a Logstash kimenetet le kell tiltani, az Elasticsearch kimenetet pedig engedélyezni kell. A következő parancs elvégzi a feladatot:

Végül elindíthatja a Filebeat-et:

Most itt az ideje tesztelni az Elastic Stack konfigurációját. Ha megfelelően lett konfigurálva, a kimenet valahogy így fog kinézni:

Elastic Stack configuration

Ha a kimenet összesen 0 találatot jelez, az Elasticsearch nem tölt be naplókat a keresett index alatt. Ez azt jelzi, hogy hiba történt a konfigurációban. Ha a kimenet a vártnak megfelelő volt, akkor az Elastic Stack sikeresen be van konfigurálva.

Kibana irányítópultok áttekintése

Most itt az ideje felfedezni a már telepített Kibana webes felületet. Először nyissa meg a Kibana irányítópultot. Ennek az Elastic Stack szerver FQDN-jén vagy nyilvános IP-címén kell lennie:

Adja meg a korábban generált bejelentkezési adatokat. A bejelentkezés után az irányítópult így fog kinézni:

Elastic stack home

A bal oldali navigációs sávból válassza a „Discover” lehetőséget. Ezután válassza ki a „filebeat-*” mintát. Ez az elmúlt 15 percben összegyűjtött összes naplót mutatja. Lehetőség van a naplók keresésére és böngészésére, valamint az irányítópult testreszabására:

customize the dashboard

A bal oldali navigációs sávból lépjen a Dashboard >> Filebeat System menüpontra. Itt a Filebeat rendszermoduljának összes minta irányítópultja elérhető.

A következő példában a syslog üzenetek alapján részletez különböző statisztikákat:

Elastic Stack dashboard

Azt is képes jelenteni, hogy mely felhasználók hajtottak végre parancsokat a sudo segítségével:

executed commands

Végezetül a Kibana lehetőséget ad számos egyéb funkció, például a grafikonok és a szűrés felfedezésére, úgyhogy bátran kísérletezzen egyedül is.

Záró gondolatok

Az Elastic Stack egy hatékony megoldás a rendszernaplók elemzésére. Tartsa szem előtt, hogy bár bármilyen napló vagy indexelt adat elküldhető a Logstash-nek a Beats segítségével, az még hasznosabbá válik, ha a Logstash szűrőkön keresztül elemezzük és strukturáljuk.

Kellemes számítógépezést!

author

Hark Labs

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.