Automatische Erstellung eines Jira Software-Vorgangs aus einem erkannten Problem in Dynatrace

Von Rob Jahn, Dynatrace Technical Partner Manager und DevOps Evangelist

In diesem Tutorial erfährst du, wie du basierend auf einem von Dynatrace erkannten Problem automatisch einen Jira-Vorgang erstellst. Sieh dir unser anderes Tutorial "So integrierst du Dynatrace und Jira für eine bessere Observability" an, um zu erfahren, wie du die Jira- und Dynatrace-Integration einrichtest.

Für diesen Verwendungszweck wird der Backend-Dienst "Kunden" abgeschaltet, was zu Fehlern im Dienst "Frontend" führt. Diese Fehler werden von Dynatrace erkannt und daraufhin werden automatisch Jira-Vorgänge erstellt.

Zeit

Lesedauer: 15 Minuten. In 2 bis 3 Stunden abgeschlossen.

Zielpublikum

Du hast Administratorprojektberechtigungen für alle Projekte. Weitere Informationen findest du unter Managing project permissions (Verwalten von Projektberechtigungen).

Du hast eine Verwaltungsberechtigung für deine Dynatrace-Umgebung. Weitere Informationen findest du unter Get started with Dynatrace (Erste Schritte mit Dynatrace).

Du hast Grundkenntnisse der Linux-Befehle.

VORAUSSETZUNG

Du hast eine Dynatrace-Umgebung. Lade dir eine 15-tägige Testversion von Dynatrace herunter.

Du brauchst einen Linux-Host, um eine von Dynatrace bereitgestellte Beispielanwendung auszuführen. Befolge die Installationsanweisungen in dieser README-Datei mit Anforderungen und Anweisungen für die Installation auf einer virtuellen Maschine.

Auf jenem Linux-Host muss Dynatrace OneAgent installiert sein.

Du hast ein Jira Software-Konto. Lege hier mit Jira los.

Du möchtest mehr erfahren?

Ausführlichere Informationen zur Arbeit mit Sprints in Jira findest du im Sprints-Tutorial.

Überblick

Dieses Tutorial funktioniert nur mit mehreren Komponenten, die miteinander interagieren. In diesem Tutorial wirst du Folgendes tun:

1. Jira Automation konfigurieren, um einen Kommentar für eine Dynatrace-Problemkarte zu erstellen, wobei die URL zurück zum Jira-Vorgang verweist.

2. Dynatrace so konfigurieren, dass es Probleme an Jira überträgt.

3. Ein Problem in der Beispielanwendung auslösen und dir ansehen, wie Dynatrace das Problem erkennt und automatisch einen Jira-Vorgang erstellt.

4. Abfragen für Jira-Vorgänge auf der Release-Seite von Dynatrace konfigurieren.

5. Deine Umgebung bereinigen.

Dieses Diagramm zeigt die Komponenten für dieses Tutorial und die grundlegende Interaktion zwischen ihnen.

Diagramm mit Dynatrace und Jira

1. Anwendung mit Dynatrace überwachen: Für dieses Tutorial erfasst Dynatrace Metriken von einem Dynatrace-Agenten, der auf dem Host installiert ist, der die Beispielanwendung ausführt. Alle Daten werden in dem zentralen Dynatrace-Mandanten zusammengeführt, der auch die Weboberfläche für die Verwaltung und KI-gestützte Problemerkennung bereitstellt.

2. Problembenachrichtigung mit detailliertem Kontext: Davis, die KI-Engine von Dynatrace, verwendet qualitativ hochwertige Metriken, Ablaufverfolgungen, Protokolle und reale Benutzerdaten, die einem einheitlichen Entitätsmodell zugeordnet sind. Sie nutzt die deterministische KI von Davis, um die genauen Ursachen von Problemen aufzudecken. Davis findet nicht nur die Grundursache, sondern liefert auch sofort wertvollen Kontext. Du wirst erfahren, ob ein Problem auf einen Ressourcenengpass oder eine Änderung des Deployments zurückzuführen ist, bzw. wer dahintersteckt. Du kannst Probleme wiederholen, um vollständig nachzuvollziehen, warum sie aufgetreten sind und wie sie behoben werden können.

3. Automatische Erstellung eines Jira-Vorgangs: Die Integration von Dynatrace und Jira erstellt automatisch Vorgänge für alle neuen Probleme, die in deinen Dynatrace-Umgebungen automatisch erkannt werden.

