Close

Créez automatiquement un ticket Jira Software à partir d'un problème détecté dans Dynatrace

Portrait de Philipp Jones
Rob Jahn

Technical Partner Manager et DevOps Evangelist chez Dynatrace

Ce tutoriel explique comment créer automatiquement un ticket Jira à partir d'un problème détecté par Dynatrace. Consultez notre autre tutoriel, Comment intégrer Dynatrace et Jira pour une meilleure observabilité, pour découvrir comment configurer l'intégration de Jira et Dynatrace.

For this use case, the “customer” backend service will be shut down, which will cause errors in the “frontend” service. These errors will then be detected by Dynatrace and Jira issues will automatically be created.

Time

15-minute read. Complete over 2-3 hours.

Audience

You have administrator projects permission for all projects. See Managing project permissions for more information.

You have administration permission for your Dynatrace environment. See Get started with Dynatrace for more information.

You have a basic knowledge of Linux commands.

Prerequisites

You have a Dynatrace environment -- Get a 15-day trial of Dynatrace.

A Linux host is required to run a Dynatrace provided sample application. Follow the installation instructions found in this README for requirements and instructions to install on a virtual machine.

This same Linux host needs to have the Dynatrace OneAgent installed.

You have a Jira Software account. Get started with Jira here.

Want to learn more?

Pour de plus amples informations sur l'utilisation des sprints dans Jira, consultez le tutoriel sur les sprints.

Vous avez des questions ? Posez-les à la communauté Atlassian.

Présentation

Ce tutoriel dépend de plusieurs composants qui interagissent les uns avec les autres. Vous apprendrez comment :

1. configurer Jira Automation pour créer un commentaire de carte de problème Dynatrace avec l'URL du ticket Jira ;

2. configurer Dynatrace pour transmettre les problèmes à Jira ;

3. déclencher un problème dans l'exemple d'app, et vérifier comment Dynatrace détecte le problème et crée automatiquement un ticket Jira ;

4. configurer les requêtes sur les tickets Jira sur la page Releases (Versions) de Dynatrace ;

5. nettoyer votre environnement.

Ce diagramme montre les composants de ce tutoriel et les interactions de base entre eux.

Diagramme utilisant Dynatrace et Jira

1. Surveillance d'une app grâce à Dynatrace : pour ce tutoriel, Dynatrace collectera des métriques à partir d'un agent Dynatrace installé sur l'hôte qui exécute l'exemple d'app. Toutes les données sont centralisées dans le locataire Dynatrace central, qui fournit également l'interface web pour l'administration et la détection des problèmes basée sur l'IA.

2. Notification des problèmes avec contexte détaillé : le moteur d'IA de Dynatrace, Davis, utilise des métriques haute fidélité, des traces, des journaux et des données utilisateur réelles mappées sur un modèle d'entité unifié. Il utilise l'IA déterministe de Davis pour révéler les causes profondes précises des problèmes. Davis ne se contente pas de localiser la cause profonde précise, mais il fournit instantanément un contexte précieux. Vous saurez si un problème est le résultat d'un goulot d'étranglement des ressources ou d'un changement de déploiement, et même qui en est responsable. Vous pouvez revoir les problèmes pour bien comprendre pourquoi ils se sont produits et comment les résoudre.

3. Création automatique d'un ticket Jira : l'intégration de Dynatrace et de Jira crée automatiquement des tickets pour tous les nouveaux problèmes détectés automatiquement dans vos environnements Dynatrace.

4. Mise à jour automatique de Dynatrace par Jira Automation : Jira Automation est une fonctionnalité « sans code » qui permet de créer facilement des règles en quelques clics. Une demande web adressée à l'API Dynatrace utilise l'ID de problème Dynatrace pour mettre à jour les commentaires de la carte de problème Dynatrace.

5. Résolution du problème et fermeture du ticket Jira

Étape 1 : Arrêtez l'exemple d'app et laissez Dynatrace détecter un problème de disponibilité

Sur l'hôte Linux exécutant l'exemple d'app, accédez au répertoire contenant le fichier docker-compose.yaml et exécutez la commande suivante pour arrêter le service :

