Der Team Foundation Servers (TFS) wird heute nicht mehr nur zur Source Code Verwaltung verwendet, vielmehr unterstützt TFS die Entwickler durchgehend von der ersten Dokumentation der Anforderungen bis hin zum Release der fertigen Software. Dank der Unterstützung des gesamten Application Lifecycle ist TFS zur zentralen Komponente in der Software Entwicklung gereift. Ein Ausfall der TFS Infrastruktur hat den Stillstand der Entwicklung zur Folge, verursacht damit finanziellen Schaden und Release Termine können gefährdet werden. Daher ist es von zentraler Bedeutung, die TFS Infrastruktur adäquat zu überwachen. In diesem Beitrag möchte ich aufzeigen, wie eine solche Überwachung mit System Center Operations Manager möglich ist.
Der System Center Operations Manager (SCOM) ist ein Produkt der Microsoft System Center Suite. Mit Microsoft System Center kann ein IT Administrator seine IT Infrastruktur wie Netzwerke, Server und Applikationen effizient verwalten. Dazu gehört neben Installation / Deployment, Virtualisierung, Automatisierung und Backup auch das Monitoring dazu – was mit SCOM realisiert wird. SCOM selbst kann als Infrastruktur Framework betrachtet werden: Es stellt alle Komponenten zur Verfügung, um ein Monitoring überhaupt zu ermöglichen. Auf dieser Infrastruktur werden anschliessend die Monitoring-Funktionen selbst mit Management Packs nachgerüstet. Mehr dazu gleich, zuerst einen kurzen Überblick über die zentralen Komponenten der SCOM Infrastruktur:
Dies hört sich alles nach vielen Komponenten und einem äusserst komplexen Setup an. Für kleinere Umgebungen kann SCOM aber ohne weiteres auf einem einzelnen Server betrieben werden. Für grössere Umgebungen besteht die Möglichkeit, die SCOM Komponenten auf verschiedenen Servern zu betreiben was eine bessere Skalierbarkeit gewährleistet.
Wir wissen nun, was SCOM ist – doch wie können wir damit unsere TFS Umgebung überwachen? Die Antwort liegt auf der Hand: Microsoft stellt ein entsprechendes Management Pack für Team Foundation Server in den Versionen 2010, 2012 und 2013 zur Verfügung.
Nachdem Import des entsprechenden TFS Management Packs in SCOM, muss dies entsprechend für die Umgebung konfiguriert werden. Ein sogenannter „RunAs“ Account muss in SCOM hinterlegt und mit dem entsprechenden „TFS Profile“ verknüpft werden. Nach Möglichkeit sollte für das TFS Monitoring ein dedizierter Active Directory Account verwendet werden. Der hinterlegte Account muss im TFS als „Team Foundation Administrator“ konfiguriert werden. Dies wird benötigt, damit SCOM auf alle TFS Komponenten zugreifen kann. Zusätzlich ist zu beachten, dass auf allen TFS Servern inklusive aller Build Server der SCOM Agent installiert sein muss.
Nach der Konfiguration führt SCOM im Hintergrund ein sogenanntes „Discovery“ aus. Dieses erkennt die installierte TFS Umgebung und beginnt direkt mit dem Monitoring. Unter anderen werden folgende Komponenten in SCOM registriert:
Nachdem das erste Discovery erfolgreich abgeschlossen ist, beginnt SCOM alle oben aufgeführten TFS Komponenten zu überwachen. Im Management Pack wurden durch Microsoft Rules und Monitors erstellt, welche die Überwachung der Komponenten durchführen. Hier eine Zusammenfassung der wichtigsten:
Mit SCOM ist es möglich, auf Basis des Monitorings und der antretenden Fehler direkt Aktionen auszuführen, um diese Fehler zu beheben. Im TFS MP sind dazu für den TFS Job Agent und die TFS Build Services jeweils Aktionen vordefiniert, die diese im Fehlerfall neu starten. Da dies ein Eingriff in die produktive Infrastruktur ist, sind solche sogenannte Recovery Tasks standardmässig deaktiviert und müssen durch den IT Administrator explizit aktiviert werden.
Nun überwachen wir unsere TFS Umgebung mit dem Management Pack von Microsoft. Fällt eine Komponente aus, werden wir von SCOM informiert. Doch für ein vollständiges Monitoring der TFS Umgebung, müssen auch alle Subsysteme überwacht werden. Damit TFS funktioniert, müssen folgende Systeme ebenfalls Fehlerfrei laufen:
Auch für diese Komponenten existieren bereits Management Packs von Microsoft. Diese sollten ebenfalls Importiert und entsprechend Konfiguriert werden. Die erwähnten MPs sind sehr umfangreich, daher nur zwei Beispiele: Das Monitoring des „Windows Operating System“ überwacht, ob der verfügbare Speicherplatz einer Disk knapp wird und informiert entsprechend, wenn der Schwellwert (Standardmässig 10%) erreicht wird. Das MP des SQL Servers überwacht unter anderem die Verfügbarkeit und Performance des SQL Servers und aller darauf gehosteten Datenbanken.
Was gewinnen wir nun mit einem Monitoring? Wir können in Zukunft proaktiv arbeiten! Mithilfe des Monitoring bemerken wird ein Problem bereits bevor es zu einem Ausfall führt: Der Speicherplatz kann erweitert oder bereinigt werden, bevor eine Disk komplett voll ist und dadurch Ausfall verursacht. Dank des Monitorings kann die Verfügbarkeit und Stabilität der TFS Umgebung gesteigert werden. Wenn trotzdem etwas ausfällt, wird dies mithilfe des Monitorings schnell entdeckt, der IT Administrator wird bei der Fehlersuche unterstützt, und somit die Ausfallzeit möglichst kurz gehalten.
Neben der technischen Umsetzung des Monitorings, darf der organisatorische Teil nicht vergessen werden. Die auftretenden Fehler müssen durch einen IT Administrator abgearbeitet und behoben werden. Bleiben diese Liegen, nützt das Monitoring nichts. Weiter ist es zentral, dass das Monitoring an alle Systemveränderungen angepasst wird. Denn nur wenn die aktuellen Systeme überwacht werden, kann der Nutzen des Monitoring voll ausgeschöpft werden.
Schreiben Sie einen Kommentar