Configuration d’OpenTelemetry pour obtenir des informations sur les applications AEM

Découvrez comment connecter un environnement AEM as a Cloud Service à la plateforme d’observabilité compatible OpenTelemetry de votre choix.

Dans articles précédents vous avez découvert les concepts et les avantages de l’utilisation d’OpenTelemetry avec AEM as a Cloud Service. Dans ce tutoriel, nous utilisons l’exemple de projet AEM WKND comme exemple d’application et nous montrons comment exporter des données télémétriques en déployant des config/otel.yaml à l’aide d’un pipeline de configuration Cloud Manager.

Les grandes étapes sont les suivantes :

  1. Obtenez le point d’entrée OTLP/HTTPS et les informations d’ingestion pour votre plateforme d’observabilité.
  2. Stockez les informations d’identification en toute sécurité dans Cloud Manager.
  3. Ajoutez le fichier config/otel.yaml au référentiel de votre projet AEM.
  4. Exécutez le Pipeline de configuration de Cloud Manager.
  5. Générer du trafic vers l’application AEM.
  6. Vérifiez la télémétrie dans votre plateforme d’observabilité.
AVAILABILITY
Cette fonctionnalité est en disponibilité limitée. Pour l’utiliser, demandez l’accès en envoyant un e-mail à l’adresse 🔗 - Adobe active OpenTelemetry pour vos environnements peu de temps après avoir répondu à votre demande. Si votre environnement utilise actuellement l’intégration APM intégrée d’Adobe, cette intégration cesse d’envoyer des données une fois que OpenTelemetry est activé, car les deux ne peuvent pas s’exécuter en même temps.
Notez qu’il n’est pas disponible pour les environnements couverts par la loi HIPAA, les environnements de développement rapide (RDE) et les sandbox.

Prérequis

Avant de commencer, vérifiez que vous disposez des éléments suivants :

  • Un environnement de développement d’évaluation ou de production AEM as a Cloud Service dans lequel WKND site ou votre propre application est déployée. OpenTelemetry n’est pas pris en charge sur les environnements à l’échelle HIPAA, les programmes Sandbox et les Environnements de développement rapide (RDE).
  • Accès à ​​avec l’autorisation de gérer les variables d’environnement et de créer et exécuter un pipeline de configuration.
  • Plateforme d’observabilité qui accepte le protocole OTLP via HTTPS, avec un point d’entrée et des informations d’identification d’ingestion.
  • Accédez à la plateforme d’observabilité pour vérifier et visualiser la télémétrie AEM entrante.

Étape 1 : obtenir votre point d’entrée d’observabilité et vos informations d’identification

Dans votre plateforme d’observabilité, localisez son point d’entrée d’ingestion OTLP/HTTPS et créez ou récupérez les informations d’identification d’ingestion appropriées. Consultez la documentation de votre plateforme pour obtenir des instructions.

Vous ne savez pas quelle plateforme utiliser ? Voir Choisir une plateforme d’observabilité.

Ce tutoriel utilise une plateforme d’observabilité auto-hébergée qui prend en charge OTLP via HTTPS et nécessite un jeton d’authentification de base.

Étape 2 : Stocker vos informations d’observabilité dans Cloud Manager

Stockez les informations d’identification d’ingestion en tant que Cloud Manager variable d’environnement secrète.

  1. Dans Adobe Cloud Manager, sélectionnez votre programme AEM.
    Sélection du programme AEM dans Cloud Manager

  2. Sélectionnez l’environnement cible et cliquez sur Afficher les détails.
    Afficher les détails de l’environnement

  3. Dans l’onglet Configuration, cliquez sur Ajouter/Mettre à jour et ajoutez une variable d’environnement avec les valeurs suivantes :
    Ajouter une variable d’environnement

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
    Configuration Valeur
    Nom OTEL_CUSTOMER_AUTH
    Valeur Informations d’identification d’ingestion de votre fournisseur. Le format varie selon la plateforme. Pour obtenir des exemples🔗 consultez les paramètres spécifiques au fournisseur .
    Service appliqué Tous
    Type Secret

    Dans cet exemple, la plateforme auto-hébergée utilise un jeton d’authentification de base au format Basic <base64(user:password)>.

  4. Cliquez sur Ajouter puis Enregistrer pour stocker la variable d’environnement.
    Enregistrer la variable d’environnement

