Severdokumentation - Services und Features abbilden



  • Hallo zusammen,

    vielleicht haben einige hier genau wie ich schon rumprobiert und können mir bezüglich eines Lösungsansatzes weiterhelfen.

    Um kurz mein erstes Problem zu beschreiben, Ziel ist es anhand von einer Matrix, die ich bereits in Excel erstellt habe, bzw. via JDisc Import eine Zusammenstellung in Idoit zu dokumentieren, welche Services auf bestimmten Servern installiert sind. Klingt im ersten Moment relativ einfach, ist aber bei genaueren hinsehen doch recht komplex. Es soll sich herauskristallisieren, wenn ich beispielsweise einen Fileserver habe, welche Standardservices ich dafür benötige und was bei speziellen Servern eher zusätzlich ist.
    Mit einem JDisc Import sollen alle gängigen Informationen, die ich bei Services auslesen kann importiert werden. Sprich ich brauche die Felder Name, Kategorisierung, Startup Type, Systemkonto, Status und gegebenenfalls eine Kurzbeschreibung. Meine Idee war es nun einfach eine benutzerdefinierte Kategorie in Systemdiensten zu erstellen, die alle Informationen beinhaltet (Siehe Screenshot). Was mir jedoch nicht gelungen ist nachzubauen, war das Feld Objekt*, mit der man Installationsinstanz und Installiert auf reproduzieren kann. Gibt es hierfür eine Möglichkeit?

    Mein weit größeres Problem besteht darin, nun die Features, die mit den Services zusammenhängen, ebenfalls in Idoit darzustellen und noch dazu am besten bestehende Gruppierungen aufrecht zu erhalten. Wichtig wäre es, sowohl eine Verbindung mit den Servern, als auch mit den Services der Server zu schaffen.Es soll wiederum ein möglichst klares Set an Features erkennbar sein, so dass ich bei einem kompletten Shut down des Servers schnell Services und Dienste wieder herstellen kann.
    Ich habe ebenfalls bereits mit einer Excel Matrix versucht eine Übersicht zu erstellen, um diese dann in Idoit zu reproduzieren. Eine Idee von mir wäre es mit einem Clusterobjekt zu arbeiten, dem ich entsprechende Server zuordnen kann. Um mit einer entsprechenden Ja- Nein Kategorisierung dann die kompletten Features des Servers detailliert und übersichtlich darstellen zu können. Hier ist es wahrscheinlich das Beste ich stelle meine Excel-Matrix mal kurz da, um grafische Verständlichkeit zu gewährleisten. Leider bin ich bei dieser Problemstellung noch zu keinem idealen Lösungsweg gekommen, wie ich meine Anforderung darstellen könnte.

    Der Text erscheint im ersten Moment ein wenig viel und wahrscheinlich ist meine Problematik auch schwer ersichtlich, dennoch hoffe ich, es ist halbwegs verständlich und mir kann vielleicht jemand diesbezüglich weiterhelfen.
    Vielen Dank schon mal.
    Liebe Grüße,

    Christoph

    Server Dienste.jpg
    Server Features.JPG


  • i-doit Kenner

    Hallo Christoph,

    erst mal: spannende Zielsetzung. 🙂

    Der Weg über die benutzerdefinierte Kategorie ist erst mal richtig. Beim Feldtyp "Objekt-Browser" (bei "Installiert auf") wird keine Beziehung generiert. Bei der "Objekt-Beziehung" jedoch schon. Allerdings gibt es bei der Beziehung, die hier erstellt wird, einen Haken: Der Systemdienst, bei dem die Zuweisung definierst, wird in der Beziehung der "Master" werden und die andere Seite der Slave. Wenn du also aus dem Systemdienst heraus über diese benutzerdefinierte Kategorie festlegst, dass dieser auf einem System installiert ist, wird die Beziehung die "falsche" Richtung haben und der Server ist abhängig vom Dienst. Wenn das für dich so in Ordnung ist, ist das gut, aber eigentlich ist die Dokumentation von Software andersherum gedacht, also so, dass die Software von der Hardware abhängig ist.

    Du kannst hierbei zwei Möglichkeiten in Betracht ziehen:
    1. Du erstellst eine eigene (implizite) Beziehungsart, in der du die Richtung selber definieren kannst und einfach andersherum drehst.
    2. Du nutzt für die Zuweisung die "Installation" unter "Dienste" im Systemdienst, um die originale Technik für die Zuweisung aus i-doit zu verwenden.

    Mit der zweiten Möglichkeit löst du zugleich ein zweites "Problem" bzw. deine Frage nach der Reproduktion von "Installiert auf" und "Installationsinstanz". Mit benutzerdefinierten Kategorien kannst du nämlich aktuell keine sogenannten "Rückwärtigen Kategorien" abbilden. Heißt also, dass wenn du die Zuweisung über eine Objekt-Beziehung innerhalb der selbsterstellten Kategorie vornimmst, du auf der anderen Seite keine Kategorie haben wirst, in der du diese Zuweisung wiederfindest. Du siehst lediglich die Abhängigkeit unter den Beziehungen bzw. im CMDB-Explorer.

    Mein Rat hier: Dokumentiere (am besten grundsätzlich) nur ergänzende Informationen in benutzerdefinierten Kategorien, die du sonst nirgends ablegen kannst und nutze für alles andere die Standard-Funktionen und Kategorien.

    Dann zur Darstellung. Da gibt es sicher unterschiedliche Herangehensweisen. Mir fallen diese spontan dazu ein:

    1. Erneut mit einer benutzerdefinierten Kategorie arbeiten
    Ist vermutlich nicht der beste Weg, aber du könntest ganz einfach die von dir aufgelisteten Services bei den Servern selber in einer benutzerdefinierten Kategorie mit Ja-Nein-Feldern abfragen und dann in einem Report darstellen lassen. Das ist deshalb nicht der beste Weg, weil du die Servicezuweisung und die Auswahl der Liste separat pflegen müsstest, was sehr fehleranfällig ist. Allerdings ist die Auswertung im Nachgang einfach, denn im Report bekommst du solch eine Liste mit Bordmitteln heraus:

    Name - Service 1 - Service 2
    SRV 1 -    Ja        -    Nein

    2. Mit einem SQL-Report die Zuweisungen abfragen
    In Reports über den Abfrageeditor kannst du lediglich die Daten ausgeben lassen, die gefunden wurden. Mit SQL kannst du aber noch viel mehr machen. Du könntest einen Report erzeugen, der dir alle Server ausgibt (bis hier relativ einfach). Zusätzlich könntest du aber auch in dem Report abfragen, ob über die Softwarezuweisung "Dienst X" zugewiesen ist und ein "X" oder "Ja" ausgeben lassen und das Feld ansonsten leer lassen. Die Ausgabe ist grundsätzlich anders als die aus deinem Excel-Beispiel, aber zeigt die gleichen Infos. Wie im Beispiel davor hast du die identische Ansicht:

    Name - Service 1 - Service 2
    SRV 1 -    Ja        -    Nein

    Vorteil: Du musst die Services nicht gesondert über eine benutzerdefinierte Kategorie dokumentieren, sondern kannst über die Softwarezuweisung gehen. Hierfür wäre allerdings aus dem vorherigen Thema der Weg über die originalen Funktionen von i-doit notwendig. Oder die Abfrage über die benutzerdefinierten Kategorien hinweg könnte ziemlich kompliziert werden.

    Hier mal ein Beispiel für einen Report für Server mit Ja/Nein bei "HTTP Server" und "SSH":

    SELECT obj_main.isys_obj__id AS '__id__', obj_main.isys_obj__title AS 'Object
    title', 
    (CASE WHEN ( SELECT DISTINCT isys_catg_application_list__isys_obj__id
    FROM isys_catg_application_list LEFT JOIN isys_connection ON
    isys_connection__id = isys_catg_application_list__isys_connection__id LEFT JOIN
    isys_obj con ON con.isys_obj__id = isys_connection__isys_obj__id WHERE
    con.isys_obj__id = (SELECT isys_obj__id FROM isys_obj WHERE isys_obj__title =
    'HTTP Server') AND isys_catg_application_list__isys_obj__id =
    obj_main.isys_obj__id ) IS NULL THEN 'Nein' ELSE 'Ja' END ) AS 'HTTP', 
    
    ( CASE WHEN ( SELECT DISTINCT
    isys_catg_application_list__isys_obj__id FROM isys_catg_application_list LEFT
    JOIN isys_connection ON isys_connection__id =
    isys_catg_application_list__isys_connection__id LEFT JOIN isys_obj con ON
    con.isys_obj__id = isys_connection__isys_obj__id WHERE con.isys_obj__id =
    (SELECT isys_obj__id FROM isys_obj WHERE isys_obj__title = '%SSH%') AND
    isys_catg_application_list__isys_obj__id = obj_main.isys_obj__id ) IS NULL THEN
    'Nein' ELSE 'Ja' END ) AS 'SSH' 
    
    FROM isys_obj AS obj_main
    WHERE obj_main.isys_obj__isys_obj_type__id != (SELECT isys_obj_type__id FROM
    isys_obj_type WHERE isys_obj_type__const = 'C__OBJTYPE__RELATION') AND
    obj_main.isys_obj__isys_obj_type__id != (SELECT isys_obj_type__id FROM
    isys_obj_type WHERE isys_obj_type__const = 'C__OBJTYPE__PARALLEL_RELATION') AND
    obj_main.isys_obj__isys_obj_type__id = (SELECT isys_obj_type__id FROM
    isys_obj_type WHERE isys_obj_type__const = 'C__OBJTYPE__SERVER')
    

    Ich hoffe, das hilft dir schon mal. Wenn du aber weitere Fragen hast oder etwas unklar ist, kannst du einfach Bescheid geben.

    Lieben Gruß
    Christian



  • Hallo Christian,

    vielen Dank für deine sehr ausführliche Antwort. Deine Ansätze finde ich weitestgehend super und außerordentlich hilfreich, jedoch sind mir noch ein paar Dinge unklar bzw Informationen die ich gerne abbilden würde fehlen mir.

    Ich fang mal an:

    Deine zweite beschriebene Möglichkeit erschien mir am Anfang auch ideal, doch leider ist es mir unklar wie ich die bestehende Kategorie so erweitre, dass alle benötigten Informationen für jede Installation bzw. jeden Server abbildbar sind. Daraus folgere ich es geht nur über eine selbst definierte Kategorie. Wenn ich dich aber richtig verstanden habe, birgt dies einige Probleme.

    Zu meinem zweiten Problem:

    Auch hier finde ich deine Ansätze prinzipiell sehr gut, leider fehlt mir hierbei aber die Gruppierung der unterschiedlichen Features. Mir ist nicht klar wie ich diese abbilden kann und außerdem schaffe das ein Feature gleichzeitig mit einem Server aber auch mit einem Systemdienst verknüpft ist.
    Am besten ich stelle dir mal meinen bisherigen Ansatz vor, den ich versucht hab in der Demo nachzubilden. Er ist zwar noch nicht ausgereift, aber vielleicht hilft er dir bezüglich der Verständlichkeit meiner Zielsetzung weiter.

    Generell habe ich mal versucht mit einem neuen Objekttyp Feature zu arbeiten ( siehe Screenshot 1). Der Objekttyp muss meineserachtens auch nicht wirklich viel können. Ich habe lediglich darauf geachtet das ich ihn mit der Kategorie (Dienste, Installation) bestimmt Features auf einem Server installieren kann. Mit Hilfe der Softwarezuweisung könnte ich Feature Unterklassen ( siehe Screenshot 1. Post) speziell einem Systemdienst zuordnen. Mein weiteres Vorgehen lässt sich so erklären, dass ich zumindest die Hauptpunkte meiner Matrix den Unterfeatures überordnen will. Sprich die logische Lösung für mich, ich definiere ein Clusterobjekt( siehe Screenshot 2). Abgesehen davon, dass ich hierbei ein bisschen tricksen muss und folglich dadurch keine astreine Richtigkeit gewährleisten kann, bin ich mit der Lösung eigentlich prinzipiell zufrieden. Sicherlich muss ich, anders als jetzt in der Demo dargestellt, einen neuen Objekttyp definieren, aber ich denke mit der speziellen Kategorie Cluster kann ich arbeiten. Ziemlich schnell ersichtlich sind die Unterfeatures, die ich in Clustermitglieder eintragen kann. Unter Verwaltungsinstanz kann ich ebenfalls gruppiert die gesamten Features einem Systemdienst zuordnen.
    Auch unter der Serveransicht (siehe Screenshot 3) kann ich die installierten Features auf einem Server sehen und mir so einen relativ schnellen Überblick verschaffen.

    Zunächst möchte ich dich fragen, was du von dieser Umsetzung hältst, und wo du gegebenenfalls noch Verbesserungspotenzial siehst. Ich denke z.B. das es einen sehr hohen Dokumentationsaufwand haben wird, da ich nicht denke es wäre über einen Massenimport umsetzbar. Zum anderen Laufen auf einem Server eh schon zigg Dienste, so dass ich mir nicht sicher bin, ob meine Lösung noch übersichtlich bleiben wird.
    Ich hoffe du hast noch ein paar hilfreiche Verbesserungsvorschläge für mich. Nochmal vielen vielen Dank für die Mühe, die du dir gemacht hast.

    Liebe Grüße,

    Christoph

    Objekttyp Features.jpg
    Gruppierung Dienste.jpg
    Server Feature Verknüpfung.jpg


  • i-doit Kenner

    Hallo Christoph,

    klar doch, gerne.

    Bestehende Kategorien kannst du nicht abändern. Es lassen sich also weder Felder entfernen, noch hinzufügen. Aber du kannst ja mit einer eigenen Kategorie die Informationen aus den bestehenden Kategorien ergänzen. Beispiel Buchhaltung: Wenn dir dort Felder fehlen, solltest du besser nicht die ganze Kategorie nachbauen und dann noch eigene Felder hinzufügen. Wenn nämlich synetics etwas ändert und Daten dafür migriert, fallen diese dabei raus. Deswegen lieber alles verwenden, was da ist, und alles zusätzliche in eigenen Kategorien ablegen. Natürlich kannst du das auch anders machen, aber es lässt sich eben nicht alles nachbauen.

    Zum zweiten Thema:
    Der Objekttyp "Feature" ist erst mal in Ordnung. Das ist ja quasi eine Abstufung einer Software. Die Zuweisung und das generelle Handling sind somit identisch mit Anwendungen, Betriebssystem, Systemdienste usw. und somit ist die Zuweisung zum Server möglich. Passt so.

    Die Unterordnung der Features über den Clusterordner im Clusterdienst ist für meinen Geschmack etwas zu viel. Hier würde ich zwei alternative Möglichkeiten sehen:

    1. Betrachtung als Service
    Du könntest die einzelnen Features gesammelt als eine Art Service betrachten. Die Features werden demnach – wie von dir beschrieben – über die Installation/Softwarezuweisung den Servern zugewiesen. Zusätzlich können die Features über die Kategorie "Servicezuweisung" einem selbst erstellen "Featuregruppe"-Objekttyp zugewiesen werden. Die sind also Teil eines Service "File and Storage". Vorteil ist, du kannst dort die Features als Komponenten des Services betrachten und hast ein Logbuch über alle Features hinweg.

    2. Betrachtung als Objektgruppe
    Es gibt eine spezifische Kategorie, die für Objektgruppen verwendet wird. Diese könntest du auch nutzen, um Gruppierungsobjekte zu erstellen. Die Features werden wie im ersten Punkt behandelt und zusätzlich über die Kategorie "Gruppenmitgliedschaft" dem Gruppenobjekt zugewiesen. Vorteile ist hier, die benötigte Kategorie ist schmal und der Begriff der "Gruppe" umfassend. Weiter können die Gruppen dynamisch aufgebaut werden. Heißt also, dass du einen Report mit dem Abfrage Editor erstellen und aus dem Ergebnis automatisch die Elemente der Gruppe machen lassen kannst.

    Ich habe beide Varianten mal als Screenshot angehangen. Zusätzlich kannst du dir das gerne auf meiner Online-Testumgebung unter http://i-doit.donamic.de/ ansehen. Benutzer/PW ist aktuell admin/admin. Auf der Demo von synetics wird das nämlich immer wieder zurückgesetzt. 😉

    Lieben Gruß
    Christian

    Service.png
    Gruppe.png



  • Hallo Christian,

    bitte entschuldige meine verspätete Antwort ich war leider ein paar Tage außer Haus.
    Vielen Dank nochmal ich bin mir sicher, dass ich jetzt eine solide Lösung für die Umsetzung habe. Ich werde denke ich das mit der Gruppierung probieren. Eine klitze kleine Frage hätte ich dann noch bzw. ob du hierfür auch noch eine Anregung hast. Zwar folgendes eine Gruppierung der Features ist schon sehr Zielführend, aber perfekt wäre es, wenn ich die Hierarchien in der Gruppierung auch noch darstellen könnte. Eine Idee, die aber wohl mit sehr sehr viel Aufwand verbunden wäre, ist eine Gruppierung in der Gruppierung. Eine andere direkt bei den Features eine Klassifizierung vorzunehmen. Hast du andere Ideen diesbezüglich?

    Nochmal recht herzlichen Dank ich freu mich auf deine Antwort.

    LG

    Christoph



  • kleines Update, ich hab das mal eben probiert und bin eigentlich sehr zufrieden mit der Lösung(siehe Bilder). Die Lösung die Features einfach in verschiedene Ränge zu unterteilen, finde ich dabei viel angenehmer. Was ich jedoch noch nicht geschafft hab sind die Unterhierarchien richtig zu verschachteln und zu klassifizieren. Zwar weiß ich jetzt welchen Rang ein Feature hat, aber welchem Punkt er unterliegt, ist noch fraglich und mir leider schleierhaft wie ich dies noch einbauen könnte. Ich probier mal weiter rum, bin gespannt. Kleine Frage noch, ist deine Testumgebung auch für normale Anwender nutzbar ? Hätte auf meine Versuchskonzepte gerne länger Zugriff.

    Gruppierung Features.JPG


  • i-doit Kenner

    Hallo Christoph,

    ich bin gerade im Urlaub, weswegen ich ein wenig in meinen Möglichkeiten begrenz bin. 🙂

    Du kannst die Featuregruppen wiederum anderen Gruppen zuweisen und damit eine Hierarchie aufbauen, ohne wieder mit weiteren benutzerdefinierten Objekttypen arbeiten zu müssen. Die Hierarchie erkennst du dann aber auch nur richtig im CMDB-Explorer. Vielleicht meintest du das aber auch schon mit der Gruppierung in der Gruppierung.

    Eine andere Idee abseits von den beiden Möglichkeiten sehe ich gerade auch nicht. Der Weg über die Gruppenmitgliedschaften von Gruppen dürfte aber der einzige Weg mit ordentlicher Darstellung sein.

    Zur Testumgbeung:
    Meine Testumgebung ist primär für meine Kunden und mich gedacht. Aber auf diverse Mandanten aufgeteilt. Den Zugang mit admin/admin und neuem Mandanten habe ich extra hierfür eingerichtet. Er wird aber erst mal nutzbar bleiben und nicht gelöscht. Wenn, dann werde ich die Zugangsdaten ändern und dir gerne mitteilen, wenn du ihn weiter brauchst.

    Liebe Grüße aus dem sonnigen Fuerteventura
    Christian



  • Hallo Christian,

    habe es jetzt wie ich finde sehr zufriedenstellend hinbekommen, danke nochmal !!
    Ich wünsche dir noch einen schönen Resturlaub.

    Liebe Grüße,

    Christoph


  • i-doit Kenner

    Hallo Christoph,

    vielen Dank. Es freut mich, dass du eine zufriedene Lösung gefunden hast. 🙂

    Liebe Grüße
    Christian


 


Datenschutz / Privacy Policy