paint-brush
¿Kunas OpenTelemetry ukat Kunjamas Backend ukan calidad ukar askinchaspa? ukata@ymatigoosa
39,155 ullart’awinaka
39,155 ullart’awinaka

¿Kunas OpenTelemetry ukat Kunjamas Backend ukan calidad ukar askinchaspa?

ukata Dmitrii Pakhomov8m2024/06/19
Read on Terminal Reader
Read this story w/o Javascript

Sinti jaya pachanakawa; Uñxatt’añataki

OpenTelemetry ukax mä ch’aman herramientas ukawa, jichha pacha sistemas de backend ukanakar uñjañataki ukhamarak jan walt’ayañataki. Ukax rastreo, registro ukat métricas apthapiñ mayacht’atawa, ukax mä mayacht’at uñjawiw aplicación ukan lurawipata ukhamarak atiniskañapataki. Aka guia ukaxa sarnaqäwipata, jach’a amuyunakapata, ukhamaraki phuqhawipata uñakipi, ukaxa microservicios ukatxa sistemas distribuidos ukanaka suma uñjañatakixa wali wakiskiriwa.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - ¿Kunas OpenTelemetry ukat Kunjamas Backend ukan calidad ukar askinchaspa?
Dmitrii Pakhomov HackerNoon profile picture
0-item

Nayra pachanx kunapachatix backend tuqit aruskipt’apkta ukhax mä jach’a aplicación ukaruw uñt’apxirïta, mä sapa, jach’a base de datos ukampi, ukatx registro ukax uñjañatakix wakisiwa. Jichhax Kubernetes ukham tecnologías ukanakar yuspajarasawa, microservicios ukanakax estándar ukar tukuwayxi. Aplicaciones ukax juk’amp waljawa ukatx jaljatarakiwa, ukatx nayra registro ukax janiw wakiskiti depuración ukat jan walt’awinak jiwasan aplicaciones ukan uñt’ayañataki.

Mä suma askichawix uñjañ wakicht’añatakix OpenTelemetry — jichha pacha herramientas ukawa, ukax sistemas distribuidos ukan depuración ukat rendimiento uñakipañatakiw apnaqasispa.


Aka qillqatax IT ukan irnaqirinakatakiw wakicht’ata, jupanakax yatiñanakapx backend optimización ukan jilxatayañ munapxi. Aka amparamp qillqt’ataxa, OpenTelemetry ukax kunas, jach’a amuyunaka, ukat kuna jan walt’awinaks askichañ yanapt’i ukanakx juk’amp qhanañcht’añäni. Kunjams OpenTelemetry ukax sistemas de backend ukar uñjañatakis ukat depuración ukar uñakipañatakis mayjt’ayaspa uk yatxatañ munsta ukhax, jupanakan atiniskañapataki ukhamarak suma irnaqañapataki — uñakipt’añamawa.


OpenTelemetry ukan mä jisk’a sarnaqäwipa

Jach’a empresas tecnológicas ukanakax nayrïr kutiw 2000 mara tukuyanx quqanak khuchhuñamp rastreo distribuido ukanakamp jan walt’äwimp uñjasipxäna. 2010 maranx Google ukanx mä qillqat uñt’ayawayi, Dapper, mä Infraestructura de Rastreo de Sistemas Distribuidos de Jach’a Escala , ukax Twitter ukan herramienta de rastreo, Zipkin, 2012 maran uñt’ayat ukar uñt’ayawayi.


2014 maranx Kubernetes ukax uñstawayiwa, microservicios ukat yaqha sistemas cloud-distribuidos ukanakan lurañax wali ch’amanchatawa. Ukax walja empresanakaruw microservicios ukan registro distribuido ukat rastreo ukanakamp jan walt’awinakar puriyatayna. Rastreo distribuido ukar estandarización lurañatakix OpenTracing ukan estándar ukaw lurasiwayi, ukax CNCF ukan apsutawa, ukatx Google ukan OpenCensus uka proyecto ukaw lurasiwayi.


2019 maranx OpenTracing ukat OpenCensus uka amtanakax OpenTelemetry sutimp mayachasiñ yatiyapxäna. Aka plataformax walja maranakan tantacht’at aski lurawinakampiw mayacht’asi, ukax jan kuna ch’axwawinakampiw trazamiento, registro ukat métricas ukanak kuna sistema ukar mayacht’asiñapatak jaytawayi, kunayman complejidad ukanakas utjkchispas ukhama.


Jichhürunakanx OpenTelemetry ukax janiw mä proyecto ukhamakiti; ukax mä estándar de la industria ukawa, telemetría ukan yatiyawinakap apthapiñatakisa ukat yatiyañataki. Ukax mä comunidad de especialistas ukat mercado ukan nayrïr empresanakan Google ukat Microsoft ukanakamp luratawa ukat yanapt’ata. Proyecto ukax jilxattaskakiwa, machaq ch’amanchawinak jikxatañataki, ukhamat mayacht’asiñ ukhamarak apnaqañ thakhix jan ch’amäñapataki.


¿Kunas Manqhan utji?

OpenTelemetry ukax mä jach’a lurawinakawa ukat herramientas ukanakaw qhanañchi, kuna señales ukanakas mä aplicación ukan lurasispa anqäx pachamp chikt’atäñataki, ukat kunjams uka señales ukanakax apthapitaspa ukat uñacht’ayasispa, ukhamat aplicaciones ukan estado ukat sistema ukar taqpach uñjañataki. Kimsa jach’a kasta chimpunakax akanakawa: trazamiento, registro , ukat métricas apthapiwi .


**Sapa componente ukanakat juk’amp uñakipt’añäni: \

Contextos ukanaka

OpenTelemetry ukax contextos de operación uka amuyunaka uñt’ayi. Mä contexto ukax nayraqatax atributos ukanakaruw uñt’ayi, kunjamatix `trace_id` (jichha irnaqawitak uñt’ayir) ukat `span_id` (mä jisk’a mayiwitak uñt’ayiriwa, sapa mayamp yant’awix mä jisk’a mayiwix mä sapa `span_id` ukaniwa ).


Ukhamaraki, mä contexto ukax yatiyawinak estático ukampiw utjaspa, kunjamatix nodo sutix kawkhantix aplicación ukax uñstayatäki jan ukax medio ambiente suti (prod/qa). Aka yapunakax OpenTelemetry terminología ukan recursos ukham uñt’atawa, sapa registro, métrica jan ukax traza ukar uñt’ayatawa, ukhamat jank’ak thaqhañataki. Contextos ukax datos dinámicos ukanakamp chikancht’asirakirakispawa, kunjamatix jichha tukuyäw uñt’ayir ( `http_path: "GET /user/:id/info"` ), ukax ajlliñ tuqitx registros, métricas jan ukax rastros ukan tamanakaruw uñt’ayasispa.


OpenTelemetry ukax kunayman apnaqawinak taypinx protocolos de propagación de contextos ukampiw pasasispa. Aka protocolos ukax p’iqinchaw utt’ayatawa ukax sapa HTTP jan ukax gRPC mayiwiruw yapxatasi jan ukax p’iqinchaw yatiyawinak filanakataki. Ukax alaya apnaqirinakarux uka p’iqinchawinakatx contexto de operación ukar wasitat lurañapatakiw jayti.


