Flows Monitoring: Konfiguration überwachen und bei Fehlkonfiguration alarmieren

Größere Organisationen haben sehr viele Flows in Ihrem Synesty Account. Da kann es auch mal zu oft versehentlichen Fehlkonfigurationen kommen wie z.B.

  • eine Limit Variable wurde zum Testen auf 1 gesetzt, muss aber eigentlich auf unbegrenzt stehen
  • Flow-Variablen wurden nicht konsistent benannt
  • Zeitplanung wurde testweise deaktiviert, muss aber eigentlich aktiviert sein

Was kann man dagegen machen?

Wünschenswert wäre, wenn man die Flow-Konfiguration überwachen könnte, und z.B. eine Email erhält, wenn die Konfiguration gegen bestimmte Regeln verstößt.

Lösungsansatz

Es gibt einen neuen Step FlowList. Dieser gibt alle Flows des aktuellen Workspace als Spreadsheet aus.

Damit kann man sich z.B. einen eigenen Alarm bauen.

Die Idee, für die Anforderung wäre wie folgt:

  1. Erstelle einen Flow
  2. Schaffe eine Markiermöglichkeit für Flows wie z.B. „Warnung wenn Planung deaktiviert“.
    Erstelle im Flow, der überwacht werden soll eine Flow-Variable: warnungsmodus=Warnung wenn Planung deaktiviert. Diese Flovariable dient nur als Markierung (sollte daher auf PRIVATE gestellt werden)
  3. Füge die Steps FlowList, Filter und StopFlowIF hinzu.
    Grundidee: Mit Filter und StopFlowIF kannst man den Flow mit Fehlermeldung stoppen, wenn es Flows mit versehentlich deaktivierter Zeitplanung gibt.

FlowList Ausgabe sieht ungefähr so aus:

Dort gibt es eine Spalte trigger-scheduling-status (ENABLED / DISABLED) sowie eine variables Spalte, welche alle Flow-Variablen als Map enthält.

Im Filter Step filtert man sich alle Zeilen heraus, in denen trigger-scheduling-status=DISABLED steht UND wo in der Spalte variables ein "warnungsmodus=Warnung wenn Planung deaktiviert" steht.

Hinweis : Im Screenshot des Flows haben wir die Flowvariable „warnungsmodus“ in den Überwachungsflow selbst eingefügt. Das ist nur für das Beispiel und in der Praxis natürlich sinnlos, da man ja nicht den Überwachungsflow selbst überwachen will. Die Flow Variable muss natürlich in alle Flows, die überwacht werden sollen.

Das sieht dann so aus.

Damit man jetzt eine Warnung oder einen Fehler bekommt könnte man den StopFlowIf Step benutzen. Dieser soll den Flow mit einem Fehler stoppen, sobald das Spreadsheet aus dem Filter mindestens eine Zeile enthält - denn das bedeutet, dass es mindestens einen Flow gibt, der die Filterbedingung erfüllt - d.h. wo die Zeitplanung (versehentlich) deaktiviert ist.

Wenn man diesen Flow laufen lässt und es einen solchen Flow mit deaktivierter Zeitplanung gibt, dann endet der Flow mit einem Fehler.

Wenn man unter Mein Konto / Einstellungen eingestellt hat, dass man bei Fehlern sofort benachrichtigt werden möchte, bekommt man das dann gleich als Mail.

Fazit

Wir hoffen, dass wir damit eine Lösung aufzeigen konnten, wie man die Konfiguration von Flows überwachen kann und sich bei Fehlkonfiguration oder Auffälligkeiten benachrichtigen lassen kann.

Mit diesem Ansatz kann man jetzt kreativ werden uns sich noch andere Analysen und Logiken bauen, um Flows hinsichtlich bestimmter Eigenschaften zu analysieren. Weitere Beispiele wären, dass man

  • prüfen könnte, ob Flows oder Variablen bestimmte Namensschemas einhalten,
  • oder Limit-Variablen gefüllt sind oder versehentlich Limit=1 gesetzt haben (was man häufig beim Debugging mal vergisst zu entfernen)
  • … usw.

Hallo,
das ist schon eine gute Möglichkeit Flows zu überwachen.
Ich dachte ich könnte über den Step FlowList auch herausfinden ob ein Flow gerade läuft. Das scheint aber nicht angezeigt zu werden. Gibt es eine andere Möglichkeit?
Hintergrund der Frage: Ich möchte über einen FlowTrigger einen Flow starten. Wenn dieser aber noch läuft gibt es einen Fehler. Deshalb möchte ich in den Bedingungen für den FlowTrigger testen ob der Flow gerade läuft.

Gruß Dirk

D.h. du willst eigentlich sagen: „Wenn Flow noch läuft, dann triggere nicht“ ?

1 „Gefällt mir“

Korrekt, das möchte ich abfragen.

1 „Gefällt mir“

Wir haben das mal besprochen. Wir würden diese Funktion stattdessen direkt in den FlowTrigger einbauen.
D.h. du könntest dann einstellen, was passieren sollen, wenn der Flow noch läuft:

  • Abbrechen (aktuelles Verhalten und weiterhin default)
  • FlowTrigger Step überspringen und beim nächsten weitermachen

Das würde die Bedienung für diesen Fall einfacher gestalten.

1 „Gefällt mir“

Das wäre sehr gut.
Eine kleine Anmerkung: Wäre es auch möglich Abbrechen ohne Fehler einzubauen (als default)?

Viele Grüße Dirk

Als Option anbieten können wir das. Aber default-Verhalten ändern ist meistens keine so gute Idee. Das würde bei Kunden, die sich auf das aktuelle Verhalten verlassen (nähmlich dass der Flow abbricht) zu unerwünschten Überraschungen führen.

Kein Problem, auch als extra Option ist das für mich in Ordnung.

Davon abgesehen soll das Verhalten gleich sein

Aber es soll kein Fehler geloggt werden :wink:

Wir hatten initial überlegt, die gleichen Optionen wie beim StopFlowIf anzubieten.

  • Mit Fehler beenden (Standardwert)
  • Erfolgreich beenden
  • Mit Warnung beenden
  • Mit Warnung fortsetzen

Da wäre es die Option Mit Warnung fortsetzen. Da würde kein Fehler, aber eine Warnung geloggt.
Wäre das ok? Oder brauchst du wirklich weder Fehler noch Warnung?

Das ist optimal. Super!

Aber wenn ich nochmal drüber nachdenke, wäre auch eine Einstellung „Ohne Warnung fortsetzen“ oder „Erfolgreich fortsetzen“ nicht verkehrt :grin:

Wie ich sehe seit Ihr bisher noch nicht dazu gekommen.
Habt Ihr schon eine Vorstellung wann Ihr das einplanen könnt?

Gruß Dirk

Hallo Dirk,

die Option im FlowTrigger Step wird gerade eingebaut. Ich denke, das es im Laufe der nächsten Woche verfügbar ist.

Viele Grüße
Torsten

1 „Gefällt mir“

Hallo Dirk,

die Option (flowAlreadyRunning) ist jetzt bei den erweiterten Einstellungen des FlowTrigger Steps vorhanden.

Viele Grüße
Torsten

1 „Gefällt mir“

Vielen Dank, sehr gut gelöst.

Gruß Dirk

1 „Gefällt mir“