StackStorm ist ein Open-Source-Tool, das bei der automatisierten Überwachung und Fehlerbehebung von Microsoft-Netzwerken im Allgemeinen und beim Monitoring und Management von Active Directory im Speziellen helfen kann.
StackStorm ermöglicht eine ereignisgesteuerte Automatisierung und bietet daher eine gute Plattform Für die Orchestrierung bspw. von Active Directory.
(Bild: Joos - StackStorm)
StackStorm ermöglicht eine ereignisgesteuerte Automatisierung und bietet daher eine gute Plattform Für die Orchestrierung bspw. von Active Directory. Grundsätzlich nutzt StackStorm das „If this then that“ Prinzip und kann so Aktionen auslösen, wenn bestimmte Ereignisse eintreten.
Beim Monitoring von Active Directory überwachen Sensoren kontinuierlich die Verfügbarkeit und Performance von AD-Diensten, während Trigger bei Unregelmäßigkeiten automatisch vordefinierte Aktionen auslösen. Diese Aktionen können die Durchführung von Diagnosetests, das Neustarten von Diensten oder das Sammeln relevanter Logdaten umfassen. Workflows orchestrieren komplexe Prozesse, wie die automatische Benachrichtigung von Administratoren oder das Einleiten von Sicherheitsmaßnahmen bei verdächtigen Aktivitäten.
Durch die flexible Integration bestehender Lösungen und die modulare Architektur können sich wiederholende Aufgaben effizient automatisiert werden, wodurch die Netzwerkstabilität verbessert und manuelle Eingriffe reduziert werden. StackStorm steht unter Apache-2-Lizenz kostenlos zur Verfügung.
StackStorm auf Ubuntu installieren
Ein schneller Weg, um StackStorm in einem Netzwerk zu implementieren, ist die Installation mit einem vorgefertigten Skript. Hat der Server eine Verbindung zum Internet, erfolgt die Installation mit:
Das Skript legt alle notwendigen Objekte an. Anpassen lassen sich die einzelnen Aktionen nach der Installation von StackStorm in der Datei "/etc/st2/st2.conf". Nach der Installation steht das StackStorm-CLI (Command Line Interface) zur Verfügung. Um die installierte Version abzurufen, kann man den Befehl "st2 --version" nutzen. Hilfe zu den Parametern des Command Line Interface zeigt das CLI mit dem Befehl "st2 -h" an.
Ein weiterer, schneller Weg für die Bereitstellung von StaackStorm erfolgt mit Hilfe von Docker und Docker-Compose:
git clone https://github.com/stackstorm/st2-dockersudo docker-compose up -d
Nach der Installation oder der Bereitstellung mit Docker, ist Stackstorm einsatzbereit. Die Weboberfläche steht über die URL "https://<IP-Adresse>" zur Verfügung. Zur Anmeldung werden die gleichen Anmeldedaten wie im CLI genutzt, zum Beispiel Benutzername "st2admin" und Kennwort "Ch@ngeMe". Im Terminal kann man sich mit dem StackStorm-Client-Container verbinden und im CLI arbeiten. Dazu wird bei der Bereitstellung mit Docker der folgende Befehl genutzt:
docker-compose exec st2client bash
In StackStorm bilden Aktionen, Trigger und Regeln die Grundlage der Automatisierung – auch für Active Directory. Aktionen führen konkrete Aufgaben aus, wie das Neustarten eines AD-Dienstes oder das Sammeln von Diagnosedaten. Trigger lösen diese Aktionen aus, sobald ein definiertes Ereignis, etwa ein Authentifizierungsfehler, eintritt. Regeln verknüpfen Trigger mit Aktionen und definieren die Bedingungen, unter denen eine Automatisierung gestartet wird, etwa wenn die CPU-Auslastung eines Domänencontrollers einen bestimmten Schwellenwert überschreitet. Diese Struktur ermöglicht eine präzise und flexible Automatisierung von AD-Verwaltungsprozessen. Um die vorhandenen Actions, Trigger und Regeln anzuzeigen, kommen die folgenden Befehle zum Einsatz:
st2 action list --pack=corest2 trigger listst2 rule list
Die Ausführung von Befehlen mit StackStorm lässt sich mit dem CLI ebenfalls testen. Dazu kommt zum Beispiel SSH zum Einsatz. Wichtig dabei ist die Konfiguration von SSH mit Schlüssel-Authentifizierung also nicht mit Benutzername und Kennwort. Um auf dem lokalen Server Befehle zu testen, kann man auch folgenden Befehl verwenden:
st2 run core.remote hosts=”localhost” -- uname -a
Darüber hinaus stehen auf der Plattform „StackStorm Exchange“ zahlreiche vorgefertigte Integrationspakete zur Verfügung, die direkt über das CLI in StackStorm integriert werden können. Mit dem Befehl "st2 pack install" greifen Admins dabei auf zahlreiche Packs zu, die Integrationen für Plattformen wie Kubernetes, Ansible, VMware und andere bieten. Generell ist der Einsatz von StackStorm jedoch ist nicht trivial. Daher ist es sinnvoll, sich parallel mit der Dokumentation der Umgebung auseinanderzusetzen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Sensoren in StackStorm
Sensoren haben in StackStorm die Aufgabe, Ereignisse zu überwachen und beim Eintreten eines Ereignisses einen Trigger auszulösen. Sensoren lassen sich so konfigurieren, dass sie in Echtzeit arbeiten oder in bestimmten Zeitabständen. Um eine Liste der aktuell verfügbaren Sensoren anzuzeigen, kommt der Befehl "st2 sensor list" zum Einsatz. Um einen bestimmten Sensor zu aktivieren, zum Beispiel einen Syslog-Sensor, wird der folgende Befehl genutzt:
st2 sensor enable syslog_sensor
Neben den vorgefertigten Sensoren können Admins auch eigene Sensoren erstellen. Hierfür kommt YAML zum Einsatz. Ein Sensor, der zum Beispiel einfache Pings ausführt, kann dabei folgendermaßen aussehen:
class_name: "PingSensor"description: "Überwacht eine IP-Adresse und prüft, ob sie online ist"enabled: truetrigger_types: - name: "ip.ping" description: "Trigger, wenn die IP-Adresse nicht erreichbar ist" payload_schema: type: "object" properties: ip_address: type: "string" status: type: "string" enum: ["online", "offline"]poll_interval: 60 # Prüft alle 60 Sekundensensor: module: "ping_sensor" class_name: "PingSensor" config: ip_address: "192.168.1.1" # Zu überprüfende IP-Adresse timeout: 5 # Ping-Zeitüberschreitung in Sekunden retries: 3 # Anzahl der Ping-Versuche, bevor der Host als offline gilt
In der YAML-Datei konfiguriert der Sensor einen Ping an die IP-Adresse 192.168.1.1 im 60-Sekunden-Intervall. Bleibt die IP-Adresse nach drei Versuchen unerreichbar, löst der Sensor den Trigger ip.ping aus und übermittelt den Status der IP-Adresse als „online“ oder „offline“. Anschließend lässt sich der Sensor mit Aktionen oder Workflows verknüpfen, um automatisiert auf den Ausfall der IP-Adresse zu reagieren, beispielsweise durch das Versenden einer Benachrichtigung oder den Start eines Fehlerbehebungsprozesses.
Trigger und Aktionen definieren
Ein Sensor erkennt ein Ereignis und löst einen Trigger aus. Trigger dienen als Schnittstellen, die festlegen, welche Aktionen bei einem spezifischen Ereignis ablaufen. Ein Beispiel für einen Trigger sieht so aus:
name: syslog_triggerpack: defaultdescription: "Löst bei kritischen Syslog-Fehlern aus"type: "core.syslog"
Trigger befinden sich in der Weboberfläche unter „Triggers“, wo auch vordefinierte Trigger verfügbar sind. Die Konfiguration der Trigger für StackStorm erfolgt jedoch über das CLI. Aktionen bilden die automatisierten Schritte, die StackStorm nach dem Auslösen eines Triggers ausführt. Eine Aktion kann etwa einen Dienst neu starten, eine E-Mail versenden oder ein Skript ausführen. Ein einfaches Beispiel definiert eine Aktion zum Neustart eines Dienstes mithilfe einer YAML-Datei: