Use Case

Beziehungen zwischen CIs automatisch löschen

Einleitung

Eine der Herausforderungen bei der Datenpflege innerhalb einer CMDB ist, die Beziehungen zwischen den CIs aktuell zu halten. Im Gegensatz zu CIs, bei denen gängigerweise der Lebenszyklus gesteuert wird, steht für Beziehungen oft kein Lebenszyklusmodell bzw. eine Lebenszyklussteuerung zur Verfügung.

Das Erstellen von Beziehungen zwischen CIs in der CMDB ist in den meisten Fällen relativ einfach. Oft stehen die Relationen bereits beim Import aus den Datenquellen zur Verfügung.

Im Folgenden einige exemplarische Beispiele für Importe:

  • Aus dem Active Directory (AD) bieten sich folgende Klassiker an:

    • Person ist Vorgesetzter von Person

    • Person ist Mitglied einer Abteilung, Kostenstelle, Niederlassung

  • Aus dem vCenter (VMware):

    • Datacenter enthält Cluster

    • Cluster enthält Host

    • Host enthält Virtuelle Maschine

  • Aus einem IT-Inventarisierungs-Tool (z.B. Baramundi, Empirum)

    • Workstation hat installiert Betriebssystem

    • Workstation hat installiert Anwendung

Innerhalb eines ITSM-Tools mit integrierter CMDB bieten sich folgende Beispiele an:

  • Störung (Incident) wurde erstellt von Person

  • Incident oder Change bezieht sich auf Hardware

  • Support-Einheit bearbeitet Störung

Müssen Beziehungen gepflegt (aktualisiert) werden und wie geht das? Die Antwort auf diese Fragestellung ist von der jeweiligen Beziehung abhängig. Im Allgemeinen kann man dabei drei Szenarien unterscheiden, die in obigen Beispielen enthalten sind.

A. Nicht zu aktualisierende Beziehungen

Eine Störung wurde von einer bestimmten Person erstellt. Dies gilt so auf immer und ewig, da diese Aussage keiner Veränderung unterliegt. Demnach muss diese Beziehung auch nie aktualisiert werden.

B. Über eine Beziehungslogik (Kardinalität) aktualisierte Beziehungen

Eine Person ist Vorgesetzter einer/mehrere Personen. Dies ist einen klassische 1:N-Beziehung. Ein Vorgesetzter kann zwar mehrere Mitarbeiter haben, aber eine Person hat normalerweise nur einen Vorgesetzten. Sollte also beim Import aus der Datenquelle (z.B. AD) beim nächsten Mal eine andere Person als Vorgesetzter im Datensatz stehen, so kann die Businesslogik davon ausgehen, dass der bisherige Vorgesetzte nicht mehr gültig ist und durch den neuen Vorgesetzten ersetzt wird.

C. Zu aktualisierende Beziehungen ohne Beziehungslogik

Eine etwas größere Herausforderung stellen Beziehungen dar, bei denen aufgrund der Informationsquelle nicht sofort erkannt werden kann, ob diese noch aktuell/gültig sind oder nicht.

Bei der Relation "Workstation hat Betriebssystem" ist es noch relativ einfach, da davon ausgegangen werden kann, dass eine Workstation immer nur ein Betriebssystem installiert hat. So kann hier also die unter B. beschriebene Beziehungslogik für die Aktualisierung sorgen.

Die Relation "Workstation hat installiert Anwendung" stellt eine andere Herausforderung dar. Aus der Datenquelle (IT-Inventar-Tool) erhalten wir die Workstations und Anwendungen als CIs sowie die Beziehungen zwischen diesen. Dabei werden von der Datenquelle immer nur die aktuellen Informationen z.B. Beziehungen geliefert. Fällt eine Beziehung weg, so liefert die Datenquelle keinen Datensatz, dass die Beziehung entfallen ist. Anmerkung: Damit könnte beim Import gesteuert werden, dass die Beziehung gelöscht wird. Da die Datenquelle hier keine Hilfe liefert, lässt sich die Herausforderung ggf. über die CMDB lösen. Für jedes CI und jede Beziehung wird der Parameter "Letzte Aktualisierung" bzw. "Letzter Vergleich" geführt. Bei einem täglichen Import aus der Datenquelle sollte dieser Eintrag also maximal 24 Stunden alt sein. Mit einem Algorithmus wird überprüft, ob der "Letzter Vergleich" bei der Beziehung "Workstation hat installiert Anwendung" älter als z.B. 1 Woche ist und löscht alle Beziehungen, die älter sind.

Zahlen aus der Praxis

Gerade die Beziehung "Rechner hat installiert Anwendung" führt zu hoher Menge an Beziehungen in einer CMDB. Dazu beispielhafte Zahlen aus der CMDB einer unserer Kunden.

Windows Workstation:

  • 2309278 Beziehungen "Rechner hat installiert Anwendung"

  • 5406 Windows Workstation

  • 427 Ø Beziehungen/Rechner

Windows Server:

  • 394019 Beziehungen "Rechner hat installiert Anwendung"

  • 841 Windows Server

  • 469 Ø Beziehungen/Rechner

Linux Server:

  • 955844 Beziehungen "Rechner hat installiert Anwendung"

  • 1052 Linux Server

  • 909 Ø Beziehungen/Rechner

