Logstash programoje Docker

Logstash Programoje Docker



Logstash yra atvirojo kodo duomenų apdorojimo dujotiekis, leidžiantis rinkti, apdoroti ir persiųsti žurnalo duomenis iš įvairių šaltinių.

Šiame vadove mes padėsime jums paleisti „Logstash“ „Docker“ konteineryje su pagrindine konfigūracija.

Reikalavimai:

Prieš pradėdami naudotis mokymo programa, įsitikinkite, kad turite:







  1. Pagrindiniame kompiuteryje įdiegtas „Docker“ (rekomenduojama 23 ir naujesnė versija)
  2. Įrenginyje įdiegta „Docker Compose“.

Įvykdę nurodytus reikalavimus, galime tęsti mokymo programą.



Nustatykite „Logstash“ konfigūracijos failą

„Logstash“ naudoja konfigūracijos failus, kad nustatytų, kaip duomenys gaunami, filtruojami ir siunčiami į išvestį. Yra įvairių parinkčių, kurias galite konfigūruoti, kaip galite nurodyti oficialiuose dokumentuose.



Mūsų pavyzdyje mes sutelkiame dėmesį į pagrindinę konfigūraciją, kuri įtraukia duomenis iš žurnalo failo, filtruoja juos atitinkantiems įrašams ir išveda duomenis į failą.





Sukurkite failą „logstash.conf“ ir pridėkite konfigūraciją taip:

input {
failas {
kelias => '/var/log/apache/access.log'

pradžios_pozicija => 'pradžia'

sincedb_path => '/dev/null'

ignore_older => 0
}
}

filtras {
jei [pranešimas] =~ 'KLAIDA' {
grok {
rungtynės => { 'žinutė' => „%{COMBINEDAPACHELOG}“ }
}
}
}

output {
failas {
kelias => '/var/log/apache/error_logs.log'
}
}

Ankstesnis failas apibrėžia konfigūraciją, kaip parodyta toliau:

  1. Įvesties skyrius – įvesties sekcija naudoja failo įvesties papildinį, kad nuskaitytų „Apache“ žurnalo failą, esantį /var/log/apache/access.log.
    • Tada pradžioje nustatome pradinę padėtį, kuri leidžia „Logstash“ skaityti visą failą nuo pat pradžių.
    • Sincedb_path – šis parametras leidžia išjungti Logstash sincedb stebėjimą, nustatant reikšmę /dev/null. Tai užtikrina, kad „Logstash“ visada skaito nuo failo pradžios.
    • Ignore_older – šio parametro reikšmės nustatymas į 0 leidžia „Logstash“ apdoroti visus žurnalo failo įrašus.
  2. Filtro skiltis – filtro skiltyje apibrėžiame filtro šabloną, kad patikrintume, ar žurnalo pranešime yra žodis ERROR. Galite koreguoti filtrų blokų sąlygas, kad būtų galima filtruoti tikslesnes atitiktis faile.
    • Jei sąlyga įvykdoma, naudojame grok filtrą, kad išanalizuoti Apache žurnalo eilutę, naudojant COMBINEDAPACHELOG šabloną, kuris yra įtaisytas Logstash šablonas, skirtas Apache žurnalams analizuoti.
  3. Išvesties skyrius – šioje skiltyje galime apibrėžti atitinkančių įrašų išvesties formatą.
    • Mūsų atveju mes įrašome juos į /var/log/apache/error_logs.log failą naudodami kelio parametrą.

Tai turėtų suteikti mums pagrindinę „Logstash“ konfigūraciją, kuri leis mums parodyti kai kuriuos pagrindinius „Logstash“ veiksmus.

Daugiau apie Logstash vamzdynų kūrimą ir konfigūravimą rasite toliau pateiktame dokumentacijos šaltinyje:

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

Sukurkite Docker failą

Apibrėžę „Logstash“ konfigūracijas, galime tęsti ir sužinoti, kaip paleisti konteinerį. Tame pačiame kataloge, kuriame yra „logstash.conf“ failas, sukurkite naują failą pavadinimu „Dockerfile“.

Redaguokite šį failą ir pridėkite įrašus taip:

IŠ docker.elastic.co/logstash/logstash:8.9.2

KOPIJUOTI logstash.conf /usr/share/logstash/pipeline/logstash.conf

Pateiktame pavyzdyje bazinį vaizdą apibrėžiame kaip oficialų „Logstash“ vaizdą, naudodami 8.9.2 versiją.

Tada nukopijuojame „logstash.conf“ failą, kurį sukūrėme, į /usr/share/logstash/pipeline/logstash.conf paveikslėlyje.

Sukurkite „Docker“ vaizdą

Tada eikite į katalogą, kuriame yra „Dockerfile“ ir „Logstash“ konfigūracijos failas. Norėdami sukurti vaizdą, paleiskite šią komandą:

$ dokerio konstrukcija -t custom-logstash-image .

Paleiskite „Logstash“ konteinerį

Dabar, kai sukūrėme „Docker“ vaizdą, galime paleisti „Logstash“ konteinerį naudodami „Docker“ komandą „paleisti“ taip:

$ dokininko bėgimas -d --vardas logstash-server custom-logstash-image

Tai turėtų paleisti „Logstash“ konteinerį naudojant vaizdą, kurį sukūrėme ankstesniame veiksme.

Patikrinkite „Logstash“ konteinerio žurnalus

Norėdami patikrinti, ar „Logstash“ veikia tinkamai, galite patikrinti konteinerio žurnalus naudodami šią komandą:

$ dokerių rąstų < konteinerio_pavadinimas >

Išvestis:

Išvada

Šiame vadove sužinojote, kaip greitai nustatyti „Logstash“ serverį, kuris veikia kaip „Docker“, naudojant pasirinktinį konfigūracijos failą. Rekomenduojame peržiūrėti vaizdo parametrų ir konfigūracijos parinkčių dokumentaciją.