Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    PDU / PDU Branches und deren Verwendung

    Scheduled Pinned Locked Moved Betrieb
    2 Posts 2 Posters 64 Views 2 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      sveno
      last edited by

      Hallo zusammen,

      ich versuche gerade im Demo-System herauszufinden, ob i-doit die Möglichkeit bietet, mehrere Phasen innerhalb des PDU-Objekts darzustellen. Ziel ist eine Übersicht zu erhalten, inwieweit jede Phase pro Rack/PDU ausgelastet ist.
      Für mich sieht es so aus, also ob das über die PDU Branches abbildbar wäre. Jedoch fehlt mir irgendwie der Punkt "Stromverbraucher zu Receptable verbinden", auch Editieren innerhalb der PDU Übersicht ist ausgegraut.
      227ed52a-f853-4ccd-889b-02f085414836-image.jpeg

      Die beiden KB-Seiten bzgl. PDU und PDU Branches bringen mich nicht wirklich weiter.
      Es gab wohl auch mal einen Blog-Einträg bzgl. Kapazitätsmanagement mit PDUs - den finde ich aber nicht mehr; die entsprechenden Links führen "nur" zur Hauptseite vom Blog.

      Hat wer ne Lösung oder nen anderen Ansatz, wie das umzusetzen wäre?

      LG

      1 Reply Last reply Reply Quote 0
      • Michael HuhnM Offline
        Michael Huhn
        last edited by

        undefined @sveno

        dazu drei Punkte mit Hintergrund aus dem Code:

        1. 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).

        1. 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.

        1. "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.

        1. 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).

        1 Reply Last reply Reply Quote 0

        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

        With your input, this post could be even better 💗

        Register Login
        • First post
          Last post