Logstash programmā Docker

Logstash Programma Docker



Logstash ir atvērtā koda datu apstrādes konveijers, kas ļauj apkopot, apstrādāt un pārsūtīt žurnāla datus no dažādiem avotiem.

Šajā apmācībā mēs sniegsim jums norādījumus par Logstash palaišanu Docker konteinerā ar pamata konfigurāciju.

Prasības:

Pirms sākam izmantot apmācību, pārliecinieties, vai jums ir tālāk norādītā informācija.







  1. Instalēja Docker jūsu resursdatorā (ieteicama versija 23 un jaunāka versija)
  2. Jūsu datorā ir instalēts Docker Compose

Ja ir izpildītas norādītās prasības, mēs varam turpināt apmācību.



Iestatiet Logstash konfigurācijas failu

Logstash izmanto konfigurācijas failus, lai noteiktu, kā dati tiek uzņemti, filtrēti un nosūtīti uz izvadi. Ir dažādas iespējas, kuras varat konfigurēt, kā norādīts oficiālajā dokumentācijā.



Mūsu piemērā mēs koncentrējamies uz pamata konfigurāciju, kas uzņem datus no žurnālfaila, filtrē tos atbilstošiem ierakstiem un izvada datus failā.





Izveidojiet failu ar nosaukumu “logstash.conf” un pievienojiet konfigurāciju šādi:

ievade {
fails {
ceļš => '/var/log/apache/access.log'

sākuma_pozīcija => 'sākums'

sincedb_path => '/dev/null'

ignore_older => 0
}
}

filtrs {
ja [ziņa] =~ 'KĻŪDA' {
grok {
atbilst => { 'ziņa' => '%{COMBINEDAPACHELOG}' }
}
}
}

izeja {
fails {
ceļš => '/var/log/apache/error_logs.log'
}
}

Iepriekšējais fails nosaka konfigurāciju, kā parādīts tālāk.

  1. Ievades sadaļa — ievades sadaļa izmanto faila ievades spraudni, lai lasītu Apache žurnālfailu, kas atrodas mapē /var/log/apache/access.log.
    • Pēc tam mēs iestatījām sākuma pozīciju sākumā, kas ļauj Logstash lasīt visu failu no sākuma.
    • Sincedb_path — šis parametrs ļauj atspējot Logstash sincedb izsekošanu, iestatot vērtību uz /dev/null. Tas nodrošina, ka Logstash vienmēr lasa no faila sākuma.
    • Ignore_older — iestatot šī parametra vērtību uz 0, Logstash var apstrādāt visus žurnālfaila ierakstus.
  2. Filtra sadaļa — Filtra sadaļā mēs definējam filtra modeli, lai pārbaudītu, vai žurnāla ziņojumā ir vārds ERROR. Varat pielāgot filtru bloku nosacījumus, lai filtrētu precīzākas atbilstības failā.
    • Ja nosacījums ir izpildīts, mēs izmantojam grok filtru, lai parsētu Apache žurnāla līniju, izmantojot modeli COMBINEDAPACHELOG, kas ir iebūvēts logstash modelis, lai parsētu Apache žurnālus.
  3. Izvades sadaļa — šī sadaļa ļauj mums definēt atbilstošo ierakstu izvades formātu.
    • Mūsu gadījumā mēs tos ierakstām failā /var/log/apache/error_logs.log, izmantojot ceļa parametru.

Tam vajadzētu nodrošināt mūs ar pamata Logstash konfigurāciju, kas ļauj demonstrēt dažus Logstash pamatdarbus.

Lūdzu, skatiet vairāk par Logstash cauruļvadu izveidi un konfigurēšanu šajā sniegtajā dokumentācijas resursā:

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

Izveidojiet Dockerfile

Kad esam definējuši Logstash konfigurācijas, mēs varam turpināt un uzzināt, kā palaist konteineru. Tajā pašā direktorijā, kurā atrodas fails “logstash.conf”, izveidojiet jaunu failu ar nosaukumu “Dockerfile”.

Rediģējiet šo failu un pievienojiet ierakstus šādi:

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

KOPĒT logstash.conf /usr/share/logstash/pipeline/logstash.conf

Dotajā piemērā mēs definējam bāzes attēlu kā oficiālo Logstash attēlu, izmantojot versiju 8.9.2.

Pēc tam mēs kopējam izveidoto failu “logstash.conf” uz /usr/share/logstash/pipeline/logstash.conf attēlā.

Izveidojiet Docker attēlu

Pēc tam dodieties uz direktoriju, kurā ir Dockerfile un Logstash konfigurācijas fails. Lai izveidotu attēlu, izpildiet šo komandu:

$ dokera uzbūve -t custom-logstash-image .

Palaidiet Logstash konteineru

Tagad, kad esam izveidojuši Docker attēlu, mēs varam palaist Logstash konteineru, izmantojot Docker komandu “run” šādi:

$ dokera skrējiens -d -- vārds logstash-server custom-logstash-image

Tam vajadzētu palaist Logstash konteineru, izmantojot attēlu, ko izveidojām iepriekšējā darbībā.

Pārbaudiet Logstash konteineru žurnālus

Lai pārbaudītu, vai Logstash darbojas pareizi, varat pārbaudīt konteinera žurnālus, izmantojot šo komandu:

$ doku baļķi < konteinera_nosaukums >

Izvade:

Secinājums

Šajā apmācībā jūs uzzinājāt, kā ātri iestatīt Logstash serveri, kas darbojas kā Docker, izmantojot pielāgotu konfigurācijas failu. Mēs iesakām pārbaudīt dokumentāciju par attēla parametriem un konfigurācijas opcijām.