Technieken voor automatische instrumentatie
Leer hoe u de functies voor automatische instrumentatie van OpenTelemetry gebruikt om bestaande applicaties snel observability te geven met minimale codewijzigingen.
Technieken voor automatische instrumentatie is een gratis Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry)-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry). Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry) bevat in totaal 4 lessen.
Introductie tot automatische instrumentatie
Welkom bij Technieken voor automatische instrumentatie! In deze les leer je hoe je observability aan je applicaties toevoegt zonder hun code aan te passen.
Zie het als een goocheltruc: je app begint logboeken, meetgegevens en traces te rapporteren, terwijl je er geen enkele regel extra code voor hebt geschreven. Dit is bijzonder krachtig voor bestaande of verouderde systemen.
Hoe automatische instrumentatie werkt
Maar hoe werkt deze magie? Bij automatische instrumentatie worden doorgaans gespecialiseerde agents of profilers gebruikt die tijdens runtime aan je applicatie worden gekoppeld.
- Bytecodebewerking: Voor talen zoals Java kunnen agents de bytecode van de applicatie aanpassen terwijl deze wordt geladen, en logica voor het verzamelen van traces en meetgegevens van OpenTelemetry invoegen.
- Bibliotheken omwikkelen: Voor andere talen kan dit betekenen dat veelgebruikte bibliotheken, zoals HTTP-clients of databasestuurprogramma's, dynamisch worden omwikkeld om hun aanroepen te onderscheppen.
Belangrijkste voordelen en gebruiksscenario's
Automatische instrumentatie biedt aanzienlijke voordelen:
- Snelle installatie: Krijg in minuten, in plaats van uren of dagen, basisobservability aan de praat.
- Geen codewijzigingen: Cruciaal voor verouderde applicaties waarvan het aanpassen van de code riskant of onmogelijk is.
- Basisinzicht: Krijg direct inzicht in veelvoorkomende bewerkingen, zoals HTTP-aanvragen, databasequery's en methode-uitvoeringen.
- Minder inspanning: Ontwikkelaars besteden minder tijd aan het schrijven van standaardcode voor instrumentatie.
OpenTelemetry Java Agent
Een bekend voorbeeld is de OpenTelemetry Java Agent. Dit is één JAR-bestand dat je met een opdrachtregelargument aan je Java Virtual Machine (JVM) koppelt.
Eenmaal gekoppeld instrumenteert deze automatisch veelgebruikte Java-bibliotheken en frameworks en genereert hij traces, meetgegevens en logboeken zonder codewijzigingen in je applicatie.
Basisversie van een eenvoudige Java-app
Laten we naar een zeer eenvoudige Java-applicatie kijken. Dit programma voert een main-methode uit en roept een andere methode, sayHello, aan. Normaal gesproken zou je alleen de afdrukinstructies ervan zien.
Voer het programma uit om de normale uitvoer te bekijken:
public class AutoInstrumentDemo {
public static void main(String[] args) {
System.out.println("Starting app...");
sayHello();
System.out.println("App finished.");
}
public static void sayHello() {
System.out.println("Hello from sayHello!");
}
}Uitvoeren met de OTel-agent
Om de vorige app automatisch te instrumenteren, voer je deze doorgaans als volgt uit vanuit je terminal (ervan uitgaande dat je de agent-JAR hebt):
java -javaagent:path/to/opentelemetry-javaagent.jar -jar AutoInstrumentDemo.jarDe vlag -javaagent vertelt de JVM dat deze de OpenTelemetry-agent moet laden. De agent detecteert vervolgens automatisch de methodeaanroepen van main en sayHello, maakt hiervoor spans en stuurt deze naar je geconfigureerde OpenTelemetry Collector.
HTTP-aanroepen automatisch traceren
Automatische instrumentatie is bijzonder effectief voor veelvoorkomende I/O-bewerkingen, zoals HTTP-aanvragen. De agent detecteert deze aanroepen van standaardbibliotheken automatisch en maakt spans die hun latentie en geslaagd/mislukt-status tonen.
Hier zie je een eenvoudig Java-programma dat een HTTP-aanroep simuleert. Als je het met de OTel-agent uitvoert, zou deze 'gesimuleerde' aanroep als een netwerkspan verschijnen.
public class HttpCallDemo {
public static void main(String[] args) {
System.out.println("Making a simulated HTTP call...");
simulateHttpRequest();
System.out.println("Simulated call finished.");
}
public static void simulateHttpRequest() {
try {
// In a real app, this would be an actual HTTP client call
// e.g., new java.net.http.HttpClient().send(...)
Thread.sleep(100); // Simulate network delay
System.out.println("HTTP call logic executed.");
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
System.err.println("HTTP call interrupted.");
}
}
}Welke gegevens worden verzameld?
Bij automatische instrumentatie krijg je doorgaans:
- Traces: Spans voor methodeaanroepen, HTTP-aanvragen (inkomend en uitgaand), databasequery's en bewerkingen met berichtenwachtrijen.
- Meetgegevens: Basismeetgegevens, zoals aanvraaglatentie, foutpercentages en aantallen aanroepen voor geïnstrumenteerde bewerkingen.
- Logboeken: Sommige agents kunnen ook logboeken vastleggen en verrijken met trace- en span-ID's, zodat logboeken aan specifieke bewerkingen kunnen worden gekoppeld.
Wanneer automatische instrumentatie tekortschiet
Hoewel automatische instrumentatie krachtig is, kent deze beperkingen:
- Ontbrekende bedrijfscontext: De instrumentatie weet niet automatisch wat de specifieke bedrijfslogica van je applicatie is (bijvoorbeeld 'gebruiker registreren' tegenover alleen 'HTTP POST').
- Aangepaste kenmerken: Zonder handmatige codewijzigingen kun je niet eenvoudig aangepaste kenmerken toevoegen die specifiek zijn voor je domein.
- Beperkte aangepaste meetgegevens en logboeken: Je krijgt algemene signalen, maar voor zeer specifieke aangepaste meetgegevens of verrijking van logboeken is vaak handmatige tussenkomst nodig.
Hier wordt handmatige instrumentatie (onze volgende les!) essentieel om de hiaten op te vullen.
Korte controle: automatische instrumentatie
Welke van de volgende opties zijn belangrijke voordelen van het gebruik van de automatische-instrumentatietechnieken van OpenTelemetry?
Samenvatting: automatische instrumentatie
In deze les hebben we de automatische instrumentatie van OpenTelemetry verkend. Je hebt geleerd dat hierbij agents of profilers worden gebruikt om tijdens runtime observabilitylogica in je applicatie te injecteren, zonder dat de broncode hoeft te worden aangepast.
Deze techniek biedt snel basisinzicht in veelvoorkomende bewerkingen, zoals HTTP-aanroepen en methode-uitvoeringen, en is daardoor ideaal om snel inzicht te krijgen in nieuwe of verouderde applicaties. Voor diepgaande bedrijfscontext en aangepaste gegevens is echter handmatige instrumentatie nodig.
Leer Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry) met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Technieken voor automatische instrumentatie” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry), waaronder “Technieken voor automatische instrumentatie”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry) bevat in totaal 4 lessen.
Wat leer ik in “Technieken voor automatische instrumentatie”?
Leer hoe u de functies voor automatische instrumentatie van OpenTelemetry gebruikt om bestaande applicaties snel observability te geven met minimale codewijzigingen. Je oefent met Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry) door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry) te beginnen?
Ervaring vooraf is niet nodig. Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry) op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Technieken voor automatische instrumentatie”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry)?
Ja. Elke les over Systeembewaking: logregistratie, metrieken en tracering (ELK + OpenTelemetry) bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Technieken voor automatische instrumentatie
- Best practices voor handmatige instrumentatie
- Contextpropagatie en baggage
- Spanattributen, events en status