administrators

Private

Posts

  • RE: Datenbank Merge

    undefined @thebob1

    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.

  • RE: PDU / PDU Branches und deren Verwendung

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

  • RE: Anzeige aller IP Adressen eines Systems

    undefined @thebob1

    die angezeigten Daten in der Quickinfo sind fest definiert und können nicht angepasst werden.
    Einfacher wäre es die Objektliste anzupassen.

  • RE: Netzbereich unter Hostadresse verschwindet wenn editiert wird

    undefined @thebob1

    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

  • RE: Objekt Lebenszyklus

    undefined @stefanp74

    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;
    

    2baadea2-48d2-4a6d-8f26-ebb94d040872-image.jpeg

    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:
    e3ab569b-0d7b-45f0-8ecf-e7e2118d977a-image.jpeg

  • RE: mod_rewrite Fehler bei Update auf neuere Version

    undefined @held_der_arbeit

    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?

  • RE: I-DoIT docker Installation

    undefined @KCEVE

    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

  • RE: Zugewiesene archivierte Objekte kommen nach LDAP Sync zurück

    undefined @sj

    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

  • RE: ADFS – Anmeldung mit lokalem Benutzer ermöglichen

    undefined @cherif

    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