Le fichier config/otel.yaml fait référence à ce secret en tant que ${{secrets.OTEL_CUSTOMER_AUTH}}. Les informations d’identification ne doivent jamais apparaître dans le référentiel AEM ou dans les journaux de pipeline.

Étape 3 : Ajouter la configuration OpenTelemetry

Dans le référentiel de votre projet AEM, créez le fichier config/otel.yaml. La plateforme auto-hébergée de ce tutoriel utilise la configuration suivante :

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

Les paramètres clés sont les suivants :

Configuration
Objectif
metadata.envTypes
Types d’environnement auxquels s’applique la configuration. Incluez le type d’environnement cible.
enabled
Active l’exportation de la télémétrie client lorsqu’elle est définie sur true.
type
Sélectionne la configuration de destination, par exemple generic pour une plateforme auto-hébergée.
endpoint
URL OTLP/HTTPS de base pour la destination.
authHeaderName
En-tête HTTP contenant les informations d’identification ; Authorization, par exemple.
authHeaderValue
Référence au secret Cloud Manager, et non aux informations d’identification proprement dites.
metrics
Active l’exportation des mesures lors de l’true.
logs
Active l’export des logs de l’application lors de l’true.

Effectue le suivi de l’exportation chaque fois que l’intégration est activée. Les mesures et les journaux sont facultatifs. Ils sont exportés uniquement lorsqu’ils sont définis sur true.

Par exemple, consultez l’exemple de configuration WKND suivant :

Exemple de configuration WKND

Étape 4 : déploiement de la configuration OpenTelemetry

  1. Validez le fichier config/otel.yaml et poussez-le vers le référentiel et la branche que votre pipeline de configuration utilise comme source.
  2. Dans Cloud Manager, créez ou modifiez le Pipeline de configuration pour l’environnement et vérifiez ses détails.
    Détails de la configuration du pipeline
  3. Sélectionnez le nom du pipeline et cliquez sur Exécuter.
    Exécuter le pipeline de configuration
  4. Surveillez l’exécution du pipeline jusqu’à ce qu’elle soit terminée.
    Surveillance du pipeline de configuration

Le pipeline valide la configuration avant d’appliquer les paramètres de destination.

Étape 5 : générer le trafic AEM

Une fois le pipeline terminé, générez une activité d’application :

  1. Ouvrez le site WKND ou votre application sur le service de publication AEM et naviguez entre quelques pages.
  2. Vous pouvez éventuellement ouvrir le site WKND sur le service de création pour générer la télémétrie de création.

Patientez quelques minutes pour que la télémétrie atteigne votre plateforme d’observabilité.

Etape 6 : Vérification de la télémétrie dans votre plateforme d’observabilité

Ouvrez votre plateforme d’observabilité et recherchez la télémétrie. Les étapes de localisation des traces, des mesures et des journaux varient selon la plateforme. Les captures d’écran suivantes proviennent des tableaux de bord de la plateforme d’observabilité basés sur Grafana.

Recherche du service AEM

Recherchez un nom de service AEM similaire à :

cm-p<program>-e<environment>-aem-publish-<environment-type>

Dans la plateforme auto-hébergée utilisée dans ce tutoriel, la télémétrie du service de publication se présente comme suit :

Télémétrie du service de publication WKND dans la plateforme d’observabilité

Inspecter les traces

Recherchez les plages de requêtes HTTP entrantes qui correspondent à vos requêtes de page WKND. Ouvrez une trace et vérifiez le nom, la durée et les plages de requêtes associées de la requête.

Suivi des requêtes WKND dans la plateforme d’observabilité

Inspecter les mesures

Comme les jeux de configuration metrics: true, recherchez les mesures JVM et HTTP telles que l’utilisation de la mémoire, la durée du nettoyage de la mémoire, le nombre de threads et la durée des requêtes HTTP.

