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:

  1. Rufen Sie den OTP/HTTPS-Endpunkt und die Anmeldedaten für die Aufnahme für Ihre Beobachtbarkeitsplattform ab.
  2. Speichern Sie die Berechtigung sicher in Cloud Manager.
  3. Fügen Sie die config/otel.yaml-Datei zu Ihrem AEM-Projekt-Repository hinzu.
  4. Führen Sie die Cloud Manager Pipeline konfigurieren aus.
  5. Erzeugt Traffic zur AEM-Anwendung.
  6. Überprüfen Sie die Telemetrie in Ihrer Beobachtbarkeitsplattform.
AVAILABILITY
Diese Funktion ist in Eingeschränkte Verfügbarkeit verfügbar. Um sie zu verwenden, fordern Sie Zugriff per E-Mail an aemcs-apm-beta@adobe.com - Adobe aktiviert OpenTelemetry für Ihre Umgebungen kurz nach der Beantwortung Ihrer Anfrage. Wenn Ihre Umgebung derzeit die integrierte APM-Integration von Adobe verwendet, sendet diese Integration keine Daten mehr, sobald OpenTelemetry aktiviert ist, da die beiden nicht gleichzeitig ausgeführt werden können.
Beachten Sie, sie nicht HIPAA-Umgebungen, schnellen Entwicklungsumgebungen (RDE) und Sandboxes verfügbar ist.

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.

  1. Wählen Sie in Adobe Cloud Manager Ihr AEM-Programm aus.
    AEM-Programm in Cloud Manager auswählen

  2. Wählen Sie die Zielumgebung aus und klicken Sie auf Details anzeigen.
    Anzeigen von Umgebungsdetails

  3. Klicken Sie auf Registerkarte auf Hinzufügen/Aktualisieren und fügen Sie eine Umgebungsvariable mit den folgenden Werten hinzu:
    Umgebungsvariable hinzufügen

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
    Einstellung Wert
    Name OTEL_CUSTOMER_AUTH
    Wert 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)>.

  4. Klicken Sie auf Hinzufügen und dann auf Speichern, um die Umgebungsvariable zu speichern.
    Umgebungsvariable 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:

Einstellung
Zweck
metadata.envTypes
Umgebungstypen, für die die Konfiguration gilt. Den Typ der Zielumgebung einschließen.
enabled
Ermöglicht den Export von Kundentelemetrien, wenn er auf true gesetzt ist.
type
Wählt die Zielkonfiguration aus, z. B. generic für eine selbst gehostete Plattform.
endpoint
OTP/HTTPS-Basis-URL für das -Ziel.
authHeaderName
HTTP-Header, der die Berechtigung enthält, z. B. Authorization.
authHeaderValue
Verweis auf das Cloud Manager-Geheimnis, nicht die Berechtigung selbst.
metrics
Aktiviert den Export von Metriken bei der true.
logs
Aktiviert den Export von Anwendungsprotokollen bei der true.

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:

WKND-Beispielkonfiguration

Schritt 4: OpenTelemetry-Konfiguration bereitstellen

  1. Übertragen Sie die config/otel.yaml-Datei in das Repository und die Verzweigung, die Ihre Konfigurations-Pipeline als Quelle verwendet.
  2. Erstellen oder bearbeiten Sie in Cloud Manager die Konfigurations-Pipeline für die Umgebung und überprüfen Sie deren Details.
    Pipeline-Details konfigurieren
  3. Wählen Sie den Pipeline-Namen aus und klicken Sie auf Ausführen.
    Ausführen der Konfigurations-Pipeline
  4. Überwachen Sie die Pipeline-Ausführung, bis sie erfolgreich abgeschlossen wird.
    Überwachen der Konfigurations-Pipeline

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:

  1. Öffnen Sie die WKND-Site oder Ihr Programm im AEM-Veröffentlichungs-Service und navigieren Sie zwischen mehreren Seiten.
  2. 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:

Telemetrie des WKND-Veröffentlichungs-Service in der Beobachtbarkeitsplattform

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.

WKND-Anforderungs-Trace in der Beobachtbarkeitsplattform

Ü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.

WKND-Service-Metriken in der Beobachtbarkeitsplattform

Ü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.

WKND-Service-Protokolle in der Beobachtbarkeitsplattform

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:

Symptom
Was zu überprüfen ist
OpenTelemetry ist für die Umgebung nicht aktiviert
Vergewissern Sie sich, dass Ihr AEM-Programm für OpenTelemetry geeignet ist und dass die Funktion für die Zielumgebung aktiviert ist. Wenden Sie sich an den Adobe-Support, wenn Zugriff oder Plattformaktivierung erforderlich ist.
Konfiguration scheint ignoriert zu werden
Vergewissern Sie sich, dass metadata.envTypes den Zielumgebungstyp (dev, stage oder prod) enthält. Eine Nichtübereinstimmung führt dazu, dass die Konfiguration ohne Fehler übersprungen wird.
Geheimer Referenzfehler
Vergewissern Sie sich, dass OTEL_CUSTOMER_AUTH als „geheime " von Cloud Manager ist und Service angewendet auf All gesetzt ist. Es darf keine Pipeline-Variable sein.
Authentifizierungsfehler (401 oder 403)
Überprüfen Sie die von Ihrem Anbieter benötigten Anmeldeinformationen und Authentifizierungs-Header. New Relic erfordert beispielsweise einen Aufnahme-Lizenzschlüssel, keinen Benutzer-API-Schlüssel.
Endpunkt nicht erreichbar oder Überprüfung der Berechtigung schlägt fehl
Überprüfen Sie die Endpunkt-URL, Region und HTTPS-Konnektivität. Für private Endpunkte oder Ziele, für die eine stabile ausgehende IP-Adresse erforderlich ist, müssen möglicherweise erweiterte Netzwerkfunktionen bereitgestellt und aktiviert werden.
Dynatrace OneAgent-Konflikt
OpenTelemetry kann nicht aktiviert werden, während Dynatrace OneAgent in der Umgebung aktiv ist. Die vorhandene Integration muss vor der Konfiguration von OpenTelemetry entfernt werden.
Pipeline abgeschlossen, aber keine Telemetrie angezeigt
Warten Sie einige Minuten, bis Daten eintreffen, WKND oder anderen relevanten Traffic generieren und den Aufnahmestatus und die service.name des Anbieters überprüfen.
Keine Protokolle angezeigt
Bestätigen Sie, logs: true konfiguriert ist und dass die AEM-Anwendung Protokolleinträge auf WARNUNGS-Ebene oder darüber generiert hat.
Protokolleinträge duplizieren
Überprüfen Sie, ob der OpenTelemetry-Protokollexport und die AEM-Protokollweiterleitung Protokolle an dasselbe Ziel senden.
Interner Systemfehler
Wiederholen Sie die Konfigurations-Pipeline. Wenn der Fehler weiterhin auftritt, wenden Sie sich mit den Details zur Pipeline-Ausführung an den Adobe-Support.

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.

Zusätzliche Ressourcen

recommendation-more-help
experience-manager-learn-help-cloud-service