Ce este OpenTelemetry?
OpenTelemetry este:
Un cadru și un set de instrumente [de observabilitate] concepute pentru a facilita
- Generarea
- Exportarea
- Colectarea
de date de telemetrie cum ar fi urme, metrici, și jurnale.
Open source, precum și agnostic față de furnizor și instrument, ceea ce înseamnă că poate fi utilizat cu o gamă largă de backend-uri de observabilitate, inclusiv instrumente open source precum Jaeger și Prometheus, precum și oferte comerciale. OpenTelemetry nu este un backend de observabilitate în sine.
Un obiectiv important al OpenTelemetry este de a permite o instrumentare ușoară a aplicațiilor și sistemelor tale, indiferent de limbajul de programare, infrastructura și mediile de execuție utilizate.
Backend-ul (stocarea) și frontend-ul (vizualizarea) datelor de telemetrie sunt lăsate în mod intenționat altor instrumente.
Pentru mai multe videoclipuri din această serie și resurse suplimentare, vezi Ce urmează?
Ce este observabilitatea?
[Observabilitatea] este abilitatea de a înțelege starea internă a unui sistem prin examinarea ieșirilor sale. În contextul software-ului, aceasta înseamnă a fi capabil să înțelegi starea internă a unui sistem prin examinarea datelor sale de telemetrie, care includ urme, metrici și jurnale.
Pentru a face un sistem observabil, acesta trebuie să fie instrumentat. Adică, codul trebuie să emită urme, metrici sau jurnale. Datele instrumentate trebuie apoi trimise către un backend de observabilitate.
De ce OpenTelemetry?
Odată cu creșterea cloud computing-ului, a arhitecturilor de microservicii și a cerințelor de afaceri din ce în ce mai complexe, nevoia de software și infrastructură observabilitate este mai mare ca niciodată.
OpenTelemetry satisface nevoia de observabilitate, respectând în același timp două principii cheie:
- Deții datele pe care le generezi. Nu există nicio legătură cu furnizorul.
- Trebuie doar să înveți un singur set de API-uri și convenții.
Ambele principii combinate oferă echipelor și organizațiilor flexibilitatea de care au nevoie în lumea informatică modernă de astăzi.
Dacă dorești să afli mai multe, consultă misiunea, viziunea și valorile OpenTelemetry.
Componentele principale OpenTelemetry
OpenTelemetry constă din următoarele componente principale:
- O specificație pentru toate componentele
- Un protocol standard (/docs/specs/otlp/) care definește forma datelor de telemetrie
- Convenții semantice care definesc o schemă standard de denumire pentru tipurile comune de date de telemetrie
- API-uri care definesc modul de generare a datelor de telemetrie
- SDK-uri lingvistice care implementează specificațiile, API-urile și exportul datelor de telemetrie
- Un ecosistem de biblioteci care implementează instrumentație pentru biblioteci și framework-uri comune
- Componente de instrumentație automată care generează date de telemetrie fără a necesita modificări de cod
- Colectorul OpenTelemetry, un proxy care primește, procesează și exportă date de telemetrie
- Diverse alte instrumente, cum ar fi Operatorul OpenTelemetry pentru Kubernetes, Diagramele OpenTelemetry Helm și resursele comunității pentru FaaS
OpenTelemetry este utilizat de o gamă largă de biblioteci, servicii și aplicații care au OpenTelemetry integrat pentru a oferi observabilitate în mod implicit.
OpenTelemetry este susținut de numeroși furnizori, mulți dintre ei oferind suport comercial pentru OpenTelemetry și contribuind direct la proiect.
Extensibilitate
OpenTelemetry este conceput pentru a fi extensibil. Câteva exemple despre cum poate fi extins includ:
- Adăugarea unui receptor la OpenTelemetry Collector pentru a accepta date de telemetrie dintr-o sursă personalizată
- Încărcarea bibliotecilor de instrumentație personalizate într-un SDK
- Crearea unei distribuții a unui SDK sau a Colectorului adaptată unui caz de utilizare specific
- Crearea unui nou exportator pentru un backend personalizat care nu acceptă încă protocolul OpenTelemetry (OTLP)
- Crearea unui propagator personalizat pentru un format de propagare a contextului nestandard
Deși majoritatea utilizatorilor s-ar putea să nu aibă nevoie să extindă OpenTelemetry, proiectul este conceput pentru a face acest lucru posibil la aproape orice nivel.
Istorie
OpenTelemetry este un proiect al Cloud Native Computing Foundation (CNCF) care este rezultatul unei fuziuni între două proiecte anterioare, OpenTracing și OpenCensus. Ambele proiecte au fost create pentru a rezolva aceeași problemă: lipsa unui standard pentru instrumentarea codului și trimiterea datelor de telemetrie către un backend Observability. Întrucât niciunul dintre proiecte nu a reușit să rezolve problema independent, ele au fuzionat pentru a forma OpenTelemetry și a-își combina punctele forte, oferind în același timp o soluție unică.
Dacă utilizezi în prezent OpenTracing sau OpenCensus, poți afla cum să migrezi la OpenTelemetry în Ghidul de migrare.
Ce urmează?
- Începe — treci la acțiune!
- Învață despre conceptele OpenTelemetry.
- Urmărește videoclipuri din OTel pentru începători sau alte liste de redare.
- Înscrie-te la training, inclusiv la cursul gratuit Începe cu OpenTelemetry.
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!