Mesures du service WKND dans la plateforme d’observabilité

Inspecter les journaux

Comme les jeux de configuration logs: true, vérifiez les journaux d’application AEM dans la destination. L’intégration exporte les journaux à un seuil de gravité pris en charge (WARN ou supérieur), de sorte que les visites de page ordinaires peuvent ne pas produire d’entrées de journal à ce niveau.

Journaux du service WKND dans la plateforme de contrôle

Résolution des problèmes

Si le pipeline de configuration échoue ou si la télémétrie n’apparaît pas dans votre plateforme d’observabilité, consultez les journaux du pipeline et vérifiez les points suivants :

Symptôme
Éléments à vérifier
OpenTelemetry n’est pas activé pour l’environnement
Vérifiez que votre programme AEM est éligible pour OpenTelemetry et que la fonction est activée pour l’environnement cible. Contactez l’assistance Adobe si l’accès ou l’activation de la plateforme est requis.
La configuration semble être ignorée
Vérifiez que metadata.envTypes inclut le type d’environnement cible (dev, stage ou prod). En cas de non-correspondance, la configuration est ignorée sans erreur.
Erreur de référence du secret
Vérifiez qu’OTEL_CUSTOMER_AUTH existe en tant que Cloud Manager variable d’environnement secrète, avec Service appliqué défini sur Tous. Il ne doit pas s’agir d’une variable de pipeline.
Échec de l’authentification (401 ou 403)
Vérifiez les informations d’identification et l’en-tête d’authentification requis par votre fournisseur. Par exemple, New Relic nécessite une clé de licence d’ingestion, et non une clé API utilisateur.
Point d’entrée inatteignable ou échec de la validation des informations d’identification
Vérifiez l’URL du point d’entrée, la région et la connectivité HTTPS. Les points d’entrée privés ou les destinations nécessitant une adresse IP sortante stable peuvent nécessiter la mise en service et l’activation de la mise en réseau avancée.
Conflit Dynatrace OneAgent
OpenTelemetry ne peut pas être activé lorsque Dynatrace OneAgent est actif sur l’environnement. L’intégration existante doit être supprimée avant de configurer OpenTelemetry.
Pipeline terminé, mais aucune télémétrie n’apparaît
Patientez quelques minutes pour que les données arrivent, générez du trafic WKND ou tout autre trafic pertinent et vérifiez le statut d’ingestion et les filtres de service.name du fournisseur.
Aucun journal n’apparaît
Vérifiez logs: true est configuré et que l’application AEM a généré des entrées de journal au niveau WARN ou supérieur.
Entrées de journal en double
Vérifiez si l’exportation du journal OpenTelemetry et le transfert du journal AEM envoient les journaux vers la même destination.
Erreur système interne
Réessayez le pipeline de configuration. Si l’erreur persiste, contactez l’assistance Adobe pour obtenir les détails d’exécution du pipeline.

Si le problème persiste, contactez l’assistance Adobe et fournissez l’identifiant du programme AEM, l’identifiant de l’environnement, l’identifiant d’exécution du pipeline de configuration, le message d’erreur exact et les détails du fournisseur d’observabilité. N’incluez jamais d’informations d’authentification ou de valeurs secrètes.

Pour obtenir des exemples de configuration et des informations de dépannage supplémentaires, consultez la documentation du produit OpenTelemetry.

Étapes suivantes

Vous avez configuré OpenTelemetry pour AEM as a Cloud Service et vérifié que la télémétrie de l’exemple d’application WKND est disponible dans votre plateforme d’observabilité.

Vous pouvez désormais utiliser cette télémétrie pour analyser les requêtes lentes ou en échec, surveiller les performances JVM et HTTP, et corréler les journaux d’application avec les traces afin de mieux comprendre le comportement des applications AEM.

Pour étendre la télémétrie à votre logique spécifique à l’application, consultez Instrumentation personnalisée avec OpenTelemetry.

Pour explorer d’autres options de configuration, les fournisseurs d’observabilité pris en charge et les exigences de mise en réseau, reportez-vous à la documentation du produit OpenTelemetry.

Ressources supplémentaires

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