Rechner gesamt:

  • 3659141 Beziehungen "Rechner hat installiert Anwendung"

  • 7299 Rechner

  • 501 Ø Beziehungen/Rechner

Die weitere Analyse ergab weiterhin, dass von den gesamt 3,6 Mio. Beziehung immerhin 1,6 Mio. seit mindestens 14 Tagen (einige seit Jahren) nicht mehr aktualisiert (also aus der Datenquelle importiert) wurden.

CI-Relationen manuell löschen

Zur Erlangung einer Übersicht, welche Beziehungen veraltet sind, kann in dot4 der Menüpunkt "Beziehungen" genutzt werden. Dort die gewünschte Beziehung auswählen und die Attribute "Letzte Aktualisierung" oder "Letzter Vergleich" zur zeitlichen Filterung nutzen.

Über den Lösch-Button können an dieser Stelle auch gleich die "veralteten" Beziehungen gelöscht werden.

../_images/UCs_Beziehungen-automatisch-loeschen_2.png

Sollten sich sehr viele veraltete Beziehungen in der CMDB befinden, wird empfohlen, die erst mal manuell über den hier beschriebenen Weg zu löschen.

Soll allerdings nicht immer eine manuelle Prüfung und Löschen durchgeführt werden, sondern der Vorgang automatisiert werden, so bieten sich die Workflows von dot4 an.

CI-Relationen automatisiert löschen

Für das automatisierte Löschen von Beziehungen steht ein Workflow-Baustein zur Verfügung mit dem das Verfahren sehr einfach zu umzusetzen ist.

Folgendes Beispiel zeigt die Einrichtung des Workflows für folgende Rahmenbedingungen:

  • Betroffener CI-Typ: Windows Workstation

  • Betroffene Beziehung: Rechner hat installiert Anwendung

  • Aufgabe: Löschen der Beziehung, wenn länger als 14 Tage nicht aktualisiert.

Unter den Workflows einen neuen Workflow anlegen, einen Namen und eine Beschreibung vergeben, sowie die betroffene CI-Kategorie/-typ auswählen.

Weiterhin einen Ausführungsplan anlegen: z.B. Tägliche Ausführung des Workflows um 22:00 Uhr

../_images/UCs_Beziehungen-automatisch-loeschen_3.png

Dann den WF-Baustein "Beziehungen löschen" von links in den Arbeitsbereich ziehen.

Konfiguration des Bausteins:

  • Die gewünschte Beziehung auswählen, hier "Rechner hat installiert Anwendung". Anmerkung: Hier stehen alle Beziehungstypen zur Verfügung, die sich auf eine Windows Workstation beziehen können.

  • Das Vergleichsattribut auswählen, hier "Aktualisiert am". Anmerkung: Hier stehen alle Relationsattribute der zuvor gewählten Beziehung zur Verfügung.

  • Operator und Zeitversatz wählen.

Die folgende Konfiguration ist wie folgt zu interpretieren:

  • Lösche alle Beziehung vom Typ "Rechner hat installiert Anwendung", bei denen der Wert des Attributs "Aktualisiert am" älter als der "Workflow-Ausführungszeitpunkt - 14 Tage" ist.

  • Beispiel: Ist die Workflow-Ausführung am 16.10. um 22:00 Uhr, so betrifft dies also alle Beziehungen vor dem 02.10. um 22:00 Uhr.

../_images/UCs_Beziehungen-automatisch-loeschen_4.png

Den Workflow-Baustein "Beziehungen löschen" mit dem "Start"- und "Ende"-Baustein verbinden. Den Workflow aktivieren und speichern.

../_images/UCs_Beziehungen-automatisch-loeschen_5.png

Ergebnis: Die oben beschriebenen Beziehungen werden automatisiert gelöscht, wenn diese länger als 14 Tage nicht aktualisiert wurden.

Hinweis: Zeitgesteuerte Workflows werden über einen dot4-Hintergrundprozess (Background Job Runner) ca. alle ½ Stunde aufgerufen, prüfen dann die WF-Bedingungen und führen die gewählten Aktionen aus. On-Prem-Kunden können das Ausführungsintervall des Hintergrundprozesses selber über den Windows Scheduler festlegen.

Hinweis: Der beschriebene WF-Baustein "Beziehungen löschen" beinhaltet sowohl die Bedingung als auch die Aktion.

Versionsinfo

Version 1.01 20.07.2023

REALTECH AG

Paul-Ehrlich-Str. 1

D-69181 Leimen

www.REALTECH.com

URHEBERRECHTE UND WARENZEICHEN

© 2024 REALTECH AG. Alle Rechte vorbehalten. Dieses Dokument enthält vertrauliche und rechtlich geschützte Informationen. Das unerlaubte Kopieren und die unbefugte Weitergabe des Dokuments an Dritte (ganz oder in Teilen) sind nicht gestattet. Die in diesem Dokument abgebildeten Produkt-Namen, Logos, Marken und sonstigen Kennzeichen stehen REALTECH oder den Lizenzgebern von REALTECH zu und dürfen nicht ohne vorherige schriftliche Zustimmung des Rechteinhabers verwendet werden.