Logstash v Dockerju

Logstash V Dockerju



Logstash je odprtokodni cevovod za obdelavo podatkov, ki vam omogoča zbiranje, obdelavo in posredovanje dnevniških podatkov iz različnih virov.

V tej vadnici vas bomo vodili skozi postopek zagona Logstash v vsebniku Docker z osnovno konfiguracijo.

Zahteve:

Preden začnemo z vadnico, se prepričajte, da imate naslednje:







  1. Nameščen Docker na vašem gostiteljskem računalniku (priporočena je različica 23 in novejša)
  2. Nameščen Docker Compose na vašem računalniku

Ko so dane zahteve izpolnjene, lahko nadaljujemo z vadnico.



Nastavite konfiguracijsko datoteko Logstash

Logstash uporablja konfiguracijske datoteke, da določi, kako se podatki zaužijejo, filtrirajo in pošljejo na izhod. Obstajajo različne možnosti, ki jih lahko konfigurirate, kot si lahko ogledate v uradni dokumentaciji.



Za naš primer se osredotočamo na osnovno konfiguracijo, ki zaužije podatke iz dnevniške datoteke, jih filtrira za ujemajoče se zapise in izpiše podatke v datoteko.





Ustvarite datoteko z imenom “logstash.conf” in dodajte konfiguracijo, kot sledi:

vnos {
mapa {
pot => '/var/log/apache/access.log'

začetni_položaj => 'začetek'

odkardb_path => '/dev/null'

ignore_starejši => 0
}
}

filter {
if [sporočilo] =~ 'NAPAKA' {
grok {
ujemanje => { 'sporočilo' => '%{COMBINEDAPACHELOG}' }
}
}
}

izhod {
mapa {
pot => '/var/log/apache/error_logs.log'
}
}

Prejšnja datoteka definira konfiguracijo, kot je prikazano v nadaljevanju:

  1. Vnosni razdelek – vnosni razdelek uporablja vtičnik za vnos datoteke za branje dnevniške datoteke Apache, ki se nahaja v /var/log/apache/access.log.
    • Nato nastavimo začetni položaj na začetku, kar omogoča, da Logstash prebere celotno datoteko od začetka.
    • Sincedb_path – Ta parameter nam omogoča, da onemogočimo Logstashovo sledenje Sincedb z nastavitvijo vrednosti na /dev/null. To zagotavlja, da Logstash vedno bere od začetka datoteke.
    • Ignore_older – Če vrednost tega parametra nastavite na 0, lahko Logstash obdela vse vnose v dnevniški datoteki.
  2. Razdelek filtra – V razdelku filtra določimo vzorec filtra, da preverimo, ali sporočilo dnevnika vsebuje besedo NAPAKA. Prilagodite lahko pogoje za bloke filtrov za filtriranje za natančnejša ujemanja v datoteki.
    • Če je pogoj izpolnjen, uporabimo filter grok za razčlenitev vrstice dnevnika Apache z uporabo vzorca COMBINEDAPACHELOG, ki je vgrajen vzorec v Logstash za razčlenitev dnevnikov Apache.
  3. Izhodni razdelek – ta razdelek nam omogoča, da definiramo izhodni format za ujemajoče se vnose.
    • V našem primeru jih zapišemo v datoteko /var/log/apache/error_logs.log z uporabo parametra poti.

To bi nam moralo zagotoviti osnovno konfiguracijo Logstash, ki nam omogoča prikaz nekaterih osnovnih funkcij Logstash.

Več informacij o ustvarjanju in konfiguriranju cevovodov Logstash najdete v naslednjem viru dokumentacije:

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

Ustvarite datoteko Docker

Ko definiramo konfiguracije Logstash, lahko nadaljujemo in se naučimo, kako zagnati vsebnik. Znotraj istega imenika kot datoteka »logstash.conf« ustvarite novo datoteko z imenom »Dockerfile«.

Uredite to datoteko in dodajte vnose na naslednji način:

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

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

V danem primeru definiramo osnovno sliko kot uradno sliko Logstash z uporabo različice 8.9.2.

Nato kopiramo datoteko »logstash.conf«, ki smo jo ustvarili, v /usr/share/logstash/pipeline/logstash.conf na sliki.

Zgradite sliko Dockerja

Nato se pomaknite do imenika, ki vsebuje konfiguracijsko datoteko Dockerfile in Logstash. Za izgradnjo slike zaženite naslednji ukaz:

$ gradnjo dockerja -t meri-logstash-slika.

Zaženite vsebnik Logstash

Zdaj, ko smo zgradili sliko Docker, lahko zaženemo vsebnik Logstash z ukazom Docker »run«, kot sledi:

$ docker run -d --ime logstash-strežnik-logstash-slika po meri

To bi moralo zagnati vsebnik Logstash s sliko, ki smo jo zgradili v prejšnjem koraku.

Preverite dnevnike vsebnika Logstash

Če želite preveriti, ali Logstash deluje pravilno, lahko preverite dnevnike vsebnika z naslednjim ukazom:

$ docker dnevniki < ime_vsebnika >

Izhod:

Zaključek

V tej vadnici ste se naučili, kako lahko hitro nastavite strežnik Logstash, ki deluje kot Docker, z uporabo konfiguracijske datoteke po meri. Priporočamo, da preverite dokumentacijo o parametrih slike in možnostih konfiguracije.