eine i-doit 8.3 gibt es nicht. Die aktuelle Version ist die 38.
Aktuell gibt es weder eine Anleitung noch eine Funktion, um zwei Datenbanken zusammenzuführen Die Daten müssten also als Import hinzugefügt werden.
eine i-doit 8.3 gibt es nicht. Die aktuelle Version ist die 38.
Aktuell gibt es weder eine Anleitung noch eine Funktion, um zwei Datenbanken zusammenzuführen Die Daten müssten also als Import hinzugefügt werden.
dazu drei Punkte mit Hintergrund aus dem Code:
i-doit modelliert das über die Kategorie Branch an der PDU. In der Liebert/Vertiv-MIB, an der sich i-doit orientiert, heisst diese Ebene lgpPduRb (Receptacle Branch), also Stromkreis bzw. Sicherungsabgang. Bei dreiphasigen PDUs entspricht das typischerweise einem Branch
pro Phase (L1, L2, L3), das hängt aber vom PDU-Hersteller-Layout ab. Pro Branch trägst du die Anzahl der Receptacles ein (Default 6).
Die Kategorie PDU-Übersicht (C__CATS__PDU_OVERVIEW) ist intern eine virtuelle Kategorie (source_table = isys_catg_virtual_list). Virtuelle Kategorien aggregieren nur, sie haben keine eigene Speicher-Spaltenstruktur, daher ist der Edit-Button ausgegraut. Das ist gewolltes
Verhalten, kein Bug der Demo.
Receptacles sind in i-doit kein eigenständiges Objekt. Die Tabelle isys_cats_pdu_branch_list hat lediglich eine Integer-Spalte receptables (= Anzahl). Receptacle-Namen, Pwr-Werte und akkumulierte Energie holt i-doit ausschliesslich per SNMP, die Default-OIDs zeigen auf
die Liebert/Vertiv-Enterprise-MIB (1.3.6.1.4.1.476.1.42., Felder lgpPduRcpEntry). Überschreibbar sind die Pfade unter snmp.pdu.path.* in den Tenant-Einstellungen.
Ohne SNMP-fähige PDU bleibt die Receptacle-Spalte auf "Anzahl" sitzen. Die Verknüpfung Server zu PDU läuft dann nicht receptacle-genau, sondern connector-genau über Verkabelung:
Wenn du es receptacle-genau abbilden willst, hat sich diese Convention bewährt: pro Receptacle einen Output-Connector auf der PDU anlegen, benannt nach Phase und Slot (z. B. L1 / Rec 1 bis L3 / Rec 6), und den Server-Power-Anschluss per Verkabelung mit genau diesem
Connector verbinden. Die Demo macht es ähnlich, dort heissen die Outputs allerdings nur 16A-Anschluss 01 bis 12.
Zwei Wege:
Skeleton für den Report-Manager (Belegung pro PDU, gefiltert auf Power-Output-Connectors):
SELECT
rack.isys_obj__title AS Rack,
pdu.isys_obj__title AS PDU,
SUBSTRING_INDEX(pdu_conn.isys_catg_connector_list__title, '/', 1) AS Phase,
COUNT(*) AS Receptacles_total,
SUM(CASE WHEN pdu_conn.isys_catg_connector_list__isys_cable_connection__id IS NOT NULL
THEN 1 ELSE 0 END) AS Receptacles_used
FROM isys_catg_connector_list pdu_conn
JOIN isys_obj pdu
ON pdu.isys_obj__id = pdu_conn.isys_catg_connector_list__isys_obj__id
AND pdu.isys_obj__isys_obj_type__id = 49
AND pdu.isys_obj__status = 2
LEFT JOIN isys_catg_location_list pdu_loc
ON pdu_loc.isys_catg_location_list__isys_obj__id = pdu.isys_obj__id
AND pdu_loc.isys_catg_location_list__status = 2
LEFT JOIN isys_obj rack
ON rack.isys_obj__id = pdu_loc.isys_catg_location_list__parentid
AND rack.isys_obj__isys_obj_type__id = 4
WHERE pdu_conn.isys_catg_connector_list__status = 2
AND pdu_conn.isys_catg_connector_list__type = 2 -- 2 = OUTPUT
AND pdu_conn.isys_catg_connector_list__isys_connection_type__id IN (4, 5) -- Schuko + IEC
GROUP BY rack.isys_obj__id, pdu.isys_obj__id, Phase
ORDER BY Rack, PDU, Phase;
Hintergrund zu den Konstanten: C__CONNECTOR__OUTPUT = 2, Connection-Type IDs 4 und 5 = Schuko und IEC-Power-Connector (aus isys_connection_type). Damit bleiben Netzwerk-Ports und der PDU-Input aussen vor.
Watt-Summen pro Phase folgen demselben Pattern, sobald Stromverbraucher am Server gepflegt ist; dafür joinst du über isys_cable_connection auf die Verbraucher-Seite und ergänzt SUM(consumer.isys_catg_pc_list__watt).
die angezeigten Daten in der Quickinfo sind fest definiert und können nicht angepasst werden.
Einfacher wäre es die Objektliste anzupassen.
Bugs können hier nicht gelöst werden, daher sowas immer an den Support melden.
help.i-doit.com oder via help@i-doit.com
also es gibt keine direkte Ansicht aber es lassen sich einfach SQL Queries für den Report Manager nutzen.
Da muss dann jedes mal die ID geändert werden, hier 2 Beispiele:
Beispiel 1:
SELECT
DATE(c.isys_cmdb_status_changes__timestamp) AS change_date,
CASE s.isys_cmdb_status__const
WHEN 'C__CMDB_STATUS__PLANNED' THEN 'Geplant'
WHEN 'C__CMDB_STATUS__ORDERED' THEN 'Bestellt'
WHEN 'C__CMDB_STATUS__DELIVERED' THEN 'Geliefert'
WHEN 'C__CMDB_STATUS__ASSEMBLED' THEN 'In Arbeit'
WHEN 'C__CMDB_STATUS__TESTED' THEN 'Getestet'
WHEN 'C__CMDB_STATUS__IN_OPERATION' THEN 'In Betrieb'
WHEN 'C__CMDB_STATUS__DEFECT' THEN 'Defekt'
WHEN 'C__CMDB_STATUS__UNDER_REPAIR' THEN 'In Reparatur'
WHEN 'C__CMDB_STATUS__DELIVERED_FROM_REPAIR' THEN 'Aus Reparatur zurück'
WHEN 'C__CMDB_STATUS__INOPERATIVE' THEN 'Außer Betrieb'
WHEN 'C__CMDB_STATUS__STORED' THEN 'Gelagert'
WHEN 'C__CMDB_STATUS__SCRAPPED' THEN 'Verschrottet'
WHEN 'C__CMDB_STATUS__SWAPPED' THEN 'Getauscht'
ELSE s.isys_cmdb_status__title
END AS status
FROM isys_cmdb_status_changes c
JOIN isys_cmdb_status s ON s.isys_cmdb_status__id = c.isys_cmdb_status_changes__isys_cmdb_status__id
WHERE c.isys_cmdb_status_changes__isys_obj__id = 275
ORDER BY c.isys_cmdb_status_changes__timestamp ASC;