Akax mä qawqha uñacht’awinakawa contexto propagación tuqita:

  1. B3-Propagación Akax mä p’iqinchaw ( x-b3-* ) qalltanx sistema de rastreo Zipkin ukatakiw lurasiwayi. OpenTracing ukar uñt’ayatawa ukatx walja herramientas ukat bibliotecas ukanakan apnaqatawa. B3-Propagación ukax trace_id / span_id ukat mä bandera uñacht’ayi, muestreo ukax wakisispati janicha.


  2. W3C Trace Context W3C irnaqir tamanakan luratawa, aka kamachix kunayman contexto propagación uñakipañanak mä sapa norma ukar mayacht’i ukatx OpenTelemetry ukanx default ukhamawa. Mä suma uñacht’awixa aka normas ukanaka apnaqañatakixa mä mayiwi phuqhawipa arknaqañawa microservicios ukanakampi phuqhata kunaymana tecnologías ukanakampi janïra uñjañataki ukhamaraki depuración chiqaparu uñjañataki.

Ukax mä juk’a pachanakanwa

Trazamiento ukaxa mä mayiwi thakhi walja microservicios ukanakampi qillqt’aña ukatxa qhiparuxa uñacht’ayañawa.


[uñt’ayawi: https://opentelemetry.io/docs/demo/pantalla uñacht’awinaka/].


Uñacht’ayawipanx sapa barrax "span" satawa ukatx mä sapa "span_id" ukaniwa. Saphi span ukax "trace" satawa ukatx "trace_id" ukampiw uñt'ayasi, ukax taqpach mayiwitak uñt'ayirjamawa.


Aka kasta uñacht’ayawixa akhamawa:

  • Kunayman sistemas ukat bases de datos ukanakan mayiwinakan phuqhañ pachap uñakipaña, ukhamat cuellos de botella ukanakax optimización ukax wakisi uk uñt’añataki.
  • Servicios ukanaka taypina dependencias cíclicas ukanaka uñt’aña.
  • Duplicado mayiwinak jikxataña. Datos de rastreo ukampixa, yaqha análisis ukanaka lurañawa, kunjamatixa mä mapa microservicios ukanaka luraña jan ukaxa pacha jaljaña kunaymana sistemas ukanakaru operación proceso uka pachana. Janis rastreo datos ukax tiempos uñacht’ayañatakix apnaqkchixa, OpenTelemetry ukax trace_id ukat span_id yaqha señales ukan apnaqañatakix luraski.


Logs ukanaka

Ukham jan chʼamäkaspas ukhamäkchisa, quqanak apthapiñax jan waltʼäwinak uñtʼañatakix wali chʼamaniwa. OpenTelemetry ukax nayra qillqt’awinak jach’anchayi, contextual yatiyawinak yapxatasa. Ukhamarus, mä activo rastro ukaw utji, `trace_id` ukat `span_id` atributos ukax automáticamente registros ukar yapxatatawa, ukax trace tiempo lineal ukar uñt’ayatawa. Ukhamarus, atributos de registro ukax OpenTelemetry contexto ukan yatiyawinak estáticos ukanakamp chikancht’asispawa, kunjamatix nodo uñt’ayir, ukhamarak dinámico yatiyawi, kunjamatix jichha HTTP tukuyañ uñt’ayir (`http_path: "GET /user/:id"`).


`trace_id` apnaqasa, taqi microservicios ukanakat registros ukanakaw jikxatasi, jichha mayiwimp chikt’ata, ukampirus `span_id` ukax jisk’a mayiwinak mayjt’ayañatakiw jayti. Amuyt’añataki, wasitat yant’awinakanxa, kunayman yant’awinakat qillqatanakax mayj mayj `span_id`s ukaniwa. Aka identificadores apnaqañax taqpach sisteman sarnaqawip chiqpachan jank’ak uñakipañ yanapt’i, jan walt’awinak jank’ak uñt’ayañataki ukhamarak estabilidad ukat confiabilidad ukar ch’amanchañataki.


Métricas ukaxa mä juk’a pachanakwa lurasi

Métricas apthapiwix sistema ukan lurawipatx datos cuantitativos ukanakaw utji, kunjamatix latencia, tasas de error, recursos ukan apnaqawipa, ukat juk’ampinaka. Chiqpach pacha uñakipaña métricas ukaxa jank’aki jaysaña lurawi mayjt’awinaka, jani pantjasiwi ukhamaraki yänaka tukusiña, ukhamaraki jach’a utjawi ukhamaraki chiqapa apnaqawi apnaqirinakatakixa.


Prometheus ukhamarak Grafana ukham sistemas de almacenamiento métrico ukat visualización ukanakamp mayachasiñax aka yatiyawinak uñjañax juk’amp jasakiw lurasi, ukax uñjañax wali ch’amanchatawa.


[jamuqa: https://grafana.com/blog/2021/06/22/grafana-dashboard-uñacht’ayaña-visualizaciones-para-prometheus-utan-energía-uso-github-ukat-juk’ampi/].


Métrico Apthapirinaka

OpenTelemetry métrica apthapirinakax Prometheus ukat OpenMetrics ukan kamachinakaparjamaw phuqhapxi, ukax OpenTelemetry ukan askichawinakaparux jan jach’a mayjt’äwinakampiw jasak mayjt’ayañ yanapt’i. OpenTelemetry SDK ukax trace_id uñacht’awinakx métricas ukanakamp chikaw apsuñapatak jaytawayi, ukhamat métricas ukanakax registro uñacht’awinakamp ukhamarak traces ukanakamp chikancht’asiñapa.


Correlación de Señales ukaxa mä juk’a pachanakwa lurasi

Mayacht’asisaw registros, métricas ukat tracing ukax sistema ukan estado ukan mä jach’a uñakipäw lurapxi:

  • Registros ukax sistema ukan lurawinakat yatiyawinak churaraki, jank’ak uñt’ayañataki ukhamarak pantjasiwinak askichañataki.
  • Métricas ukax sistema ukan indicadores de rendimiento cualitativo ukat cuantitativo ukanakaw uñacht’ayasi, kunjamatix tiempos de respuesta jan ukax tasas de error ukanaka.
  • Trazamiento ukax aka uñjäw phuqhacharaki, kunayman componentes de sistema tuqi mayiwi phuqhañ thakhi uñacht’ayasa, jupanakan maynit maynikam mayacht’asiwip amuyañatakiw yanapt’i. Qhana correlación registros, rastros ukat métricas ukanakax OpenTelemetry ukan mayj mayjawa. Amuyt’añataki, Grafana ukax apnaqirinakarux mä registro uñakipañkamax rastro ukat mayiwinak métricas ukar uñjañapatakiw jayti, ukax plataforman apnaqañapataki ukhamarak suma apnaqañapatakix wali jach’anchatawa.



[uñt’ayawi: https://grafana.com/blog/2020/03/31/kunjamas-mä-suma-correlacionar-métricas-registros-y-trazas-en-grafana/].


Kimsa jach’a chiqanakat sipansa, OpenTelemetry ukax Muestreo, Equipaje ukat operación contexto gestión uka amuyunakaruw uñt’ayi.


Muestreo ukaxa mä juk’a pachanakwa lurasi

Sistemas de alta carga ukanxa, volúmenes de registros ukatxa rastro ukaxa wali jach’awa, ukaxa infraestructura ukatxa datos ukanaka imañatakixa walja recursos ukanakawa munasiraki. Uka jan walt’äw askichañatakix OpenTelemetry ukan kamachinakapax señal muestreo ukamp chikancht’atawa — mä chikat rastronaka ukat registros ukanakak apsuñ yatiña. Amuyt’añataki, sapa patakatx mä sapa mayni mayiwinakat, jaya pacha mayiwinakat jan ukax pantjasiw mayiwinakatx detallada señales ukanakax apsusispaw. Aka amtawix walja muestreo ukarux estadísticas uñstayañatakiw jayti, ukampirus jach’a yänak qhispiyañataki.


Ukampirus sapa sistemax sapa mayniw kawkir mayiwinakas sum uñjañapa uk amtaspa ukhax sapa mayni mayiwinakat mä t’aqa t’aqa uñjawimpiw tukuytanxa. Yaqhip sistemas ukax datos detallados ukanak apsuñapawa yaqhipanakax mä juk’akiw exportación jan ukax jan exportación ukanak apsusipxaspa.


Aka jan walt’äw askichañatakix OpenTelemetry ukax contexto propagación mecanismos ukax mä muestreo bandera `trace_id`/`span_id` ukamp chikaw apayani. Ukaxa uñjiwa qallta servicio ukaxa apnaqiri mayiwi katuqañatakixa amtiwa mayiwixa suma uñjatäñapawa, taqi yaqha sistemas ukanakaxa arktapxani. Jan ukhamäkanixa, taqi sistemas ukanakax mä chikat jan ukax jan señales ukanakaw exportación ukar apsuñapa, recursos ukanakar jark’aqañataki. Aka amtawix "P'iqi Muestreo" satawa — mä amtawix mayiwinak lurañ qalltawin luratawa, aleatoriamente jan ukax yaqhip atributos de entrada ukarjam luratawa.


Ukhamarus, OpenTelemetry ukax "Tail Sampling" ukaruw yanapt'i, kawkhantix taqi aplicaciones ukanakax sapa kutiw taqi señales ukanakax detalles ukar apkatapxi, ukampis mä buffer intermedio ukaw utji. Taqi yatiyawinak apthapiñ tukuyasaxa, aka buffer ukaxa amtiwa taqpacha yatiyawinakxa imaña jani ukaxa mä chikata muestra ukaki imaña. Aka lurawix sapa mayiw jamuqan juk’amp representativa uñacht’äwip (exitoso/jaya/pantjasiw) ukampis yaqha infraestructura ukan utt’ayañapawa.


Equipaje ukat juk’ampinaka

Mecanismo de Equipaje ukaxa arbitrariu pares clave-valor ukanakaxa trace_id / span_id ukampiwa apayataraki, ukaxa taqi microservicios ukanaka taypina mayiwi lurawi taypina automáticamente pasañapawa. Akax wali askiwa yaqha yatiyawinak mayiwi thakhin wakiskir uñt’ayañataki —kunjamakitix apnaqirin yatiyawipa jan ukax apnaqañ pachan utt’ayata.

Uñacht’awi mä p’iqinchawi equipaje apañataki W3C kamachirjama: tracestate: rojo=00f067aa0ba902b7,congo=t61rcWkgMzE,userId=1c30032v5

Akax mä qawqha uñacht’awinakawa Equipaje apnaqañ tuqita:

  • Contexto de Negocios ukan yatiyawipa pasañapataki kunjamatix userId , productId , jan ukax deviceId taqi microservicios ukan pasañapawa. Aplicaciones ukax automáticamente uka yatiyawinak qillqt’apxaspawa, ukax registro ukan thakhinak uñakipañ contexto de usuario ukarjam nayrïr mayiwitak jaysañataki.

  • Parámetros específicos de Configuración SDKs jan ukax infraestructura ukanakataki wakicht’awinaka.

  • Banderas de ruteo Banderas ukanakax balanceadores de carga ukanakar ruteo amtanakar puriñ yanapt’i. Yant’awinak lurañ pachanx yaqhip mayiwinakax mock backends ukar thakhinchañaw wakisispa. Kunjamakitix equipaje ukax taqi servicios tuqiw automáticamente apayasi, janiw yaqha protocolos ukanakax lurañax wakiskiti —mä kamachi equilibrador de carga ukan utt’ayañakiw wakisi.


Qhanacht’añatakix Equipaje ukan rendimiento ukan impactopax juk’akiw utji, sinti apnaqañax red ukat carga de servicio ukarux wali jach’aruw jilxatayaspa. Suma ajlliñamawa kawkiri datos ukanakas chiqpachapuni Equipaje tuqi pasañapa, ukhamata jani lurawi tuqita jan walt’awinaka utjañapataki.

Infraestructura ukanaka phuqhaña

OpenTelemetry ukax nivel de infraestructura ukan phuqhañax OpenTelemetry ukan qhipäxanakap arquitectura de aplicaciones ukar mayachthapiñawa ukatx infraestructura ukar datos ukar tantacht’añatak wakicht’añawa.


Uka lurawixa pusi lurawinakaniwa: 1.1.


  1. Aplicaciones ukan mayacht’asiwipa Nayrïr t’aqapanx OpenTelemetry SDKs ukax chiqak apnaqawimp mayachatawa, métricas, registros ukat rastros ukanakar apthapiñataki, ukhamat sapa componente de sistema ukan lurawipat yatiyawinak sarantañapataki.


  2. Exportadores ukanaka wakicht’aña Apthapita yatiyawixa aplikacionanakatxa exportadores ukanaka tuqi anqäxa sistemas ukanakaru juk’ampi lurañataki, kunjamatixa registro, monitoreo, traza, jan ukaxa sistemas de análisis, ukaxa munataparjamawa.


  3. Agregación ukatxa Almacenamiento Aka etapa ukaxa normalización de datos ukampi, yaqha yatiyawinakampi qamiriptayañampi, ukhamaraki kunaymana fuentes ukanakata datos ukanakampi mayachaña ukhamata sistema ukana estado ukana mä mayachata uñjawi lurañataki.


  4. Datos Visualización Tukuyañatakix, datos procesados ukanakax tablones de instrumentos ukham uñacht’ayatawa sistemas ukanakan Grafana (métricas ukat rastros ukanakataki) jan ukax Kibana (registros ukanakataki). Ukax equipos ukanakarux jank’akiw sistema ukan k’umaräñapatak uñakipañapatak yanapt’i, jan walt’awinak ukhamarak tendencias ukanakat uñt’ayañataki, ukatx alertas ukanakax señales generadas ukarjam utt’ayañataki.


Aplicación ukan phuqhawipa

Mä aplicación ukamp mayachasiñatakix, OpenTelemetry SDK ukax wakiskir programación arut apnaqatäki ukatakix mayachañaw wakisi jan ukax bibliotecas ukat marcos ukanakamp irnaqañaw wakisi, ukax OpenTelemetry ukar chiqak yanapt’i. OpenTelemetry ukax walja kutiw uñt’at bibliotecas ukanakat walja apnaqat interfaces ukanakar phuqhi, ukax drop-in ukar lantintañapatakiw jayti. Amuyt’añataki, Micrómetro biblioteca ukax ecosistema Java ukan métricas apthapiñatakikiw apnaqasi. OpenTelemetry SDK ukax Micrometer interfaces ukan phuqhawip uñacht’ayi, ukax métrica exportación ukar yanapt’i jan jach’a aplicación ukan código ukar mayjt’ayasa. Ukhamarus, OpenTelemetry ukax nayra OpenTracing ukat OpenCensus interfaces ukanakan phuqhawinakap uñacht’ayi, OpenTelemetry ukar mä suma migración ukar yanapt’añataki.

Tukuyawi

Sistemas IT ukanx OpenTelemetry ukax jutïr pachanx atiniskañ ukhamarak suma backends ukanakatakix llave ukhamaw tukuspa. Aka herramienta ukax depuración ukat monitoreo ukanak simplifica ukat ukhamarakiw jist’araraki mä manqhan amuyt’añataki aplicación ukan lurawipata ukhamarak optimización machaq nivelan. OpenTelemetry ukankirinakamp chikt’asim, jutïr pachar uñstayañ yanapt’añataki, kawkhantix backend ukan lurawipax juk’amp sapuru ukat juk’amp askiwa!