4. Jira Automation aktualisiert Dynatrace: Jira Automation ist ein Feature ohne Code, das die einfache Erstellung von Build-Regeln mit nur wenigen Klicks ermöglicht. Eine Webanfrage an die Dynatrace-API verwendet die Problem-ID von Dynatrace, um die Kommentare in der Dynatrace-Problemkarte zu aktualisieren. 

5. Lösung des Problems und Schließung des Jira-Vorgangs

Schritt 1: Stoppe die Beispielanwendung und lasse Dynatrace ein Problem mit der Verfügbarkeit erkennen.

Navigiere auf dem Linux-Host, auf dem die Beispielanwendung ausgeführt wird, zum Verzeichnis mit der Datei "docker-compose.yaml" und führe diesen Befehl aus, um den Dienst zu beenden:

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

Mit diesem Befehl kannst du sicherstellen, dass er nicht ausgeführt wird:

sudodockerps

Schritt 2: Überprüfe die Problemkarte in Dynatrace.

Nach ein paar Minuten wird sich das Problem manifestieren und Dynatrace wird einen Vorgang erstellen. Der Unterschied bei Dynatrace ist, dass es sich nicht um ein Warnsystem handelt. Dynatrace verwendet deterministische KI, die eine automatische Fehlerstrukturanalyse durchführt, bei der Metriken, Protokolle, reale Benutzerdaten und Ereignisse berücksichtigt werden. Das Ergebnis ist eine Problemkarte, die Folgendes aufzeigt: die Auswirkungen auf das Geschäft, welche Anwendungen und Infrastrukturkomponenten betroffen sind, einen wiederholbaren Verlauf des Ereignisses und die Grundursache des Problems.

Fenster "Probleme"

Schritt 3: Überprüfe den automatisch generierten Jira-Vorgang.

Jira wird einen neuen Vorgang mit Problemdetails und einem Deep-URL-Link zurück zur Dynatrace-Problemkarte hervorbringen.

Problem Vorgang

Schritt 4: Zeige den Dynatrace-Kommentar an.

Sobald der Jira-Vorgang erstellt wurde, klicke auf die Vorgangs-ID von Dynatrace, um die Dynatrace-Problemkarte zu öffnen. Scrolle nach unten, um den Kommentar mit der URL zurück zum Jira-Vorgang anzuzeigen. Möglich wird dies durch die Smarttags von Jira Automation, die dem API-Aufruf in Dynatrace hinzugefügt wurden, der durch die Jira-Automatisierungsregel erstellt wurde.

In der Problemkarte nach unten zum Kommentar scrollen

** Profitipp: Du kannst dasselbe Konzept nutzen, um neue Jira-Kommentare als Dynatrace-Kommentare hinzuzufügen.  Erstelle dazu eine neue Automatisierungsregel mit dem Trigger "When: Issue commented" (Wenn: Vorgang kommentiert) und verwende diesen als Webhook-Text:

{

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

}

Erhöhung der Fehlerrate

** Profitipp: Vorgangsbenachrichtigungen in Dynatrace können so konfiguriert werden, dass zusätzliche Informationen von Dynatrace an Jira weitergegeben werden, einschließlich des Problemstatus, der betroffenen Entitäten und der Tags. Diese Daten können für komplexere Automatisierungsfunktionen wie das Zuweisen von Vorgängen, das Festlegen von Prioritäten, das Verknüpfen mit einer Komponente und das Ausfüllen von benutzerdefinierten Jira-Feldern weiterverwendet werden. Die If-Anweisung in Jira Automation kann beispielsweise ein Dynatrace-Tag analysieren bzw. dieses abgleichen.

Fenster "If-Anweisung"

Schritt 5: Behebe das Problem, indem du den Beispielanwendungsdienst neu startest.

Navigiere auf dem Linux-Host, auf dem die Beispielanwendung ausgeführt wird, zum Verzeichnis mit der Datei "docker-compose.yaml" und führe diesen Befehl aus, um den Dienst erneut zu starten:

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

Mit diesem Befehl kannst du sicherstellen, dass er jetzt ausgeführt wird:

sudodockerps

Schritt 6: Überprüfe die Anwendung erneut in Dynatrace.

Überprüfe die Seite für den Frontend-Dienst und du wirst feststellen, dass die Fehler verschwunden sind.

Fenster "Fehlerrate"

Und die Dynatrace-Problemkarte wurde ebenfalls automatisch geschlossen.

Mitteilung zur Fehlerrate

Versuche es mit ein paar anderen Problemen

