Konfigurieren von OpenTelemetry für Einblicke in AEM-Programme
Erfahren Sie, wie Sie eine AEM as a Cloud Service-Umgebung mit der OpenTelemetry-kompatiblen Beobachtbarkeitsplattform Ihrer Wahl verbinden.
In vorherigen Artikeln Sie die Konzepte und Vorteile der Verwendung von OpenTelemetry mit AEM as a Cloud Service kennengelernt. In diesem Tutorial verwenden wir das AEM WKND-Beispielprojekt als Beispielanwendung und zeigen, wie die Telemetrie exportiert wird, indem config/otel.yaml mithilfe einer Cloud Manager-Konfigurations-Pipeline bereitgestellt werden.
Die allgemeinen Schritte lauten wie folgt:
- Rufen Sie den OTP/HTTPS-Endpunkt und die Anmeldedaten für die Aufnahme für Ihre Beobachtbarkeitsplattform ab.
- Speichern Sie die Berechtigung sicher in Cloud Manager.
- Fügen Sie die
config/otel.yaml-Datei zu Ihrem AEM-Projekt-Repository hinzu. - Führen Sie die Cloud Manager Pipeline konfigurieren aus.
- Erzeugt Traffic zur AEM-Anwendung.
- Überprüfen Sie die Telemetrie in Ihrer Beobachtbarkeitsplattform.
Voraussetzungen
Stellen Sie vor dem Start Folgendes sicher:
- Eine AEM as a Cloud Service Entwicklungs-, Staging- oder Produktionsumgebung, in der die WKND-Site oder Ihr eigenes Programm bereitgestellt wurde. OpenTelemetry wird in HIPAA-Umgebungen, Sandbox-Programmen und Rapid Development Environments (RDEs) nicht unterstützt.
- Zugriff auf Cloud Manager mit der Berechtigung zum Verwalten von Umgebungsvariablen und zum Erstellen und Ausführen einer Konfigurations-Pipeline.
- Eine Beobachtbarkeitsplattform, die OTLP über HTTPS mit einem Endpunkt und einer Aufnahmeberechtigung akzeptiert.
- Zugriff auf die Beobachtungsplattform zur Verifizierung und Visualisierung der eingehenden AEM-Telemetrie.
Schritt 1: Erhalten Sie Ihren Observability-Endpunkt und Ihre Anmeldedaten
Suchen Sie in Ihrer Beobachtbarkeitsplattform den OTLP/HTTPS-) und erstellen oder rufen Sie die entsprechenden Aufnahmeberechtigungen ab. Anweisungen finden Sie in der Dokumentation Ihrer Plattform.
Sie sind sich nicht sicher, welche Plattform Sie verwenden sollen? Siehe Wählen einer Beobachtbarkeitsplattform.
In diesem Tutorial wird eine selbst gehostete Beobachtbarkeitsplattform verwendet, die OTP über HTTPS unterstützt und ein einfaches Authentifizierungstoken erfordert.
Schritt 2: Speichern Sie Ihre Anmeldedaten für die Observability in Cloud Manager
Speichern Sie die Aufnahmeberechtigungen als Cloud Manager geheime Umgebungsvariable.
-
Wählen Sie in Adobe Cloud Manager Ihr AEM-Programm aus.
-
Wählen Sie die Zielumgebung aus und klicken Sie auf Details anzeigen.
-
Klicken Sie auf Registerkarte auf Hinzufügen/Aktualisieren und fügen Sie eine Umgebungsvariable mit den folgenden Werten hinzu:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 Einstellung Wert Name OTEL_CUSTOMER_AUTHWert Anmeldedaten für die Aufnahme durch Ihren Provider. Das Format variiert je nach Plattform. Beispiele finden unter „Anbieterspezifische ". Angewendeter service Alle Typ Geheim In diesem Beispiel verwendet die selbst gehostete Plattform ein einfaches Authentifizierungstoken im
Basic <base64(user:password)>. -
Klicken Sie auf Hinzufügen und dann auf Speichern, um die Umgebungsvariable zu speichern.
Die config/otel.yaml-Datei verweist wie ${{secrets.OTEL_CUSTOMER_AUTH}} auf diese geheimen Daten. Die Berechtigung darf niemals im AEM-Repository oder in den Pipeline-Protokollen angezeigt werden.
Schritt 3: OpenTelemetry-Konfiguration hinzufügen
Erstellen Sie im AEM-Projekt-Repository die config/otel.yaml. Die selbst gehostete Plattform in diesem Tutorial verwendet die folgende Konfiguration:
kind: "Otel"
version: "v1"
metadata:
envTypes:
- "dev"
- "stage"
- "prod"
data:
enabled: true
type: "generic"
endpoint: "https://my-self-hosted-observability.adobe.net"
authHeaderName: "Authorization"
authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"
metrics: true
logs: true
Die wichtigsten Einstellungen sind:
metadata.envTypesenabledtrue gesetzt ist.typegeneric für eine selbst gehostete Plattform.endpointauthHeaderNameAuthorization.authHeaderValuemetricstrue.logstrue.Verfolgt den Export, sobald die Integration aktiviert ist. Metriken und Protokolle sind optional. Sie werden nur exportiert, wenn auf true gesetzt.
Siehe zum Beispiel die folgende WKND-Beispielkonfiguration:
Schritt 4: OpenTelemetry-Konfiguration bereitstellen
- Übertragen Sie die
config/otel.yaml-Datei in das Repository und die Verzweigung, die Ihre Konfigurations-Pipeline als Quelle verwendet. - Erstellen oder bearbeiten Sie in Cloud Manager die Konfigurations-Pipeline für die Umgebung und überprüfen Sie deren Details.
- Wählen Sie den Pipeline-Namen aus und klicken Sie auf Ausführen.
- Überwachen Sie die Pipeline-Ausführung, bis sie erfolgreich abgeschlossen wird.
Die Pipeline validiert die Konfiguration, bevor sie die Zieleinstellungen anwendet.
Schritt 5: Generieren von AEM-Traffic
Generieren Sie nach Abschluss der Pipeline eine Anwendungsaktivität:
- Öffnen Sie die WKND-Site oder Ihr Programm im AEM-Veröffentlichungs-Service und navigieren Sie zwischen mehreren Seiten.
- Optional können Sie die WKND-Site im Autoren-Service öffnen, um die Autoren-Telemetrie zu generieren.
Warten Sie einige Minuten, bis die Telemetrie Ihre Beobachtungsplattform erreicht hat.
Schritt 6: Telemetrie in Ihrer Beobachtungsplattform überprüfen
Öffnen Sie Ihre Beobachtungsplattform und suchen Sie nach der Telemetrie. Die Schritte zum Suchen von Spuren, Metriken und Protokollen variieren je nach Plattform. Die folgenden Screenshots stammen aus Grafana-basierten Beobachtbarkeitsplattform-Dashboards.
Suchen des AEM-Service
Suchen Sie nach einem AEM-Dienstnamen, der in etwa wie folgt lautet:
cm-p<program>-e<environment>-aem-publish-<environment-type>
In der selbst gehosteten Plattform, die in diesem Tutorial verwendet wird, wird die Telemetrie des Veröffentlichungs-Service wie folgt angezeigt:
Spuren überprüfen
Suchen Sie nach eingehenden HTTP-Anfragebereichen, die Ihren WKND-Seitenanfragen entsprechen. Öffnen Sie eine Ablaufverfolgung und überprüfen Sie den Namen, die Dauer und die zugehörigen Bereiche der Anfrage.
Überprüfen von Metriken
Da die Konfiguration auf metrics: true festgelegt ist, sollten Sie nach JVM- und HTTP-Metriken wie Speicherauslastung, Dauer der automatischen Bereinigung, Thread-Anzahl und Dauer der HTTP-Anfrage suchen.
Überprüfen von Protokollen
Da die Konfiguration logs: true festgelegt ist, überprüfen Sie Ihr Ziel auf AEM-Anwendungsprotokolle. Die Integration exportiert Protokolle mit einem unterstützten Schweregrad (WARN oder höher), sodass normale Seitenbesuche möglicherweise keine Protokolleinträge auf dieser Ebene erzeugen.
Fehlerbehebung
Wenn die Konfigurations-Pipeline fehlschlägt oder die Telemetrie nicht in Ihrer Beobachtbarkeitsplattform angezeigt wird, überprüfen Sie die Pipeline-Protokolle und überprüfen Sie Folgendes:
metadata.envTypes den Zielumgebungstyp (dev, stage oder prod) enthält. Eine Nichtübereinstimmung führt dazu, dass die Konfiguration ohne Fehler übersprungen wird.OTEL_CUSTOMER_AUTH als „geheime " von Cloud Manager ist und Service angewendet auf All gesetzt ist. Es darf keine Pipeline-Variable sein.401 oder 403)service.name des Anbieters überprüfen.logs: true konfiguriert ist und dass die AEM-Anwendung Protokolleinträge auf WARNUNGS-Ebene oder darüber generiert hat.Wenn das Problem weiterhin besteht, wenden Sie sich an den Adobe-Support und geben Sie die AEM-Programm-ID, die Umgebungs-ID, die Konfigurations-Pipeline-Ausführungs-ID, die genaue Fehlermeldung und Details zum Beobachtbarkeits-Provider an. Geben Sie niemals Authentifizierungsdaten oder geheime Werte an.
Weitere Konfigurationsbeispiele und Informationen zur Fehlerbehebung finden Sie in der OpenTelemetry-Produktdokumentation.
Nächste Schritte
Sie haben OpenTelemetry für AEM as a Cloud Service konfiguriert und überprüft, ob die Telemetrie aus der WKND-Beispielanwendung in Ihrer Beobachtbarkeitsplattform verfügbar ist.
Sie können diese Telemetrie jetzt verwenden, um langsame oder fehlgeschlagene Anfragen zu untersuchen, die JVM- und HTTP-Leistung zu überwachen und Anwendungsprotokolle mit Traces zu korrelieren, um das Verhalten von AEM-Anwendungen besser zu verstehen.
Informationen zur Telemetrie für Ihre anwendungsspezifische Logik finden Sie unter Benutzerdefinierte Instrumentierung mit OpenTelemetry.
Weitere Konfigurationsoptionen, unterstützte Observability Provider und Netzwerkanforderungen finden Sie in der OpenTelemetry-Produktdokumentation.