Beispiel2:
SELECT
o.isys_obj__id AS object_id,
o.isys_obj__title AS object_title,
DATE(c.isys_cmdb_status_changes__timestamp) AS change_date,
c.isys_cmdb_status_changes__timestamp AS change_time,
s.isys_cmdb_status__title AS status_constant,
CASE s.isys_cmdb_status__const
WHEN 'C__CMDB_STATUS__PLANNED' THEN 'Geplant'
WHEN 'C__CMDB_STATUS__ORDERED' THEN 'Bestellt'
WHEN 'C__CMDB_STATUS__DELIVERED' THEN 'Geliefert'
WHEN 'C__CMDB_STATUS__ASSEMBLED' THEN 'In Arbeit'
WHEN 'C__CMDB_STATUS__TESTED' THEN 'Getestet'
WHEN 'C__CMDB_STATUS__IN_OPERATION' THEN 'In Betrieb'
WHEN 'C__CMDB_STATUS__DEFECT' THEN 'Defekt'
WHEN 'C__CMDB_STATUS__UNDER_REPAIR' THEN 'In Reparatur'
WHEN 'C__CMDB_STATUS__DELIVERED_FROM_REPAIR' THEN 'Aus Reparatur zurück'
WHEN 'C__CMDB_STATUS__INOPERATIVE' THEN 'Außer Betrieb'
WHEN 'C__CMDB_STATUS__STORED' THEN 'Gelagert'
WHEN 'C__CMDB_STATUS__SCRAPPED' THEN 'Verschrottet'
WHEN 'C__CMDB_STATUS__SWAPPED' THEN 'Getauscht'
ELSE s.isys_cmdb_status__title
END AS status_label
FROM isys_cmdb_status_changes c
JOIN isys_obj o ON o.isys_obj__id = c.isys_cmdb_status_changes__isys_obj__id
JOIN isys_cmdb_status s ON s.isys_cmdb_status__id = c.isys_cmdb_status_changes__isys_cmdb_status__id
WHERE o.isys_obj__id = 12345
ORDER BY c.isys_cmdb_status_changes__timestamp ASC;
Hier noch die Vorschau:

