Logstash u Dockeru

Logstash U Dockeru



Logstash je cjevovod za obradu podataka otvorenog koda koji vam omogućuje prikupljanje, obradu i prosljeđivanje podataka dnevnika iz različitih izvora.

U ovom vodiču vodit ćemo vas kroz proces pokretanja Logstasha u Docker spremniku s osnovnom konfiguracijom.

Zahtjevi:

Prije nego što počnemo s vodičem, provjerite imate li sljedeće:







  1. Instaliran Docker na vašem računalu (preporučuje se verzija 23 i novija)
  2. Instaliran Docker Compose na vašem računalu

Kada su zadani zahtjevi ispunjeni, možemo nastaviti s podukom.



Postavite Logstash konfiguracijsku datoteku

Logstash koristi konfiguracijske datoteke za definiranje načina na koji se podaci unose, filtriraju i šalju na izlaz. Postoji niz opcija koje možete konfigurirati prema službenoj dokumentaciji.



Za naš primjer, fokusiramo se na osnovnu konfiguraciju koja unosi podatke iz datoteke dnevnika, filtrira ih za podudarne zapise i šalje podatke u datoteku.





Napravite datoteku pod nazivom “logstash.conf” i dodajte konfiguraciju na sljedeći način:

unos {
datoteka {
put => '/var/log/apache/access.log'

početna_pozicija => 'početak'

budući da db_path => '/dev/null'

ignore_stariji => 0
}
}

filtar {
if [poruka] =~ 'GREŠKA' {
grok {
podudaranje => { 'poruka' => '%{COMBINEDAPACHELOG}' }
}
}
}

izlaz {
datoteka {
put => '/var/log/apache/error_logs.log'
}
}

Prethodna datoteka definira konfiguraciju kao što je prikazano u nastavku:

  1. Odjeljak za unos – Odjeljak za unos koristi dodatak za unos datoteke za čitanje Apache log datoteke koja se nalazi u /var/log/apache/access.log.
    • Zatim postavljamo početnu poziciju na početak što omogućuje Logstashu da pročita cijelu datoteku od početka.
    • Sincedb_path – Ovaj nam parametar omogućuje da onemogućimo Logstashovo Sincedb praćenje postavljanjem vrijednosti na /dev/null. Ovo osigurava da Logstash uvijek čita od početka datoteke.
    • Ignore_older – Postavljanje vrijednosti ovog parametra na 0 omogućuje Logstashu da obradi sve unose datoteke dnevnika.
  2. Odjeljak filtra – U odjeljku filtra definiramo uzorak filtra kako bismo provjerili sadrži li poruka dnevnika riječ GREŠKA. Možete prilagoditi uvjete za blokove filtera za filtriranje za preciznije podudaranje u datoteci.
    • Ako je uvjet ispunjen, koristimo filtar grok za raščlanjivanje retka Apache dnevnika pomoću uzorka COMBINEDAPACHELOG koji je ugrađeni uzorak u Logstashu za raščlanjivanje Apache dnevnika.
  3. Izlazni odjeljak – Ovaj nam odjeljak omogućuje definiranje izlaznog formata za podudarne unose.
    • U našem slučaju, zapisujemo ih u datoteku /var/log/apache/error_logs.log pomoću parametra staze.

To bi nam trebalo pružiti osnovnu konfiguraciju Logstasha koja nam omogućuje demonstraciju nekih osnovnih rada Logstasha.

Više informacija o stvaranju i konfiguriranju Logstash cjevovoda potražite u sljedećem izvoru dokumentacije:

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

Stvorite Dockerfile

Nakon što definiramo Logstash konfiguracije, možemo nastaviti i naučiti kako pokrenuti spremnik. Unutar istog direktorija u kojem se nalazi datoteka 'logstash.conf', stvorite novu datoteku pod nazivom 'Dockerfile'.

Uredite ovu datoteku i dodajte unose na sljedeći način:

OD docker.elastic.co/logstash/logstash:8.9.2

KOPIRAJ logstash.conf /usr/share/logstash/pipeline/logstash.conf

U navedenom primjeru osnovnu sliku definiramo kao službenu Logstash sliku koristeći verziju 8.9.2.

Zatim kopiramo datoteku “logstash.conf” koju smo stvorili u /usr/share/logstash/pipeline/logstash.conf na slici.

Izgradite Docker sliku

Zatim idite do direktorija koji sadrži Dockerfile i Logstash konfiguracijsku datoteku. Pokrenite sljedeću naredbu za izradu slike:

$ docker build -t prilagođena-logstash-slika.

Pokrenite Logstash spremnik

Sada kada smo izgradili Docker sliku, možemo pokrenuti Logstash spremnik koristeći Docker 'run' naredbu na sljedeći način:

$ docker run -d --Ime logstash-poslužitelj prilagođena-logstash-slika

Ovo bi trebalo pokrenuti Logstash kontejner koristeći sliku koju smo napravili u prethodnom koraku.

Provjerite zapise spremnika Logstash

Da biste provjerili radi li Logstash ispravno, možete provjeriti zapisnike spremnika pomoću sljedeće naredbe:

$ docker dnevnici < naziv_spremnika >

Izlaz:

Zaključak

U ovom ste vodiču naučili kako možete brzo postaviti Logstash poslužitelj koji radi kao Docker pomoću prilagođene konfiguracijske datoteke. Preporučamo da provjerite dokumentaciju o parametrima slike i mogućnostima konfiguracije.