Logstash-suodattimet ja dataputket
Tutustukaa Logstashin edistyneeseen konfigurointiin, kuten ehtologiikkaan, useisiin dataputkiin ja mukautettuihin suodattimiin monimutkaisia datamuunnoksia varten.
Logstash-suodattimet ja dataputket on ilmainen Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-kurssilla on yhteensä 4 oppituntia.
Logstashin edistyneet ominaisuudet
Tervetuloa tutustumaan Logstashiin edistyneellä tasolla! Tähän mennessä olette oppineet siirtämään lokeja Logstashiin ja käyttämään perussuodattimia. Mutta mitä tapahtuu, kun data muuttuu monimutkaisemmaksi?
Tässä oppitunnissa tutustumme tehokkaisiin tekniikoihin, kuten ehtologiikkaan, useiden putkien hallintaan ja edistyneiden suodattimien hyödyntämiseen monimutkaisissa datamuunnoksissa. Näin voitte käsitellä todellisen maailman lokitukseen liittyviä haasteita.
Ehtologiikka: if-lause
Kaikki lokit eivät ole samanlaisia! Eri palveluista voi tulla erimuotoisia lokeja, tai haluatte ehkä käsitellä tapahtumia eri tavoin niiden sisällön perusteella.
Ehtologiikan avulla Logstash voi käyttää suodattimia tai tulosteita vain tiettyjen ehtojen täyttyessä. Tämä tehdään ohjelmointikielten tapaan if-lauseilla.
- Käyttäkää
if-lausetta kentän arvojen, tunnisteiden tai muiden tapahtuman ominaisuuksien tarkistamiseen. - Käyttäkää tiettyjä suodattimia tai toimintoja vain täsmääviin tapahtumiin.
Ehtologiikka käytännössä
Katsotaan yksinkertaista esimerkkiä. Tarkistamme if-lauseella, onko type-niminen kenttä olemassa ja onko sillä tietty arvo. Jos näin on, lisäämme tunnisteen.
Kokeilkaa syöttää ensin {"message": "Hello", "type": "app_log"} ja sitten {"message": "World"} nähdäksenne eron.
input {
stdin {
codec => json
}
}
filter {
if [type] == "app_log" {
mutate {
add_tag => ["processed_app_log"]
}
}
}
output {
stdout {
codec => rubydebug
}
}if-lauseen tuolle puolen: Else ja Else If
Ohjelmoinnin tapaan ehtologiikkaa voi laajentaa else if- ja else-lohkoilla. Näin voitte muodostaa monimutkaisempia haaroja ja varmistaa, että jokainen tapahtuma käsitellään asianmukaisesti.
Logstash suorittaa ehdot järjestyksessä. Ensimmäisen täsmäävän ehdon lohko suoritetaan, minkä jälkeen käsittely jatkuu.
if [field] == "value": Suoritetaan, jos ehto on tosi.else if [another_field] == "another_value": Suoritetaan, jos ensimmäinenif-ehto oli epätosi ja tämä ehto on tosi.else: Suoritetaan, jos mikään edeltävistäif- taielse if-ehdoista ei ollut tosi.
Useita putkia: miksi erottaa ne?
Järjestelmän kasvaessa saatatte kerätä lokeja monista eri lähteistä (esimerkiksi verkkopalvelimista, tietokannoista ja tietoturvalaitteista). Kukin lähde voi vaatia täysin erilaista käsittelylogiikkaa.
Useiden putkien avulla voitte eristää ja hallita näitä erilaisia käsittelyvirtoja toisistaan riippumatta. Yhden suuren ja monimutkaisen Logstash-määrityksen sijaan voitte käyttää useita pienempiä ja kohdennettuja määrityksiä.
- Eristys: Yhden putken virheet eivät vaikuta muihin.
- Resurssien hallinta: Voitte määrittää eri putkille omat resurssinsa.
- Modulaarisuus: Määrityksiä on helpompi kehittää, testata ja ylläpitää.
Useiden putkien määrittäminen
Käyttääksenne useita putkia määrittäkää ne tiedostossa nimeltä pipelines.yml, joka sijaitsee yleensä Logstashin määrityshakemistossa (esimerkiksi /etc/logstash/pipelines.yml).
Kukin merkintä määrittää yksilöllisen tunnuksen, polun määritystiedostoon (.conf) sekä valinnaisia asetuksia, kuten työntekijäsäikeiden määrän.
Esimerkki tiedostosta pipelines.yml:
- pipeline.id: web_logs
path.config: "/etc/logstash/conf.d/web-pipeline.conf"
- pipeline.id: db_logs
path.config: "/etc/logstash/conf.d/db-pipeline.conf"Syväsukellus: Ruby-suodatin
Joskus Logstashin sisäänrakennetut suodattimet eivät riitä hyvin tarkkoihin tai monimutkaisiin datamuunnoksiin. Tällöin avuksi tulee ruby-suodatin!
ruby-suodattimella voitte suorittaa mielivaltaista Ruby-koodia Logstash-putkessa. Tämä tarjoaa valtavan joustavuuden tapahtumien käsittelyyn tavoilla, jotka eivät ole mahdollisia vakiomuotoisilla suodattimilla.
- Käyttötarkoituksia: Monimutkaiset merkkijonokäsittelyt, matemaattiset operaatiot, mukautetut haut tai useista kentistä riippuva logiikka.
- Huomio: Voi heikentää suorituskykyä, jos sitä ei käytetä huolellisesti.
Ruby-suodattimen esimerkki
Käytetään ruby-suodatinta uuden kentän luomiseen yhdistämällä olemassa olevien kenttien osia ja laskemalla arvo.
Kokeilkaa syöttää: {"user_id": "123", "item_count": 5, "price_per_item": 10.5}
input {
stdin {
codec => json
}
}
filter {
ruby {
code => "
event.set('total_cost', event.get('item_count').to_f * event.get('price_per_item').to_f)
event.set('user_item_summary', 'User ' + event.get('user_id') + ' bought ' + event.get('item_count').to_s + ' items.')
"
}
}
output {
stdout {
codec => rubydebug
}
}Edistyneet Mutate-toiminnot
mutate-suodatin soveltuu perusmuotoisiin kenttien käsittelyihin, mutta se sisältää myös erittäin hyödyllisiä edistyneitä toimintoja:
split: Jakaa merkkijonokentän taulukoksi erottimen perusteella.join: Yhdistää taulukkokentän merkkijonoksi määritettyä erotinta käyttäen.convert: Muuttaa kentän tietotyypin (esimerkiksi merkkijonosta kokonaisluvuksi tai liukuluvusta merkkijonoksi).rename: Muuttaa olemassa olevan kentän nimen.
Näiden toimintojen avulla voitte muotoilla datan täsmällisesti tallennusta ja analysointia varten.
Tietovisa: Logstashin logiikka
Mitkä seuraavista ovat päteviä syitä käyttää useita Logstash-putkia?
Kertaus: Logstashin edistynyt määritys
Hienoa työtä! Olette kehittäneet Logstash-taitojanne. Käsittelimme seuraavat aiheet:
- Miten ehtologiikka (
if,else if,else) mahdollistaa tapahtumien dynaamisen käsittelyn. - Useiden putkien edut ja määritys modulaarisia ja eristettyjä datavirtoja varten.
- Tehokkaan
ruby-suodattimen hyödyntäminen erittäin mukautetuissa datamuunnoksissa. mutate-suodattimen edistyneet toiminnot, kutensplit,joinjaconvert.
Nämä tekniikat ovat olennaisia, kun rakennetaan vankkoja ja mukautuvia Logstash-määrityksiä monimutkaista ja todellisen maailman dataa varten.
Opi Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry) tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Logstash-suodattimet ja dataputket” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppimispolun 3 oppituntia, myös oppitunnin “Logstash-suodattimet ja dataputket”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Logstash-suodattimet ja dataputket”?
Tutustukaa Logstashin edistyneeseen konfigurointiin, kuten ehtologiikkaan, useisiin dataputkiin ja mukautettuihin suodattimiin monimutkaisia datamuunnoksia varten. Harjoittelet Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Logstash-suodattimet ja dataputket”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppitunnilla?
Kyllä. Jokainen Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Elasticsearch Query Language (DSL)
- Logstash-suodattimet ja dataputket
- Kibana Discover ja Lens
- Index Lifecycle Management (ILM)