Logstash a Dockerben

Logstash A Dockerben



A Logstash egy nyílt forráskódú adatfeldolgozási folyamat, amely lehetővé teszi a különböző forrásokból származó naplóadatok összegyűjtését, feldolgozását és továbbítását.

Ebben az oktatóanyagban végigvezetjük a Logstash futtatásának folyamatán egy Docker-tárolóban, alapkonfigurációval.

Követelmények:

Mielőtt elkezdené az oktatóanyagot, győződjön meg arról, hogy rendelkezik a következőkkel:







  1. Telepített Docker a gazdagépen (a 23-as és újabb verzió ajánlott)
  2. Telepítette a Docker Compose-t a gépére

Ha a megadott követelmények teljesülnek, folytathatjuk az oktatóanyagot.



Állítsa be a Logstash konfigurációs fájlt

A Logstash a konfigurációs fájlok segítségével határozza meg az adatok feldolgozásának, szűrésének és a kimenetre való elküldésének módját. Számos lehetőség van, amelyeket beállíthat, ahogyan a hivatalos dokumentációban is hivatkozhat.



Példánkban az alapkonfigurációra összpontosítunk, amely feldolgozza az adatokat egy naplófájlból, szűri azokat az egyező rekordok számára, és az adatokat egy fájlba adja ki.





Hozzon létre egy „logstash.conf” nevű fájlt, és adja hozzá a konfigurációt az alábbiak szerint:

input {
fájl {
útvonal => '/var/log/apache/access.log'

start_pozíció => 'kezdet'

sincedb_path => '/dev/null'

ignore_older => 0
}
}

szűrő {
ha [üzenet] =~ 'HIBA' {
grok {
mérkőzés => { 'üzenet' => '%{COMBINEDAPACHELOG}' }
}
}
}

Kimenet {
fájl {
útvonal => '/var/log/apache/error_logs.log'
}
}

Az előző fájl a következőképpen határozza meg a konfigurációt:

  1. Beviteli rész – A beviteli szakasz a fájlbeviteli beépülő modult használja a /var/log/apache/access.log könyvtárban található Apache naplófájl olvasásához.
    • Ezután beállítjuk a kezdő pozíciót az elején, amely lehetővé teszi a Logstash számára, hogy a teljes fájlt az elejétől kezdve beolvassa.
    • Sincedb_path – Ez a paraméter lehetővé teszi, hogy letiltsuk a Logstash sincedb követését a /dev/null érték beállításával. Ez biztosítja, hogy a Logstash mindig a fájl elejétől olvassa.
    • Ignore_older – Ha a paraméter értékét 0-ra állítja, a Logstash feldolgozza a naplófájl összes bejegyzését.
  2. Szűrő rész – A szűrőszakaszban meghatározzuk a szűrőmintát annak ellenőrzésére, hogy a naplóüzenet tartalmazza-e az ERROR szót. Módosíthatja a szűrőblokkok feltételeit, hogy pontosabb egyezéseket szűrhessen a fájlban.
    • Ha a feltétel teljesül, a grok szűrőt használjuk az Apache naplósor elemzéséhez a COMBINEDAPACHELOG mintával, amely a Logstash beépített mintája az Apache naplók elemzéséhez.
  3. Kimeneti szakasz – Ez a szakasz lehetővé teszi számunkra, hogy meghatározzuk a megfelelő bejegyzések kimeneti formátumát.
    • Esetünkben a /var/log/apache/error_logs.log fájlba írjuk őket a path paraméter segítségével.

Ez egy alapvető Logstash konfigurációt biztosít számunkra, amely lehetővé teszi néhány alapvető Logstash működés bemutatását.

Kérjük, tájékozódjon a Logstash folyamatok létrehozásáról és konfigurálásáról a következő dokumentációs forrásban:

https://www.elastic.co/guide/en/logstash/current/configuration.html

Hozd létre a Docker-fájlt

Miután meghatároztuk a Logstash konfigurációkat, folytathatjuk, és megtanulhatjuk, hogyan kell futtatni a tárolót. A „logstash.conf” fájllal azonos könyvtárban hozzon létre egy új fájlt „Dockerfile” néven.

Szerkessze ezt a fájlt, és adja hozzá a bejegyzéseket az alábbiak szerint:

A docker.elastic.co/logstash/logstash innen:8.9.2

MÁSOLJA: logstash.conf /usr/share/logstash/pipeline/logstash.conf

Az adott példában az alapképet a 8.9.2-es verziót használó hivatalos Logstash képként határozzuk meg.

Ezután másoljuk az általunk létrehozott „logstash.conf” fájlt a kép /usr/share/logstash/pipeline/logstash.conf fájljába.

A Docker Image létrehozása

Ezután lépjen a Dockerfile és Logstash konfigurációs fájlt tartalmazó könyvtárba. Futtassa a következő parancsot a kép elkészítéséhez:

$ dokkoló épít -t custom-logstash-image .

Futtassa a Logstash-tárolót

Most, hogy felépítettük a Docker-képet, futtathatunk egy Logstash-tárolót a Docker „run” paranccsal az alábbiak szerint:

$ dokkolófuttatás -d --név logstash-server custom-logstash-image

Ennek futtatnia kell a Logstash-tárolót az előző lépésben felépített lemezkép használatával.

Ellenőrizze a Logstash-tároló naplóit

A Logstash megfelelő működésének ellenőrzéséhez ellenőrizze a tárolónaplókat a következő paranccsal:

$ dokkolónaplók < tároló_neve >

Kimenet:

Következtetés

Ebben az oktatóanyagban megtanulta, hogyan állíthat be gyorsan egy Dockerként futó Logstash-kiszolgálót egyéni konfigurációs fájl használatával. Javasoljuk, hogy ellenőrizze a képparaméterekre és a konfigurációs lehetőségekre vonatkozó dokumentációt.