Dokumente-Modul: Handbuch für Switch
-
Hallo,
nachdem ich die Switch in unserem Netz in i-doit eingepflegt habe, möchte ich nun mit dem Dokumentemodul eine automatisierte Vorlage erstellen, in welcher die Konfiguration des Switches anezeigt wird.
Ich habe Probleme damit wie ich eine Tabelle mit Verbindungen bekomme
Beispiel was ich will:| Port | Zielgerät | ZielportPort |
| Port 1 | HP 1910 2. OG | Port 4 |
| Port 2 | HP 1910 3. OG | Port 5 |weiß jemand welche "Bausteine" ich auswählen muss?
-
Hallo Herr Fischer,
Netzwerk Port -> Bezeichnung
Netzwerk Port -> Verbunden mit
die Gegenstelle (Gerät 2) kann ich auch nicht finden. -
Danke für die Antwort. aber genau der Zielport wäre wichtig für die Dokumentation
-
Moin,
hab mir das nochmal angeschaut, mit dieser Konfiguration im Report Manager sollte es gehen.
Grüße!
-
Danke es funktioniert schon ganz gut, nur zwei Sachen noch: Die Optionen sehen bei mir anders aus und er hat falsche Verbindungen.
In dem Beispiel sind nur Switch Port 21 mit Server ETHERNET 1 und Switch Port 22 mit ETHERNET 2 verbunden.
-
Hallo M-Fischer,
kannst Du das SQL von dem Report mal posten? Es fehlt scheinbar eine Abfrage, bei der kontrolliert wird, ob die beiden Ports tatsaechlich miteinander verbunden sind.
Gruss,
jkondek -
also ich habe es so aufgebaut, wie pbluhm es zuvor gezeigt hat.
das SQL sieht so aus im Report Manager:SELECT obj_main.isys_obj__id AS '__id__', obj_main.isys_obj__title AS 'LC__UNIVERSAL__TITLE###1', j10.isys_catg_port_list__title AS 'LC__CMDB__CATG__TITLE###39', j14.isys_obj__title AS 'LC__UNIVERSAL__TITLE#LC__CMDB__CONNECTED_WITH###1', j15.isys_catg_port_list__title AS 'LC__CMDB__CATG__TITLE#LC__CMDB__CONNECTED_WITH###39' FROM isys_obj AS obj_main INNER JOIN isys_cmdb_status AS obj_main_status ON obj_main_status.isys_cmdb_status__id = obj_main.isys_obj__isys_cmdb_status__id LEFT JOIN isys_catg_port_list AS j10 ON j10.isys_catg_port_list__isys_obj__id = obj_main.isys_obj__id LEFT JOIN isys_catg_connector_list AS j6 ON j6.isys_catg_connector_list__id = j10.isys_catg_port_list__isys_catg_connector_list__id LEFT JOIN isys_catg_connector_list AS j4 ON j4.isys_catg_connector_list__isys_cable_connection__id = j6.isys_catg_connector_list__isys_cable_connection__id AND j4.isys_catg_connector_list__id != j6.isys_catg_connector_list__id LEFT JOIN isys_obj AS j5 ON j5.isys_obj__id = j4.isys_catg_connector_list__isys_obj__id LEFT JOIN isys_obj AS j14 ON j14.isys_obj__id = j5.isys_obj__id LEFT JOIN isys_catg_port_list AS j15 ON j15.isys_catg_port_list__isys_obj__id = j5.isys_obj__id LEFT JOIN isys_obj AS j16 ON j16.isys_obj__id = j5.isys_obj__id LEFT JOIN isys_obj_type AS j17 ON j17.isys_obj_type__id = obj_main.isys_obj__isys_obj_type__id WHERE TRUE AND ( (j17.isys_obj_type__id != '60' ) AND (j17.isys_obj_type__id != '60' ) AND (j17.isys_obj_type__id != '63' ) ) ORDER BY obj_main.isys_obj__title DESC;
Ich dachte auch man könnte dies rein mit dem Dokumente Modul erreichen
-
Hallo M-Fischer,
ich hab mir die Problematik mal angeschaut und konnte auch feststellen wo das Problem ist. Das Problem ist dieser Join:
LEFT JOIN isys_catg_port_list AS j15 ON j15.isys_catg_port_list__isys_obj__id = j5.isys_obj__id
Dieser veranlasst das alle Ports des verbundenen Objekts geholt werden anstatt nur den verbundenen Port. Man müsste diesen Join wie folgt umändern:
LEFT JOIN isys_catg_port_list AS j15 ON j15.isys_catg_port_list__isys_catg_connector_list__id = j4.isys_catg_connector_list__id
Momentan ist eine Darstellung wie du die gerne haben willst nur über die Reports möglich wenn man den genannten Join abändert.
So würde die Query am Ende aussehen:SELECT obj_main.isys_obj__id AS '__id__', obj_main.isys_obj__title AS 'LC__UNIVERSAL__TITLE###1', j10.isys_catg_port_list__title AS 'LC__CMDB__CATG__TITLE###39', j14.isys_obj__title AS 'LC__UNIVERSAL__TITLE#LC__CMDB__CONNECTED_WITH###1', j15.isys_catg_port_list__title AS 'LC__CMDB__CATG__TITLE#LC__CMDB__CONNECTED_WITH###39' FROM isys_obj AS obj_main INNER JOIN isys_cmdb_status AS obj_main_status ON obj_main_status.isys_cmdb_status__id = obj_main.isys_obj__isys_cmdb_status__id LEFT JOIN isys_catg_port_list AS j10 ON j10.isys_catg_port_list__isys_obj__id = obj_main.isys_obj__id LEFT JOIN isys_catg_connector_list AS j6 ON j6.isys_catg_connector_list__id = j10.isys_catg_port_list__isys_catg_connector_list__id LEFT JOIN isys_catg_connector_list AS j4 ON j4.isys_catg_connector_list__isys_cable_connection__id = j6.isys_catg_connector_list__isys_cable_connection__id AND j4.isys_catg_connector_list__id != j6.isys_catg_connector_list__id LEFT JOIN isys_obj AS j5 ON j5.isys_obj__id = j4.isys_catg_connector_list__isys_obj__id LEFT JOIN isys_obj AS j14 ON j14.isys_obj__id = j5.isys_obj__id LEFT JOIN isys_catg_port_list AS j15 ON j15.isys_catg_port_list__isys_catg_connector_list__id = j4.isys_catg_connector_list__id LEFT JOIN isys_obj AS j16 ON j16.isys_obj__id = j5.isys_obj__id LEFT JOIN isys_obj_type AS j17 ON j17.isys_obj_type__id = obj_main.isys_obj__isys_obj_type__id WHERE TRUE AND ( (j17.isys_obj_type__id != '60' ) AND (j17.isys_obj_type__id != '60' ) AND (j17.isys_obj_type__id != '63' ) ) ORDER BY obj_main.isys_obj__title DESC;
Was du an der Stelle machen könntest ist diesen Report über den Report-Manager zu erstellen und diesen kannst du dann im Dokumente Modul einbetten. Um diesen Report nur für das ausgewählte Objekt auszuführen muss du in der WHERE-Bedingung diesen Zusatz hinzufügen:
AND obj_main.isys_obj__id = 'OBJEKT-ID'
Beispiel:
SELECT obj_main.isys_obj__id AS '__id__', obj_main.isys_obj__title AS 'LC__UNIVERSAL__TITLE###1', j10.isys_catg_port_list__title AS 'LC__CMDB__CATG__TITLE###39', j14.isys_obj__title AS 'LC__UNIVERSAL__TITLE#LC__CMDB__CONNECTED_WITH###1', j15.isys_catg_port_list__title AS 'LC__CMDB__CATG__TITLE#LC__CMDB__CONNECTED_WITH###39' FROM isys_obj AS obj_main INNER JOIN isys_cmdb_status AS obj_main_status ON obj_main_status.isys_cmdb_status__id = obj_main.isys_obj__isys_cmdb_status__id LEFT JOIN isys_catg_port_list AS j10 ON j10.isys_catg_port_list__isys_obj__id = obj_main.isys_obj__id LEFT JOIN isys_catg_connector_list AS j6 ON j6.isys_catg_connector_list__id = j10.isys_catg_port_list__isys_catg_connector_list__id LEFT JOIN isys_catg_connector_list AS j4 ON j4.isys_catg_connector_list__isys_cable_connection__id = j6.isys_catg_connector_list__isys_cable_connection__id AND j4.isys_catg_connector_list__id != j6.isys_catg_connector_list__id LEFT JOIN isys_obj AS j5 ON j5.isys_obj__id = j4.isys_catg_connector_list__isys_obj__id LEFT JOIN isys_obj AS j14 ON j14.isys_obj__id = j5.isys_obj__id LEFT JOIN isys_catg_port_list AS j15 ON j15.isys_catg_port_list__isys_catg_connector_list__id = j4.isys_catg_connector_list__id LEFT JOIN isys_obj AS j16 ON j16.isys_obj__id = j5.isys_obj__id LEFT JOIN isys_obj_type AS j17 ON j17.isys_obj_type__id = obj_main.isys_obj__isys_obj_type__id WHERE TRUE AND ( (j17.isys_obj_type__id != '60' ) AND (j17.isys_obj_type__id != '60' ) AND (j17.isys_obj_type__id != '63' ) ) AND obj_main.isys_obj__id = 469560 ORDER BY obj_main.isys_obj__title DESC;
Ich hoffe das ich dir damit etwas helfen konnte.
Gruß,
vqh -
Danke vqh,
Die Abfrage funktioniert soweit und ich kann den Report im Dokumente Modul einbetten. Ich benötige zwar für jeden Switch einen eigenen Report, aber das ist ja kein Problem.
Grüße,
M-Fischer