Report für Patching Plan erstellen



  • Hallo zusammen,

    ich habe wieder mal eine Bastelaufgabe speziell für die SQL Experten unter euch:

    Ich möchte einen Report erstellen, der mir quasi einen Patching Plan für einen oder mehrere Switches auswirft.  Enthalten sein soll klarerweise die Liste der angelegten Ports u8nd dazu jeweils der Name des angeschlossenen Gerätes (General -> Title) und die damit verbundene MAC Adresse.

    Manche Endgeräte haben mehere Ports und mehrere MAC Adressen. Es wäre dann immer nur die primäre MAC Adresse aufzuführen.

    Wenn das ginge wäre mir sehr geholfen! Vielen Dank für eure Unterstützung!

    LG
    MaM


  • i-doit Kenner

    Hallo MaM,

    hast Du mal mit dem Abfrage Editor versucht, eine solche Abfrage zu erstellen?

    War mit ein paar Klicks erledigt:
    https://demo.i-doit.com/index.php?moduleID=1004&treeNode=10042&rpID=3&mNavID=2&reportID=18

    Woher bekommst Du bei den Endgeraeten die Information zur primaeren MAC Adresse?
    Ist es die, welche tatsaechlich mit dem Switch verbunden ist?
    Vgl. im Demo Report die MAC Adressen von backup001, da ist nur der Port mit der MAC 01 am Ende verbunden, es werden aber trotzdem alle MACs dargestellt (weil die Abfrage das so verlangt).

    Gruss,
    jkondek



  • Hallo,

    Eine Abfrage zum der "Patching Plan" habe ich bei mir auch erstellt und ich bin bei folgendem Problem hängen geblieben:

    Wenn auch das Engerät mehrere Ports hat, dann entsteht pro Port am Endgerät eine Zeile im Report. Ich hätte aber nur gerne eine Zeile pro Switchport - und zwar entweder den Port, die mit dem Switch verbunden ist (das wäre die sauberste Lösung), oder den als primär gekennzeichnete Port (das wäre ein Workaround, der machbar wäre).

    LG
    MaM


  • i-doit Kenner

    Hallo MaM,

    damit sollte es gehen (die sauberste Loesung):

    SELECT
    j1.isys_obj__title AS Switch,
    j2.isys_catg_port_list__title AS "Switch Port",
    j4.isys_obj__title AS "Verbunden mit",
    j5.isys_catg_port_list__title AS "Server Port",
    j5.isys_catg_port_list__mac AS "MAC Adresse"

    FROM isys_obj AS j1

    LEFT JOIN isys_catg_port_list AS j2
    ON j2.isys_catg_port_list__isys_obj__id = j1.isys_obj__id

    LEFT JOIN isys_catg_connector_list AS j3
    ON j3.isys_catg_connector_list__id = j2.isys_catg_port_list__isys_catg_connector_list__id

    LEFT JOIN isys_catg_relation_list
    ON isys_catg_relation_list__id = j3.isys_catg_connector_list__isys_catg_relation_list__id

    LEFT JOIN isys_obj AS j4
    ON j4.isys_obj__id = isys_catg_relation_list__isys_obj__id__slave

    LEFT JOIN isys_catg_port_list AS j5
    ON j5.isys_catg_port_list__isys_obj__id = j4.isys_obj__id

    LEFT JOIN isys_catg_connector_list AS j6
    ON j6.isys_catg_connector_list__id = j5.isys_catg_port_list__isys_catg_connector_list__id

    WHERE TRUE
    AND j1.isys_obj__isys_obj_type__id = 6
    AND isys_catg_relation_list__isys_obj__id__master = j1.isys_obj__id
    AND j6.isys_catg_connector_list__isys_catg_relation_list__id IS NOT NULL

    Gruss,
    jkondek



  • Hallo nochmal,

    ich hab dieses SQL Statement ausprobiert (und auch viele Varianten, die ich daraus abgeleitet habe), allerdings habe ich dabei immer noch ein Problem. Wenn ich an beiden "Seiten" Geräte mit mehreren Netzwerkports habe (z.B. ein 24er Swtich und ein Server mit 8 Netzwerkports), dann gibt mir der Report für jeden Port an jedem Gerät eine Zeile aus. In dem vorhin genannten Beispiel, würde der Report für den einen Switchport, der mit dem Server verbunden ist 8 Zeilen ausgeben.

    Ich hätte aber gerne, dass er nur tatsächlich verbundene Ports ausgibt (es soll ja letztendlich ein Patchplan sein, der alle Ports eines Geräts auflistet und mit welchem Gerät und an welchem Port sie dort verbunden sind.

    Ich denke, dass es an den letzten Joins liegt, weil da ja zum verbundenen Objekt (j4) alle Ports hinzugefügt werden, oder nicht?Jedenfalls wäre ich sehr dankbar, wenn jemand mir noch einen Hinweis geben könnte, damit ich endlich meinen Patchplan automatisch aus i-doit ausgeben lassen kann.

    Viele Grüße,
    MaM


 


Datenschutz / Privacy Policy