In diesem Blogpost geben wir Euch einen Einblick in die Microsoft Operation Management Suite (OMS).
Das OMS von Microsoft hilft vor allem, proaktiven Support zu leisten und Probleme so früh wie möglich zu erkennen. Mit OMS ist es möglich „out of the box“ Windows Events eines Servers zu überwachen und bei möglichen Problemen direkt Emails zu versenden oder gar Webhocks aufzurufen. Webhocks sind Callbacks, die via http POST Web Endpunkte aufrufen. Diese können z.B. auch dafür genutzt werden, automatisiert Telefonanrufe durchzuführen. Es gibt also theoretisch unbegrenzte Möglichkeiten, über Fehler zu informieren.
Für Smartphones existiert zudem eine OMS-App, die Fehlermeldungen (Alerts) direkt auf das Smartphone pusht. In ihr können mehrere Workspaces gleichzeitig überwacht werden. Das ist besonders hilfreich, wenn man mehrere Mandanten getrennt überwachen möchte.
Der folgende Screenshot zeigt eine Alert E-Mail, die als Standard versandt werden kann.
Zur Einrichtung wird eine Azure Subscription benötigt. In ihr laufen die Azure Log Analytics, die für das OMS benötigt werden. Auf mms.microsoft.com wird man durch die einzelnen Schritte geleitet; nach dem Anlegen eines ersten Workspace gelangt man auf die Workspace-Übersicht. Dort kann man via Settings à Connected Sources à Windows Servers einen Agent downloaden, siehe Screenshot:
Dieser Agent muss auf dem zu überwachenden System installiert werden.
Sollte das System nicht direkt mit dem Internet kommunizieren können, kann auch ein OMS Gateway Client auf einem anderen Server z.B. einer Monitoring Probe installiert werden. Damit können dann die Agents auf den Systemen über das OMS Gateway mit dem OMS online kommunizieren. Mehr Informationen dazu finden sich hier: https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-oms-gateway
Wenn Daten ins OMS laufen, müssen Alerts konfiguriert werden. Da eine Überwachung feingranular ablaufen soll, werden oftmals viele Alerts benötigt. Leider ist es noch mühsam, Alerts zu entwickeln, weil Versionierung und Änderungsverfolgung nicht unterstützt werden. Deshalb gibt es für Azure Log Analytics und das OMS eine Rest API, auf die via dem Cmdlet „armclient“ (https://github.com/projectkudu/ARMClient) zugegriffen werden kann.
Die Installation des Cmdlets erfolgt am komfortabelsten über choco (https://chocolatey.org/), einem package manager für Windows. Die API ist auf https://docs.microsoft.com/en-us/azure/log-analytics/log-analytics-api-alerts genauer beschrieben.
Dabei ist wichtig zu wissen, dass vor den Alerts erst Searches und Schedules erstellt werden müssen. Um diese Arbeit zu erleichtern, ist es möglich, dieses Powershell script zu nutzten: https://pastebin.com/e6kZn8ux
Für das Skript wird eine Alert Definition benötigt, z.B. diese: https://pastebin.com/SE7XbmwA
Außerdem muss im Azure Active Directory eine App via Azure Active Directory à App Registrations angelegt werden . Die App kann dann API Keys erstellen, die in dem Powershell Script eingetragen werden müssen.
Das Powershell Skript muss mit den folgenden Variablen gefüllt werden:
- Der path zu der Alert Definition.
- Die tenantID ist die Directory ID, die in den Properties der Azure Active Directory zu finden ist.
- Der appUser ist die Application ID der angelegten App.
- Das appUserPassword ist ein generierter Key aus der angelegten App
- Die SubscriptionID ist die Azure Subskription ID, mit der das OMS bei der Erstellung des Workspaces verbunden wurde.
- Der workspaceName ist der angelegte Workspace im OMS.
Die in dem JSON file eingetragenden „Queries“ der Searches sind, nicht wie in der OMS-Oberfläche in der Query Sprache, sondern in der „Object Query Language“. Das Script überschreibt bei jedem Ausführen vorhandene Alerts, wenn die Namen gleich bleiben.
Mit der automatisierten Alert-Erstellung ist es jetzt möglich, das JSON in die Versionskontrolle zu bringen und schneller auszurollen.
Hilko Krüger
Software Developer .NET QUIBIQ Hamburg