Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Dieser Leitfaden bietet zwei Möglichkeiten zum Migrieren vom Azure Monitor Application Insights Node.js-SDK 2.X zu OpenTelemetry.
Erwerben Sie erforderliche Kenntnisse für die OpenTelemetry JavaScript-API (Application Programming Interface) und das -SDK (Software Development Kit).
Deinstallieren Sie die applicationinsights
-Abhängigkeit aus Ihrem Projekt.
npm uninstall applicationinsights
Entfernen Sie die SDK 2.X-Implementierung aus Ihrem Code.
Entfernen Sie die gesamte Application Insights-Instrumentierung aus Ihrem Code. Löschen Sie alle Abschnitte, in denen der Application Insights-Client initialisiert, geändert oder aufgerufen wird.
Aktivieren Sie Application Insights mit der Azure Monitor OpenTelemetry-Distribution.
Wichtig
Bevor Sie etwas anderes importieren, muss useAzureMonitor
aufgerufen werden. Es kann zu Telemetrieverlusten kommen, wenn zuerst andere Bibliotheken importiert werden.
Befolgen Sie die ersten Schritte, um das Onboarding auf die Azure Monitor OpenTelemetry-Distribution durchzuführen.
Die folgenden Änderungen und Einschränkungen gelten für beide Upgradepfade.
Damit eine Version von Node.js vom ApplicationInsights 3.X SDK unterstützt werden kann, muss sie überlappende Unterstützung sowohl vom Azure SDK als auch von OpenTelemetry haben. Überprüfen Sie die von OpenTelemetry unterstützten Laufzeiten auf die neuesten Updates. Benutzer mit älteren Versionen wie beispielsweise Node 8, die zuvor vom Application Insights SDK unterstützt wurden, können weiterhin OpenTelemetry-Lösungen verwenden. Es kann aber zu unerwartetem Verhalten oder zu Unterbrechungen kommen. Das ApplicationInsights SDK hängt auch vom Azure SDK für JS ab, das keine Unterstützung für alle Node.js-Versionen garantiert, die das Ende der Lebensdauer erreicht haben. Siehe Supportrichtlinie des Azure SDK für JS. Damit eine Version von Node.js vom ApplicationInsights 3.X SDK unterstützt werden kann, muss sie überlappende Unterstützung sowohl vom Azure SDK als auch von OpenTelemetry haben.
Das Application Insights SDK, Version 2.X, bietet Konfigurationsoptionen, die in der Azure Monitor OpenTelemetry-Distribution oder im Upgrade der Hauptversion auf Application Insights SDK 3.X nicht verfügbar sind. Um diese Änderungen zusammen mit den Optionen zu finden, die wir weiterhin unterstützen, lesen Sie die SDK-Konfigurationsdokumentation.
Erweiterte Metriken werden im Application Insights SDK 2.X unterstützt. Die Unterstützung für diese Metriken endet jedoch sowohl in Version 3.X des ApplicationInsights SDK als auch in der Azure Monitor OpenTelemetry-Distribution.
Während die Azure Monitor OpenTelemetry-Distribution und Application Insights SDK 3.X TelemetryProcessors nicht unterstützen, können Sie Span- und Protokolldatensatzprozessoren übergeben. Weitere Informationen dazu finden Sie im Azure Monitor OpenTelemetry-Distributionsprojekt.
Dieses Beispiel zeigt das Äquivalent zum Erstellen und Anwenden eines Telemetrieprozessors, der eine benutzerdefinierte Eigenschaft im Application Insights SDK 2.X anfügt.
const applicationInsights = require("applicationinsights");
applicationInsights.setup("YOUR_CONNECTION_STRING");
applicationInsights.defaultClient.addTelemetryProcessor(addCustomProperty);
applicationInsights.start();
function addCustomProperty(envelope: EnvelopeTelemetry) {
const data = envelope.data.baseData;
if (data?.properties) {
data.properties.customProperty = "Custom Property Value";
}
return true;
}
In diesem Beispiel wird gezeigt, wie Sie die Implementierung einer Azure Monitor OpenTelemetry-Distribution so ändern, dass ein SpanProcessor an die Konfiguration der Distribution übergeben wird.
import { Context, Span} from "@opentelemetry/api";
import { ReadableSpan, SpanProcessor } from "@opentelemetry/sdk-trace-base";
const { useAzureMonitor } = require("@azure/monitor-opentelemetry");
class SpanEnrichingProcessor implements SpanProcessor {
forceFlush(): Promise<void> {
return Promise.resolve();
}
onStart(span: Span, parentContext: Context): void {
return;
}
onEnd(span: ReadableSpan): void {
span.attributes["custom-attribute"] = "custom-value";
}
shutdown(): Promise<void> {
return Promise.resolve();
}
}
const options = {
azureMonitorExporterOptions: {
connectionString: "YOUR_CONNECTION_STRING"
},
spanProcessors: [new SpanEnrichingProcessor()],
};
useAzureMonitor(options);
Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenTraining
Modul
Implementieren der Einblicke in einer cloudnativen .NET-Anwendung mit OpenTelemetry - Training
Erfahren Sie mehr über Einblicke und wie Sie diese in einer cloudnativen Anwendung implementieren. Verwenden Sie OpenTelemetry-Pakete, um Protokolle, Metriken und Ablaufverfolgungsdaten auszugeben und die Daten in Application Insights und Anwendungen von Drittanbietern zu analysieren.
Zertifizierung
Microsoft Certified: Azure Cosmos DB Developer Specialty - Certifications
Schreiben Sie effiziente Abfragen, erstellen Sie Indizierungsrichtlinien, verwalten Sie und Sie Ressourcen in der SQL-API und im SDK mit Microsoft Azure Cosmos DB bereit.