Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry) · Oppitunti

Sovellusten instrumentointi OTel SDK:illa

Tutustukaa eri ohjelmointikielille tarkoitettuihin OpenTelemetry SDK:ihin. Ymmärtäkää, miten niitä käytetään lokien, metriikkojen ja tracejen tuottamiseen.

Oppitunti 3/411 vaihetta

Sovellusten instrumentointi OTel SDK:illa on ilmainen Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)-oppitunti CoddyKitissä. Tämä on oppitunti 3/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.

Mitä OTel SDK:t ovat?

OpenTelemetry SDK:t ovat kielikohtaisia kirjastoja, joiden avulla sovellukset voivat tuottaa ja viedä havainnointidataa. Niitä voi ajatella työkalupakkina, jonka avulla koodista tehdään havainnoitavaa.

Ne tarjoavat tarvittavat API:t (Application Programming Interfaces) lokien, metriikkojen ja jäljitysten keräämiseen suoraan sovelluksen suorituksen aikana.

OpenTelemetry SDK:iden rooli

SDK:t ovat keskeisiä, koska ne yhdistävät sovelluskoodin ja OpenTelemetry-standardin. Ne hoitavat seuraavat monimutkaiset tehtävät:

  • Datan kerääminen: Raakojen havainnointisignaalien, kuten metodikutsujen tai muuttujien arvojen, kerääminen.
  • Datan käsittely: Datan rikastaminen, suodattaminen ja niputtaminen.
  • Datan vienti: Käsitellyn datan lähettäminen havainnointitaustajärjestelmään, kuten Jaegeriin, Prometheukseen tai ELK-pinoon.

OpenTelemetry SDK:iden keskeiset komponentit

OpenTelemetry SDK sisältää yleensä useita yhdessä toimivia ydinkomponentteja:

  • Providerit: Esimerkiksi TracerProvider, MeterProvider ja LoggerProvider, jotka hallitsevat Tracereiden, Metereiden ja Loggereiden luomista.
  • Processorit/Readerit: Nämä määrittävät, miten kerättyä dataa (spanit, metriikat ja lokitietueet) käsitellään ennen sen lähettämistä exporterille.
  • Exporterit: Komponentit, jotka lähettävät käsitellyn datan ulkoiseen järjestelmään, kuten konsoliin tai etäpäätepisteeseen.

Jäljitys OTel SDK:iden avulla

Kun haluat jäljittää pyyntöjä järjestelmäsi läpi, OpenTelemetry SDK:t tarjoavat työkaluja spanien luomiseen ja hallintaan. Span edustaa yksittäistä operaatiota jäljityksen sisällä.

SDK tarjoaa Tracer-olion, jonka avulla voit käynnistää uusia spaneja, määrittää niille attribuutteja ja yhdistää ne isäntäspaneihin. Näin rakennat täydellisen jäljityksen pyynnön kulusta.

OTel-jäljityksen koodiesimerkki

Tässä on yksinkertainen Python-esimerkki, joka näyttää, miten OpenTelemetry alustetaan ja miten luodaan perusjäljitys sisäkkäisine spanineen. Käytämme ConsoleSpanExporter-exporteria spanien tulostamiseen konsoliin.

from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessor

# 1. Configure the TracerProvider
provider = TracerProvider()
processor = SimpleSpanProcessor(ConsoleSpanExporter())
provider.add_span_processor(processor)
trace.set_tracer_provider(provider)

# 2. Get a Tracer
tracer = trace.get_tracer(__name__)

# 3. Create a Span
with tracer.start_as_current_span("my-first-span"):
    print("Inside the span!")
    with tracer.start_as_current_span("child-span"):
        print("Inside the child span!")

print("Tracing example finished.")

Metriikat OTel SDK:iden avulla

OpenTelemetry SDK:iden avulla voit määrittää ja tallentaa erityyppisiä metriikkoja. Metriikat ovat ajan kuluessa kerättäviä numeerisia mittauksia, jotka ovat hyödyllisiä järjestelmän kunnon ja suorituskyvyn koostetussa tarkastelussa.

SDK:sta haetaan Meter-olio, jonka avulla voit luoda erityyppisiä instrumentteja, kuten Counters-laskureita arvojen kasvattamiseen tai Gauges-mittareita nykyisten arvojen seuraamiseen.

OTel-metriikoiden koodiesimerkki