bitte verwende für das Update mit dem i-doit console utility die Anmeldedaten vom Admin-Center.
Die Hilfe zum Befehl wird noch verbessert und in der KB auch.
Ps. gibt es keine Möglichkeit mod_rewrite auf dem System zu aktivieren?
soweit mir bekannt ist wird es kein docker release geben. Ob es auf die Roadmap kommt lässt sich bei der DiP sehen:
https://www.i-doit.com/pwr-event-dib-26
was du archivierst ist ein Eintrag in einer Kategorie. Nicht das Objekt selbst, sondern den rückwärtigen Eintrag zur "Kontakzuweisung" am Gerät.
Der ldap-sync Befehl reaktiviert aber alle archivierten Beziehungen des Objektes nach dem Import. Dies lässt sich durch die Experteneinstellung ldap.connection-ranking-active = 0 deaktivieren. Oder indem der ldap-sync Befehl mit
--connectionRankingActive 0 ausgeführt wird.
Siehe auch https://kb.i-doit.com/de/automatisierung-und-integration/cli/befehle-und-optionen.html#ldap-sync
da SSO durch Apache übernommen wird ist die lokale Anmeldung nicht möglich außer, wenn es einen weiteren VHost ohne mellon gibt. Zum Beispiel wie hier beschrieben:
<VirtualHost *:80>
ServerName nosso.synetics.test
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
DocumentRoot /var/www/html
<Directory "/var/www/html">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Siehe auch: https://community.i-doit.com/post/18774
es gibt keine Aktion um Kategorien oder Einträge zu löschen. Möglich wäre es eine komplette Kategorie zu löschen, wenn man den API Call verwendet und die notwendigen Daten über Twig liefert.
Da über Twig noch keine IDs in Multi-Value Kategorien gelesen werden können, kann nur die komplette Kategorie geleert werden.
scheint ein Bug zu sein. Bugs bitte an help@i-doit.com senden. Workaround ist mir nicht bekannt.
es gibt dazu ein Feature Feedback, absehbar ist da nichts.
Als Entwicklungspartner könnte das schneller geändert werden, dazu müsste nur jemand einen PR einreichen. Die Datei in der das Limit steht ist src/classes/connector/ticketing/isys_connector_ticketing_zammad.class.php Line 185. Allerdings sollte es dann eine Seitenansicht etc. geben.
der Username kann in den Logbucheinstellungen auf einen festen Wert gesetzt werden.
https://kb.i-doit.com/de/grundlagen/logbuch.html#logbuch-konfigurieren
Da das nur bei neuen Einträgen hilft, am besten ein Ticket via help@i-doit.com erstellen und nach "AnonymizePersonLastChange" Befehl fragen ;>
Richtig, Die Mandator ID 0 ist Systemweit und 1... jeweils der Mandant.
bei Problemen am besten beim Support melden -> help@i-doit.com
Ansonsten helfen nur Logs und ob Fehler in der Entwicklerkonsole geloggt werden.
hilfe ist immer Willkommen!
Entweder hier oder besser im GitHub Repository via Issue oder Pull request.
Für die Skripte
Für die Knowledge Base
das checkmk2 Add-on ist aktuell nur bis php 8.2 kompatibel.
Die Doku zum Add-on ist teilweise nicht mehr aktuell, weil die Entwicklung durch die SHD System-Haus-Dresden GmbH weiter entwickelt wird. Da es keine andere Dokumentation gibt, lassen wir unsere noch online.
Aktualisiert werden aber die Release Notes. Ich habe einen Issue für die KB erstellt, damit diese Informationen dort als Hinweis anzeigt werden.
Ps. Ich hab mal eben das Add-on mit php8.2 und php8.3 via "status" geprüft und keinen Fehler erhalten:


wenn du Support suchst oder Feature wünsche darbringen möchtest, dann ist dies hier der falsche Kanal.
Dazu bitte an den Support wenden über help.i-doit.com oder help@i-doit.com.
danke erstmal für die Information!
Bei Fehlern oder Verbesserungen gerne ein GitHub Issue im KB Repository erstellen.
Ich hab daraus mal eins gemacht:
https://github.com/i-doit/knowledge-base/issues/1056
Hier ist die Info zwar gut für andere Anwender aber ob diese Info dann bei i-doit ankommt ist was anderes ;>