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:
- Nameščen Docker na vašem gostiteljskem računalniku (priporočena je različica 23 in novejša)
- 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:
- 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.
- 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.
- 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.2KOPIRAJ 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 meriTo 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.