Tässä Python-esimerkissä määritetään OpenTelemetry metriikoita varten ja käytetään Meter-oliota Counter-laskurin luomiseen ja päivittämiseen. ConsoleMetricExporter tulostaa kerätyt metriikat.

from opentelemetry import metrics
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.metrics.export import ConsoleMetricExporter, PeriodicExportingMetricReader

# 1. Configure the MeterProvider
reader = PeriodicExportingMetricReader(ConsoleMetricExporter())
provider = MeterProvider(metric_readers=[reader])
metrics.set_meter_provider(provider)

# 2. Get a Meter
meter = metrics.get_meter(__name__)

# 3. Create a Counter instrument
counter = meter.create_counter(
    "my_example_counter",
    description="Counts how many times something happens"
)

# 4. Record a measurement
counter.add(1, {"key": "value"})
counter.add(2, {"another_key": "another_value"})
print("Metrics example finished. May take a moment to export.")

Lokitus OTel SDK:iden avulla

OpenTelemetry SDK:t tarjoavat myös tavan lokien keräämiseen ja rikastamiseen. Perinteisessä lokituksessa keskitytään usein pelkkään tekstiin, kun taas OTel-lokit voivat olla rakenteisia ja yhdistettävissä jäljityksiin ja metriikkoihin.

SDK tarjoaa Logger-olion (tai integroituu olemassa oleviin lokituskehyksiin) Log Records-tietueiden luomista varten. Tietueet voidaan sitten käsitellä ja viedä jäljitysten ja metriikkojen rinnalla, mikä tarjoaa yhtenäisen kokonaiskuvan.

OTel-lokituksen koodiesimerkki

Tässä Python-esimerkissä näytetään, miten OpenTelemetry integroidaan Pythonin vakiomuotoiseen lokituskirjastoon. Vakiolokittimen kautta tuotetut lokit käsitellään ja viedään tämän jälkeen OTel:n avulla.

import logging
from opentelemetry._logs import set_logger_provider
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
from opentelemetry.sdk._logs.export import ConsoleLogExporter, SimpleLogRecordProcessor

# 1. Configure the LoggerProvider
provider = LoggerProvider()
processor = SimpleLogRecordProcessor(ConsoleLogExporter())
provider.add_log_record_processor(processor)
set_logger_provider(provider)

# 2. Get a Python standard logger
#    and attach the OTel handler
handler = LoggingHandler(logger_provider=provider)
logging.getLogger().addHandler(handler)
logging.getLogger().setLevel(logging.INFO)

# 3. Emit a log record
logging.info("This is an info log from OTel SDK!")
logging.warning("A warning occurred.")

print("Logging example finished.")

OTel SDK:t – pikatarkistus

OpenTelemetry SDK:t ovat välttämättömiä sovellusten instrumentointiin. Mikä seuraavista EI ole OpenTelemetry SDK:n tarjoama ydinkomponentti tai -toiminto?

Kertaus: OTel SDK:t

Olette oppineet, että OpenTelemetry SDK:t ovat sovellusten instrumentoinnin perusta eri ohjelmointikielillä.

  • Ne tarjoavat API:t jäljitysten, metriikkojen ja lokien tuottamiseen.
  • Ne käsittelevät tämän datan ja vievät sen valitsemaanne havainnointitaustajärjestelmään.
  • SDK:iden avulla varmistatte, että sovelluksen havainnointidata noudattaa OpenTelemetry-standardia, joten se on siirrettävissä eikä ole sidottu tiettyyn toimittajaan.

Seuraavaksi perehdytte tarkemmin sovellusten tehokkaaseen instrumentointiin.

Aloita maksutta

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 ”Sovellusten instrumentointi OTel SDK:illa” 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 “Sovellusten instrumentointi OTel SDK:illa”. 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 ”Sovellusten instrumentointi OTel SDK:illa”?

Tutustukaa eri ohjelmointikielille tarkoitettuihin OpenTelemetry SDK:ihin. Ymmärtäkää, miten niitä käytetään lokien, metriikkojen ja tracejen tuottamiseen. 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 3/4.

Kuinka kauan ”Sovellusten instrumentointi OTel SDK:illa”-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

  1. OpenTelemetry-standardi
  2. OTel-kerääjät ja exporter-komponentit
  3. Sovellusten instrumentointi OTel SDK:illa
  4. Signaalit ja semanttiset käytännöt
← Takaisin: Järjestelmän observability: lokitus, metriikat ja jäljitys (ELK + OpenTelemetry)