Behebung von Vorfällen mit Webhook-Ereignissen
Als Administrator, der für die Hardware-Infrastruktur verantwortlich ist, können Sie Webhook-Ereignisobjekte mit Ihrem Ticket-System für die Behebung von Vorfällen verwenden. Dieses Objekt arbeitet mit der Event Engine-Funktion und unterstützt Sie bei der schnellen Lösung von Standardvorfällen, wodurch Sie Zeit sparen, um schwierige Probleme zu lösen.
Mehr Informationen:
Diese Event Engine-Funktion kann dazu verwendet werden, auf interne und externe Ereignisse zu reagieren. Der folgende Anwendungsfall basiert auf einem externen Ereignis, das ein Webhook-Ereignisobjekt verwendet, um eingehende externe Ereignis-Nutzdaten zu überwachen und zu empfangen.
Diese Seite beinhaltet Folgendes:
Was werde ich lernen?
- Erstellen einer IA-Ereignisdefinition
- Erstellen eines Webhook-Ereignisobjekts basierend auf einer Ereignisdefinition
- Zuordnen von externen Ereignis-Nutzdaten mit JSONPath
- Filtern von empfangenen Ereignis-Nutzdaten mit bedingten Operatoren
Voraussetzungen
Um die Funktion Webhook-Ereignis nutzen zu können, sind die folgenden Komponenten und Kenntnisse erforderlich:
- Eine Installation von Analytics mit der Rule Engine. Siehe: Installieren von Analytics und der Event Engine
- Vorkenntnisse in der Implementierung von Ereignis- und Variablen(VARA)-Objekten
- Ein gutes Verständnis für Webhooks und deren Umsetzung
- Zugriff auf ein externes System, das die Verwendung von Webhooks ermöglicht
- Kenntnisse der JSONPath-Syntax
- Kenntnisse über das JSON-Schema Ihres externen Systems
Hinweis: Wenn sie nicht in der Seitenleiste des Explorers aufgelistet sind, müssen Sie sie von unserem Marketplace unter https://marketplace.automic.com/ herunterladen und installieren. Anweisungen zur Installation eines Action Packs finden Sie unter Packs installieren in Mit Packs und Plug-ins arbeiten.
Mehr Informationen:
Beschreibung des Anwendungsfalls
Dieses Beispiel basiert auf folgendem Szenario:
- Ein Überwachungstool überwacht die Hardware-Infrastruktur-Ereignisse eines Unternehmens.
- Es tritt ein Vorfall im Hinblick auf die Festplattenkapazität des Servers auf.
- Das Überwachungstool meldet JIRA den Vorfall, und es wird ein Vorfall-Ticket erstellt. Ein Webhook wird in JIRA eingerichtet, und ein Webhook-Ereignis wird in AWI erstellt, um JIRA-Ereignisse zu überwachen.
- Die JIRA-Ereignis-Nutzdaten stimmen mit den Event EngineRegeln für den eingehenden JIRA-Vorfall überein.
- Die Event Engine reagiert in Echtzeit und führt entweder eine automatisierte Aufgabe aus, um dieses Problem zu beheben oder die Vorfalldaten zu erweitern, falls keine Lösung gefunden werden kann.
Das folgende Diagramm zeigt das Vorgehen bei der Fehlerbehebung:
Einen begrenzten API-Schlüsselerstellen
Für Webhook-Endpunkte ist ein begrenzter API-Schlüssel erforderlich. Der begrenzte Schlüssel muss für den Mandanten generiert werden, auf dem das Webhook-Objekt ausgeführt wird. Wenn die externe Webhook-API (zum Beispiel JIRA) den Berechtigungsschlüssel im HTTP-Header nicht senden kann, kann er auch als URL-Parameter bereitgestellt werden.
Beispiel:
http://host:port/analytics/api/v1/100/12345?authorization=1cb812db-6616-49da-af97-3719aeaddc24
Weitere Informationen finden Sie unter Analytics REST API – Allgemeine Informationen
Eine IA-Ereignisdefinition erstellen
Die erste Phase besteht darin, eine IA-Ereignisdefinition für die eingehende JIRA-Ereignisnutzlast zu erstellen. Sie enthält die Ereignisstruktur, die die Ereignis-Engine benötigt, um Regeln auszulösen und Prozesse auszuführen (z. B. Jobs).
In diesem Beispiel werden wir eine Ereignisdefinition mit Attributschlüsseln erstellen, basierend auf einem issue created-Ereignis von JIRA.
- Melden Sie sich bei einem Automation Engine-Mandanten an, wo ein IA-Agent zugewiesen ist. Siehe: Mandanten den Agenten zuordnen
-
Eine IA-Ereignisdefinition erstellen. Klicken Sie auf Process Assembly in AWI. Dann:
- Klicken Sie in der Symbolleiste auf Objekt hinzufügen
- Variablenbaum auswählen und erweitern
- Wählen Sie XML-Variablen aus und erweitern Sie sie, und wählen Sie dann IA > EVENT_DEFINITION-Variable, um das Definitionsblatt zu erstellen.
- Benennen Sie das IA-Ereignisdefinitionsblatt in JIRA.ISSUE.EVENT
um
-
Fügen Sie der neu erstellten Ereignisdefinition JIRA.ISSUE.EVENT die Attributschlüssel hinzu. Dazu müssen Sie den Inhalt und die Struktur der empfangenen JIRA-Ereignisnutzlast kennen.
Es gibt verschiedene Möglichkeiten, diese Informationen zu erhalten:- Verwenden Sie JIRA-Webhook-Webseiten, um die Ressourcen zu beschaffen
- Erstellen oder verwenden Sie einen vorhandenen Endpunkt, um eine Testereignis-Nutzlast zu erstellen
Wichtig! Die JIRA-Ereignisnutzlast basiert auf dem strukturierten Schema von JSONPath. Wenn die Spalte Schlüsselattribute der Ereignisdefinition gefüllt wird, muss das Schema in eine flache Struktur umgewandelt werden.
Das folgende Beispiel zeigt, wie die JSONPath-Strukturdaten in eine flache Struktur umgewandelt werden.
Hinweis: Obwohl es keine Regel für die Benennung von Schlüsselattributen gibt, werden sie so benannt, wie sie in JSON angezeigt werden. Auf diese Weise können Sie sie einfach zuordnen, wenn Sie ein Webhook-Ereignis erstellen.
Die folgenden Spalten werden gefüllt:
- Attributschlüssel
- Beschreibung
- Typ
Die Informationen, die zur Erstellung der Ereignisdefinition verwendet werden, basieren größtenteils auf Feldern im Hinblick auf JIRAissue, Sie haben jedoch auch Benutzer- und Ereignis-bezogene Felder.
Hier folgt die vollständige Liste, die in der Attributschlüssel-Spalte der Ereignisdefinition erstellt wurde:
Erstellen und Zuordnen des Webhook-Ereignisses
Damit haben Sie die Ereignisdefinition JIRA.ISSUE.EVENT erstellt und gefüllt. Jetzt können Sie einWebhook-Ereignisobjekt in AWI erstellen.
Jetzt erstellen Sie einen Endpunkt für JIRA, damit es Ereignisnutzdaten an die Event Engine senden kann, wo sie verarbeitet werden.-
Klicken Sie im AWI auf Process Assembly.
- Klicken Sie in der Symbolleiste auf Objekt hinzufügen
- Ereignisbaum (EVNT) auswählen und erweitern
- IA-Variablen auswählen und erweitern und WEBHOOK Ereignis auswählen
- Im Webhook-Ereignis wählen wir die Ereignisdefinition JIRA.ISSUE.EVENT aus der Dropdown-Liste aus.
- Sie müssen nun alle Attributschlüssel im Ereignisdefinition-Blatt dem JSON-Pfad zuordnen. Inhalt und die Struktur sind bereits in der JIRA-Ereignisnutzlast bekannt, da Sie dies bereits beim Erstellen der Ereignisdefinition JIRA.ISSUE.EVENT verwendet haben.
Wichtig! Testen Sie immer Ihre JSONPath-Ausdrücke für die Event Engine, bevor Sie sie in die Produktion übernehmen. JSONPath-Ausdrücke, die in externen Tools erstellt wurden, funktionieren möglicherweise nicht erwartungsgemäß, da es keinen allgemeinen Standard für die JSONPath-Abfragesyntax gibt.
Schließlich wird jeder Attributschlüssel seinem entsprechenden JSONPath zugeordnet. - Um eine Regel in der Event Engine auszulösen, erstellen Sie einen bedingten Filter, der angewendet wird, wenn ein issue_created-Ereignis empfangen wird.
Unter Verwendung vonJIRA-Online-Informationen für die Syntax erstellen wir den folgenden Filter:
$webhookEvent is equal to jira:issue_created.
Hinweis: Die Filter-Operator-Tabelle hat die gleichen Operatoren wie in Einfache Regel angegeben.