sudo docker-compose -f docker-compose-services.yaml scale customer-service=0


Vous pouvez utiliser cette commande pour vérifier qu'il n'est pas en cours d'exécution :

sudo docker ps


Étape 2 : Examinez la carte de problème dans Dynatrace

Après quelques minutes, le problème apparaît, et Dynatrace crée un problème. Dynatrace est différent dans la mesure où il ne crée pas une alerte. Dynatrace utilise une IA déterministe qui effectue une analyse automatique par arbre de défaillance qui prend en compte des métriques, des journaux, des données utilisateur réelles et des événements. Il en résulte une carte de problème qui montre l'impact sur l'entreprise, les apps et les composants d'infrastructure concernés, un historique reproductible de l'événement et la cause profonde du ticket.

Fenêtre Problems (Problèmes)

Étape 3 : Passez en revue le ticket Jira généré automatiquement

Jira révélera un nouveau ticket avec les informations du problème et un lien URL profond vers la carte de problème Dynatrace.

Ticket de problème

Étape 4 : Consultez le commentaire Dynatrace

Une fois le ticket Jira créé, cliquez sur l'URL du problème Dynatrace pour ouvrir la carte de problème Dynatrace. Faites défiler l'écran vers le bas pour afficher le commentaire avec l'URL du ticket Jira. Cette opération est rendue possible par les étiquettes intelligentes Jira Automation ajoutées à l'appel d'API Dynatrace, qui a été créé par la règle d'automatisation Jira.

Défilement vers le bas depuis la carte de problème jusqu'au commentaire

** Conseil de pro : vous pouvez utiliser le même concept pour ajouter de nouveaux commentaires Jira en tant que commentaires Dynatrace. Pour ce faire, créez une règle d'automatisation à l'aide du déclencheur « When: Issue commented » (Quand : ticket commenté) que vous utiliserez comme corps du webhook :

{

"comment": "{{issue.comments.last.body}} - Jira Issue: [{{issue.key}}]({{issue.url}})", "user": "{{issue.comments.last.author.displayName}}", "context": "Jira"
}

Écran d'augmentation du taux d'échec

** Conseil de pro : les notifications de problème Dynatrace peuvent être configurées pour transmettre des informations supplémentaires de Dynatrace à Jira, notamment l'état du problème, les entités affectées et les étiquettes. Ces données peuvent être utilisées davantage dans le cadre d'une automatisation plus sophistiquée, comme l'assignation du ticket, la définition de la priorité, la liaison à un composant et le remplissage de champs Jira personnalisés. La règle d'automatisation Jira « if block » (Si : bloquer) peut analyser une étiquette Dynatrace, par exemple.

Fenêtre « If block »

Étape 5 : Résolvez le problème en redémarrant l'exemple de service d'app

Sur l'hôte Linux exécutant l'exemple d'app, accédez au répertoire contenant le fichier docker-compose.yaml et exécutez la commande suivante pour redémarrer le service :

sudo docker-compose -f docker-compose-services.yaml scale customer-service=1

Vous pouvez utiliser cette commande pour vérifier qu'il est à présent en cours d'exécution :

sudo docker ps

Étape 6 : Réexaminez l'app dans Dynatrace

Consultez la page du service frontend et vous remarquerez que les échecs ont disparu.

Fenêtre de taux d'échec

De plus, la carte de problème Dynatrace a également été automatiquement fermée.

Avis de taux d'échec

Testez quelques autres problèmes

L'app Dynatrace Orders comporte des problèmes préconçus programmés comme des versions différentes. L'app a été programmée avec une URL de feature flag qui peut être utilisée pour modifier la version et donc le comportement de l'app. La version 1 de la commande et des services client a un comportement « normal », et le problème est résolu en définissant la version sur 2.

Si vous souhaitez tester ces problèmes, consultez la page donnant un aperçu de Dynatrace Orders.

Configurer les requêtes de tickets Jira sur la page Releases (Versions) de Dynatrace

