Subcategories

  • Fragen und Infos rund um i-doit, das Team, Ziele und Pläne

    1k Topics
    4k Posts
    T
    Hallo zusammen, gibt es eine Möglichkeit die Datenbank zweier i-doit Instanzen zu mergen? Beide i-doit Version sind 8.3 aber mit unterschiedlichen Datenbeständen. Ist so etwas möglich? Besten Dank und LG TheBob
  • Fragen zu Installation, Konfiguration oder Nutzung

    2k Topics
    8k Posts
    Michael HuhnM
    @sveno dazu drei Punkte mit Hintergrund aus dem Code: Stromkreise/Phasen pro PDU 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). Editieren in der PDU-Übersicht 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. "Stromverbraucher zu Receptacle verbinden" 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: Am Verbraucher: Kategorie Stromverbraucher mit Anschluss An der PDU: Kategorie Stromversorger oder einfache Connectors-Einträge Verbindung per Verkabelung (Kabelverbindung). 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. Auslastung pro Phase/PDU/Rack Zwei Wege: Live (SNMP): PDU spricht SNMP, OIDs sind in den Tenant-Settings gesetzt, PDU-Übersicht zeigt die Werte automatisch. Statisch (Report): Nennlast aus Stromverbraucher (Felder Volt, Watt, Ampere) summieren und per Connector-Titel an der PDU gruppieren. Voraussetzung: der Phasen-Prefix aus Punkt 3. 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).
  • Einen Fehler melden, Änderungen anregen oder selber entwickeln.

    1k Topics
    4k Posts
    cherifC
    Hallo zusammen, ich versuche, einen Console-Command in einem Add-on zu implementieren, stoße dabei jedoch auf ein Problem mit den Klassen. In der Command-Klasse (rot markiert) versuche ich, auf eine Methode der Manager-Klasse (grün markiert) zuzugreifen. Beim Ausführen des Befehls php console.php tools:sync erhalte ich jedoch die unten stehende Fehlermeldung. Offenbar ist es mir aktuell nicht möglich, auf eine Klasse außerhalb zuzugreifen. In der GUI sind die Klassen jedoch erreichbar. Könnte mir bitte jemand dabei helfen oder einen Hinweis geben, woran das liegen könnte? Vielen Dank im Voraus! Cherif PHP Fatal error: Uncaught Error: Class "idoit\Module\tools\Manager\MyManager" not found in /var/www/i-doit/src/classes/modules/tools/src/Console/Command/MyCommand.php:88 Stack trace: #0 /var/www/i-doit/vendor/symfony/console/Command/Command.php(326): idoit\Module\tools\Console\Command\MyCommand->execute() #1 /var/www/i-doit/vendor/symfony/console/Application.php(1088): Symfony\Component\Console\Command\Command->run() #2 /var/www/i-doit/vendor/symfony/console/Application.php(324): Symfony\Component\Console\Application->doRunCommand() #3 /var/www/i-doit/vendor/symfony/console/Application.php(175): Symfony\Component\Console\Application->doRun() #4 /var/www/i-doit/console.php(26): Symfony\Component\Console\Application->run() #5 {main} in init.php Psr4AutoloaderClass::factory() ->addNamespace('idoit\Module\tools', DIR . '/src/'); in der MyCommand.php: namespace idoit\Module\tools\Console\Command; use idoit\Console\Command\AbstractCommand; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputDefinition; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use idoit\Module\tools\Manager\MyManager; class MyCommand extends AbstractCommand { ... in der MyManager.php namespace idoit\Module\tools\Manager; use Exception; use isys_application; use isys_component_dao_result; use isys_exception_dao; use isys_exception_database; use isys_cmdb_dao; class MyManager extends isys_cmdb_dao { ... [image: 1775648112675-18336614-518d-414e-ac35-287ecd3e8046-image.jpeg]
  • Raumpläne verschwunden

    7
    2
    0 Votes
    7 Posts
    518 Views
    D
    Hi @mikelae , du musst die eingefügten Raumpläne makieren und dann übernehmen und speichern. so siehts aus wenn es nicht makiert ist [image: 1620643193929-test1.png] so ist makiert [image: 1620643246005-test2.png] VG DIM
  • idoitcmk :SSL certificate problem: unable to get issuer certificate

    2
    1
    0 Votes
    2 Posts
    450 Views
    Michael HuhnM
    Hallo @hallo456, zuerst mal werden in Zertifikaten immer Hostnamen verwendet und keine IP-Adressen. Somit sollte der Hostname in der Konfiguration des Check_MK 2 Add-ons stehen. Weitere Informationen zur Verwendung von HTTPS findest du z.B. unter https://kb.i-doit.com/display/de/Sicherheit+und+Schutz#SicherheitundSchutz-Transportverschlüsselung mfg Micha
  • idoitcmk Status FAIL

    5
    1
    0 Votes
    5 Posts
    592 Views
    M
    Zum Problem mit "Undifined index: mandator" gibt es laut i-doit support schon ein Bug Ticket. Da wird noch daran gearbeitet. Ich bin in das selbe Problem gelaufen. idoitcmk push sollte aber trotzdem funktionieren (tuts bei mir aber nicht). siehe: Topic 3766 lg, Marco @oliver-w said in idoitcmk Status FAIL: Hallo zusammen, dann "missbrauche" ich mal diesen Thread für mein Problem. [image: 1588765079743-d9ef584d-4304-4408-98f4-a9d704063155-grafik.png] Sowohl die Anbindung des Addons an die JSON-RPC API als auch die Verbindung zum Livestatus funktioniert nicht. idoit und checkmk laufen auf unterschiedlichen Hosts - rein lokaler Testaufbau. Hier die entsprechenden Stellen der config.json: "i-doit": { "url": "http://localhost/src/jsonrpc.php", "key": "277lbx7723pcwwk8", "username": "admin", "password": "admin", "language": "en", "limitBatchRequests": 500 }, "check_mk": { "webAPI": { "url": "http://192.168.100.10/TESTSITE/check_mk/webapi.py", "username": "automation", "secret": "MOINKUGACUIJUGHVCAYG", "effectiveAttributes": true }, "livestatus": { "title": "Check_MK", "type": "tcp", "host": "192.168.100.10", "port": 6557 } }, Weitere Konfig: [image: 1588765834150-524dceea-0d4a-4b1c-a4a0-e320f6c58bbc-grafik.png] [image: 1588765864643-e915a3dd-38a7-45b2-87e4-a55f593fdf90-grafik.png] Wäre für jegliche Hilfe dankbar. Schöne Grüße!