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.
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,MeterProviderjaLoggerProvider, 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.
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
- OpenTelemetry-standardi
- OTel-kerääjät ja exporter-komponentit
- Sovellusten instrumentointi OTel SDK:illa
- Signaalit ja semanttiset käytännöt