Vor einiger Zeit haben wir von einem unserer Langzeitkunden eine Anfrage erhalten, ob es denn möglich sei, Tickets und Probleme, die während der Nachtschicht aufgetreten sind, auf einen einfach verfügbaren Weg zentral zu loggen und Teammitglieder zu informieren. Unser erster Vorschlag war einfach eine E-Mail über einen Broadcast an alle Teammitglieder zu schicken. Dies wurde aber abgelehnt, da das Team befürchtete, dass es zu viel Unordnung erzeugen würde.
In weiteren Gesprächen mit dem Kunden konnten wir in Erfahrung bringen, dass Microsoft Teams, in diesem Fall ein eigens eingerichteter Chatroom, intensiv für interne Diskussionen zu aktuellen Tickets genutzt wird. Mit diesem zusätzlichen Wissen recherchierten wir, inwiefern wir diese bereits bestehende Infrastruktur nutzen können, um unseren Kunden die gewünschte Funktionalität bereit zu stellen.
Unser Ziel war es, eine möglichst leichte und aufwandsarme Lösung zu entwickeln, die nahtlos an existierende Prozesse angebunden werden kann. Erreicht haben wir dies dann schlussendlich, indem wir Enterprise Alerts Fähigkeit, automatisch Fernaktionen auszulösen, genutzt haben. Initial wurde dieses Feature bereitgestellt, um Bereitschaftshabenden das manuelle Auslösen von Fernaktionen abzunehmen. Hierzu gehören zum Beispiel Tasks, die das Neustarten von betroffenen Services bzw. Servern oder das Sammeln und das Anlegen von Logdateien zu alarmierten Problemen. In diesem Fall wird dieses Feature genutzt, um über einen PowerShell Skript automatisiert die wichtigsten Informationen von einem zuvor erstellten Ticket in einem Microsoft Teams Chatroom zu posten, um dort eine Kollaboration der Teammitglieder zu ermöglichen.
Einrichten des Incoming Webhook Add-Ons in Microsoft Teams
- Loggen Sie sich in https://teams.microsoft.com/ ein oder starten Sie ihre Teams App.
- Gehen Sie zu Apps.
- Suchen Sie nach Incoming Webhook in den verfügbaren Apps.
- Fügen Sie ein Team hinzu.
- Geben Sie dem Connector einen Namen und klicken Sie auf Create.
- Kopieren Sie sich die URL in ein Dokument und behalten Sie dieses griffbereit.
REST Webhook Call via PowerShell Skript
Das PowerShell Skript stellt in diesem Szenario die Kernfunktionalität bereit- es ist das Bindeglied zwischen Enterprise Alert und dem Microsoft Teams Webhook. In diesem Beispiel werden wir nur mit 2 Parametern arbeiten. Sollte Sie mehr Parameter wünschen, lässt sich das problemlos skalieren.
- Legen Sie sich für den Script einen Ordner an. Ein lokaler Ordner (z.b. C:\Scripts) ist dabei empfehlenswert, da Netzwerklaufwerke ihre ganz eigenen vermeidbaren Probleme mit sich bringen.
- In diesem Ordner legen Sie bitte ein neues ps1 File an und geben Sie ihm einen kurzen, verständlichen Namen.
- Öffnen Sie das File und kopieren Sie den unterstehenden Skripttext hinein. Ersetzen Sie <REST_Endpoint> Platzhalter mit der URL , die Sie zuvor in der WebHook Konfiguration erhalten haben:
param( $Param1, $Param2 ) Invoke-RestMethod "<REST_Endpoint>" -Method POST -ContentType "application/json" -Body "{'title':'$Param1','text':'$Param2'}"
- Speichern Sie das ps1 File und kopieren Sie sich den Skript-Pfad und Skriptnamen in ein Dokument. Behalten Sie dieses griffbereit.
Fernaktion einrichten
Um die Fernaktion anzulegen, müssen wir zunächst einen Task im Windows Task Scheduler anlegen und ihn so konfigurieren, dass er 2 Parameter an das zuvor angelegte PowerShell Skript übergibt, die von Enterprise Alert bereitgestellt werden.
- Stellen Sie sicher, dass im Task Scheduler das Enterprise Alert Verzeichnis angelegt ist.
- Legen Sie in diesem Verzeichnis einen neuen Task an. Bitte stellen Sie sicher, dass er wie untenstehend konfiguriert ist.
- In dem Task legen Sie anschließend eine neue Action an und konfigurieren Sie wie untenstehend beschrieben.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
-ExecutionPolicy Bypass -File "C:\Scripts\Teams.ps1" -param1 "$(Arg0)" -param2 "$(Arg1)"
- Loggen Sie sich als Administrator in das Enterprise Alert Portal und navigieren Sie zu Remote Actions.
- Legen Sie eine neue Fernaktion and und achten Sie darauf, dass diese im Task Scheduler ausgeführt wird. Da diese Fernaktion automatisch ausgefüghrt werden soll ,sind keine weiteren Konfigurationen nötig.
- Im Action Tab wählen Sie vom Dropdown Menü den zuvor angelegten Task aus.
Fernaktion an das existierende Alarmierungsszenario anbinden
Der letzte Schritt ist die Fernaktion an ein bereits existierendes Alarmierungsszenario anzubinden.
- Öffnen Sie eine Richtline, die Sie um die Teams Funktion erweitern wollen und gehen Sie zum Action Tab. Dort fügen Sie die zuvor angelegte Fernaktion hinzu und setzen den Flag für Auto-run.
- Klicken Sie auf Edit Mappings, und fügen Sie die Parameter, die Sie aus Ihrem Quellevent haben, ein, um es in Teams zu posten. In diesem Fall werden die ExternalID und die StatusDescription verwendet.
Wann auch immer jetzt die Alarmierungsrichtline ausgelöst wird, gibt es im Chatroom des Teams einen neuen Post, der es den Teammitgliedern erlaubt, Probleme themenbezogen zu diskutieren.
Für Fragen, stehen wir Ihnen gern unter support@derdack.com zur Verfügung.