Sur la page Releases (Versions), Dynatrace affiche les requêtes de l'outil de suivi des tickets, y compris les statistiques des tickets liés aux entités surveillées dans l'inventaire en temps réel.

Résultats de la requête à partir du filtre

Étape 1 : Définissez votre requête JQL

Dans la recherche de tickets Jira, créez une expression JQL (Jira Query Language), telle que celle illustrée ci-dessous.

project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC

Requête générant un ticket

Étape 2 : Créez des requêtes à utiliser dans l'outil de suivi des tickets de version

1. Dans Dynatrace, accédez à la page Releases (Versions) via le menu de gauche.

2. Sur la page Releases (Versions), cliquez sur le bouton Configure (Configurer).

Fenêtre de version en temps réel

3. Sur la page Release Issue Tracker Queries settings (Paramètres des requêtes pour l'outil de suivi des tickets de version), cliquez sur le bouton Add new issue tracker query (Ajouter une requête pour l'outil de suivi des tickets).

Flèche pointant vers Settings (Paramètres) dans le menu de navigation de gauche

4. Dans le formulaire de nouvelle requête, saisissez les valeurs comme suit :

  • Issue Label (Libellé du ticket) : dt-orders frontend Issues
  • Issue query (Requête de ticket) : project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC
  • Issue Theme (Thème du ticket) : erreur
  • Issue Tracker System (Système de suivi des tickets) : Jira
  • URL Target (Cible de l'URL) : https://YOUR-COMPANY.atlassian.net
  • User Name (Nom d'utilisateur) : votre ID utilisateur Jira (comme un e-mail)
  • Password (Mot de passe) : laissez vide
  • Token (Jeton) : le jeton utilisateur Jira que vous avez créé plus tôt dans ce guide

5. Enregistrez la requête.

Étape 3 : Passez la requête en revue

1. Revenez à la page Releases (Versions) à l'aide du menu de gauche.

2. Vous devriez maintenant voir la nouvelle requête avec un nombre de tickets correspondant à tous les tickets ouverts.

Informations de version en temps réel

3. Si vous cliquez sur la ligne de ticket, Jira s'ouvrira pour que vous puissiez passer en revue ces files d'attente.

Nettoyer

1. Si vous exécutez un hôte à la demande pour l'exemple d'app, arrêtez-le.

2. Pour arrêter l'exemple d'app, accédez à l'hôte Linux qui exécute l'exemple d'app, puis au répertoire contenant le fichier docker-compose.yaml et exécutez la commande suivante pour arrêter l'app :

sudo docker-compose -f docker-compose-services.yaml down

Vérifiez qu'aucun conteneur n'est en cours d'exécution grâce à cette commande :

sudo docker ps

3. Dans Jira, supprimez le projet que vous avez créé pour ce tutoriel.

4. Dans Dynatrace, supprimez le jeton d'API et la règle de notification de problème que vous avez ajoutés.

En savoir plus

Vous pouvez obtenir le plug-in Dynatrace Problem Integration for Jira sur l'Atlassian Marketplace.
Posez vos questions (et proposez des conseils) sur notre communauté Dynatrace.
Pour en savoir plus sur les fonctionnalités de Dynatrace + Atlassian, cliquez ici.
Pour en savoir plus sur Dynatrace + Atlassian (et comment travailler plus intelligemment et non plus dur), cliquez ici.
Découvrez Atlassian, Dynatrace et Keptn en action dans cette clinique de performance Dynatrace.
Découvrez plus d'intégrations pour Atlassian Open DevOps.

Consultez notre autre tutoriel, Comment intégrer Dynatrace et Jira pour une meilleure observabilité, pour découvrir comment configurer l'intégration de Jira et Dynatrace.

Rob Jahn
Rob Jahn

Partager cet article

Lectures recommandées

Ajoutez ces ressources à vos favoris pour en savoir plus sur les types d'équipes DevOps, ou pour les mises à jour continues de DevOps chez Atlassian.

Illustration DevOps

Communauté DevOps

Illustration DevOps

Parcours de formation DevOps

Illustration d'une carte

Essayez la solution gratuitement

Inscrivez-vous à notre newsletter DevOps

Thank you for signing up