Die Anwendung Dynatrace Orders enthält vordefinierte Probleme, die als verschiedene Versionen programmiert sind. Die Anwendung wurde mit einer Feature-Flag-URL programmiert, mit der die Version und damit das Verhalten der Anwendung geändert werden kann. Version 1 für die Bestellung und den Kundendienst zeigt ein "normales" Verhalten, und das Problem wird aktiviert, indem die Version auf 2 gesetzt wird.

Wenn du diese ausprobieren möchtest, lies dir die Seite mit der Übersicht über Dynatrace Order durch.

Konfiguration von Abfragen für Jira-Vorgänge auf der Release-Seite von Dynatrace

Auf der Seite Releases zeigt Dynatrace Abfragen für Vorgangs-Tracker an, einschließlich Vorgangsstatistiken zu den überwachten Entitäten in der Echtzeit-Bestandsverwaltung.

Abfrageergebnisse gefiltert

Schritt 1: Definiere deine JQL.

Konstruiere in der Vorgangssuche von Jira einen Ausdruck der Jira Query Language (JQL), wie den unten gezeigten.

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

Abfrage zeigt Vorgang an

Schritt 2: Erstelle Abfragen zum Release-Vorgangs-Tracker.

1. Navigiere in Dynatrace über das Menü auf der linken Seite zur Seite Releases.

2. Klicke auf der Seite Releases auf die Schaltfläche Configure (Konfigurieren).

Fenster "Echtzeit-Release"

3. Klicke auf der Seite Release Issue Tracker Queries settings (Einstellungen zu Abfragen für Release-Vorgangs-Tracker) auf die Schaltfläche Add new issue tracker query (Neue Abfrage für Vorgangs-Tracker hinzufügen).

Pfeil, der auf Einstellungen in der linken Navigationsleiste zeigt

4. Fülle im neuen Abfrageformular die Felder wie folgt aus:

  • Issue Label (Vorgangs-Label): dt-orders frontend Issues

  • Issue query (Vorgangsabfrage): project = DT AND status in (Backlog, "In Progress") AND component = frontend ORDER BY created DESC

  • Issue Theme (Vorgangs-Theme): Error

  • Issue Tracker System (Vorgangs-Tracker-System): Jira

  • URL Target (URL-Ziel): https://YOUR-COMPANY.atlassian.net

  • User Name (Benutzername): Deine Jira-Benutzer-ID, etwa deine E-Mail-Adresse

  • Password (Passwort): leer lassen

  • Token: Das Jira-Benutzer-Token, das du zuvor in diesem Leitfaden erstellt hast

5. Speichere die Abfrage.

Schritt 3: Prüfung

1. Navigiere über das Menü auf der linken Seite zurück zur Seite Releases

2. Du solltest jetzt die neue Abfrage und die Anzahl aller offenen Vorgänge sehen.

Fenster "Echtzeit-Release"

3. Wenn du auf die Vorgangszeile klickst, wird Jira geöffnet, damit du diese Warteschlangen prüfen kannst.

Bereinigung

1. Falls du einen On-Demand-Host für die Beispielanwendung ausführst, beende diesen.

2. Um die Beispielanwendung zu beenden, gehe zum Linux-Host, auf dem die Beispielanwendung ausgeführt wird, navigiere zum Verzeichnis mit der Datei "docker-compose.yaml" und führe diesen Befehl aus, um die Anwendung zu beenden:

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

Stelle sicher, dass mit diesem Befehl keine Container ausgeführt werden.

sudodockerps

3. Lösche in Jira das Projekt, das du für dieses Tutorial erstellt hast.

4. Lösche in Dynatrace das API-Token und die Regel für Problembenachrichtigungen, die du hinzugefügt hast.

Weitere Informationen

Das Plug-in Dynatrace Problem Integration for Jira findest du als Download im Atlassian Marketplace.

In der Dynatrace Community kannst du Fragen stellen (und deinerseits andere Benutzer unterstützen).

Erfahre hier mehr über die Funktionen von Dynatrace + Atlassian. 

Weitere Informationen über die Integration zwischen Dynatrace und Atlassian (und zum Thema "Intelligenter statt härter arbeiten") findest du hier.

In dieser Dynatrace Performance Clinic kannst du Atlassian, Dynatrace und Keptn in Aktion erleben.

Sieh dir unser anderes Tutorial "So integrierst du Dynatrace und Jira für eine bessere Observability" an, um zu erfahren, wie du die Integration zwischen Jira und Dynatrace einrichtest.

Für dich empfohlen

DevOps-Community

DevOps-Lernpfad

Kostenlos loslegen