Power Automate Prozessüberwachung mit PA Proc Mon
Für jede Umgebung mit automatisierten Abläufen besteht der Bedarf einer Überwachung dieser Prozesse. Für die Power Platform und die Power Automate Prozessüberwachung entwickelte applied technologies den PA Proc Mon ("Power Automate Process Monitor").
Mit dem PA Proc Mon werden alle Flows einer Microsoft Power Platform Bereitstellungsumgebung (Entwicklung, Integration/Test, Produktion) kontinuierlich überwacht. Die Überwachung kann für beliebige Zeitintervalle realisiert werden und läuft automatisiert ab. Im Vorfeld wird festgelegt, welche Zustände, Kennzahlen, Status oder Bedingungen überwacht werden sollen. Beim Eintreten eines Zustands oder einer Bedingung sendet das Tool Benachrichtigungen und Alarmierungen an Verantwortliche.
Ablauf
Der Ablauf des Monitorings beginnt mit einem Power Automate Flow, mit dem die gewünschten Zeitintervalle für die Überwachung gesetzt werden. Anschließend ruft dieser Flow für die berechneten Zeitintervalle einen Subflow (auch Child Flow) auf. Dieser Child Flow erhebt die Prozessdaten für die Überwachung. Dafür wird zuerst, wenn erforderlich, eine Verbindung/Anbindung zur entsprechenden Anwendung oder Schnittstelle hergestellt, sodass anschließend die Prozessdaten erhoben und gespeichert werden können. Dann werden die Daten in Hinblick auf vorher definierte Bedingungen, Zustände oder Kennzahlen analysiert. Wenn Toleranzwerte überschritten werden oder bestimmte Bedingungen eintreten, werden weitere Child Flows ausgelöst, die geeignet Alarme senden.
Fallstricke und Lösungen
Um eine Überwachung durchführen zu können, werden sowohl detaillierte Daten über den Prozess wie GUID, Name oder Zustand als auch Daten über die einzelnen Prozessdurchläufe (auch Flow Runs) wie Status, Start- und Endzeitpunkt benötigt. Im Gegensatz zu den Daten über einen Prozess kann auf die Daten zu den einzelnen Flow Runs nicht über das Dataverse zugegriffen werden. Jeder Flow kann eindeutig über eine „Flow GUID“ identifiziert werden, jeder Durchlauf verweist auf eine Flow GUID und kann so einem Flow zugeordnet werden.
REST API und Postman
Um die Flow Runs eines Flows auflisten zu können, wird eine REST API verwendet.
REST-APIs kommunizieren über HTTP-Anfragen und stellen heute eine gängige Methode dar, um Komponenten und Anwendungen miteinander zu verbinden. Um festzustellen, ob eine HTTP-Anfrage die gewünschten Informationen liefert, wird Postman genutzt. Hier wird der richtige API-Endpunkt, über den die Flow Runs aufgelistet werden können mit einer GET-Anfrage ermittelt. Nach erfolgreicher Anfrage und Erhalt von Angaben zu den einzelnen Flow Runs muss die GET-Anfrage nun im Power Automate Umfeld integriert werden, damit die Auflistung der Durchläufe auch dort möglich ist.
Power Automate Flow Monitoring per Custom Connector
Für die Integration der entsprechenden HTTP-Anfrage in Power Automate wird ein Custom Connector benötigt. Für den Custom Connector wird zuvor eine Authentifizierung über OAuth2.0 festgelegt. Anschließend wird eine Aktion angelegt, die in Power Automate verwendet werden kann. An dieser Stelle wird die vorher definierte Anfrage, die als Aktion in Power Automate mit der Eingabe der aktuellen Bereitstellungsumgebung und der FlowGUID alle Flow Runs nach Belieben ausgeben und filtern kann.
Error Handling für die Power Automate Prozessüberwachung
Die Daten, die für die Power Automate Prozessüberwachung erforderlich sind, werden in diesem Konzept über einen Prozess erhoben. Wenn dieser Prozess zur Datenerhebung aber fehlschlägt, kann die Überwachung nicht durchgeführt werden. Um das Fehlschlagen des Prozesses zu verringern bzw. zu verhindern, besitzt der Prozess ein Error Handling. Eine gängige Methode dafür ist die Try-and-Catch Methode, mit der Fehler, Abweichungen und Ausnahmen innerhalb und während des Ablaufs des Prozesses behandelt werden. Dafür werden Aktionen in einem Block, dem sogenannten Try-Block, gruppiert. Danach folgt der entsprechende Catch-Block, der so konfiguriert wird, dass er nur dann ausgeführt wird, wenn der Try-Block bzw. eine Aktion innerhalb des Blocks fehlschlägt. Im Catch-Block werden für das Fehlschlagen Aktionen wie das Senden von Alarmen oder ähnliches festgelegt, die beim Aufruf des Catch-Blocks ausgeführt werden. So kann der Prozess, der die Überwachung ermöglicht, überwacht werden, sodass bei Problemen direkte Reaktionen erfolgen können.
Fazit
Durch den Einsatz des Custom Connectors und das Hinzufügen des Error Handlings, bietet das PA Proc Mon eine gute und leichte Methode, um Prozesse erfolgreich zu überwachen. Mit Hilfe des Custom Connectors können innerhalb von Power Automate Daten über den Flow und die Flow Runs über verschiedene Filterungen hinweg einfach erhoben werden. Mit dem Inkludieren des Error Handlings für die Flows, die an der Überwachung beteiligt sind, wird eine kontinuierliche Überwachung ermöglicht, da Fehler direkt aufgefangen werden. Die Methode bietet sich dabei nicht nur für Flows innerhalb von Power Automate an, sondern kann auch auf Prozesse externer Anwendungen angewendet und umgesetzt werden.
Autor: frwi