DCIM-Metrikdaten-Feed-API

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 7 Minuten Lesedauer
  • Die DCIM-Metrikdaten-Feed Die API stellt einen Endpunkt bereit, um DCIM-Metrikdaten (Data Center Infrastructure Management) aus einem externen System zu akzeptieren und die Daten in einem zu speichern MetricBase Datenbank.

    Diese API empfängt Metrikdaten in nahezu Echtzeit, z. B. Temperatur, Feuchtigkeit und Stromverbrauch.

    Diese API kann zur Verwendung mit einem ausgewählten externen System erweitert werden, indem der geskriptete Erweiterungspunkt implementiert wird TNIDCIMFeedParser . Die Standardimplementierung TNIDCIMFeedEquinixParser Kann als Beispiel verwendet werden. Weitere Informationen zu Erweiterungspunkten finden Sie unter Erweiterungspunkte verwenden, um die Anwendungsfunktionalität zu erweitern.

    Diese API ist in der Anwendung „Netzwerkbestand – Erweitert“ enthalten, die im verfügbar ist ServiceNow Store. Diese API erfordert auch MetricBase Plugin (com.snc.clotho).

    Der aufrufende Anwender muss über die Rolle sn_ni_adv.metric_Integrator verfügen.

    DCIM-Metrikdaten-Feed: /sn_ni_adv/dcim/Feed/{vendorname} VERÖFFENTLICHEN

    Speichert Metrikdaten wie Temperatur, Feuchtigkeit und Stromverbrauch in MetricBase.

    Standardmäßig kann dieser Endpunkt zum Speichern von Daten zu den folgenden Arten von Konfigurationselementen (Configuration Items, CIs) verwendet werden:
    • Stromkreis [cmdb_ci_Circuit]
    • Schrank [cmdb_ci_Container_Cabinet]
    • Cage [cmdb_ci_Cage]
    • Rechenzentrum [cmdb_ci_Datacenter]
    • Rechenzentrumszone [cmdb_ci_Zone]

    So verwenden Sie diesen Endpunkt mit zusätzlichen CI-Typen: Erstellen Sie Metrikdefinitionen Und implementieren Sie den geskripteten Erweiterungspunkt TNIDCIMFeedParser .

    URL-Format

    Standard-URL: /api/sn_ni_adv/dcim/Feed/{vendorname}

    Unterstützte Anforderungsparameter

    Tabelle : 1. Pfadparameter
    Name Beschreibung
    lieferantenname Name des externen Systems, von dem Metrikdaten empfangen werden sollen.

    Bei Verwendung der Standardimplementierung dieser API ist dieser Wert equinix . Wenn Sie diese API mit anderen externen Systemen verwenden, wird die verwendet vendornameDie hier verwendete Verwendung muss in Ihre Implementierung von einbezogen werden TNIDCIMFeedParser Erweiterungspunkt.

    Datentyp: Zeichenfolge

    Tabelle : 2. Abfrageparameter
    Name Beschreibung
    Keine
    Tabelle : 3. Anforderungstext-Parameter (JSON)
    Name Beschreibung
    Daten Erforderlich. Die Daten, in denen gespeichert werden soll MetricBase.

    Datentyp: Objekt

    Hinweis:
    Die Elemente, die in diesem Objekt enthalten sein müssen, variieren je nach typeParameter und Konfigurationselementtyp, z. B. Rechenzentrum oder Stromkreis.
    "data": {
       "apparentPower": {Object},
       "asset": {Object},
       "cabinet": "String",
       "cabinetRating": {Object},
       "cage": "String",
       "contractualPower": {Object},
       "ibx": "String",
       "kilowattHour": {Object},
       "peakLastSevenDays": {Object},
       "peakLastSevenDaysRatio": {Object},
       "powerConsumptionToContractual": {Object},
       "powerFactor": {Object},
       "reading": {Object},
       "readingTime": "String",
       "realPower": {Object},
       "soldCurrent": {Object},
       "tag": {Object}
    }
    Daten.ApparentPower Daten zur Scheinleistung in Kilovolt-Ampere. Erforderlich, wenn typeParameter ist Leistung .

    Datentyp: Objekt

    "apparentPower": {      
       "unit": "String",
       "value": "String"  
    }
    Daten.ApparentLeistung.Einheit Maßeinheit. Der einzige akzeptierte Wert ist KVA .

    Datentyp: Zeichenfolge

    Data.ApparentPower.Wert Der aufgezeichnete Kilovolt-Ampere-Messwert.

    Datentyp: Zeichenfolge

    Daten.Asset Asset-Daten. Erforderlich für Stromkreise, wenn typeParameter ist Gemessene Leistung Oder Leistung . Erforderlich für Schränke, Käfige und Zonen, wenn typeParameter ist Umwelt .

    Datentyp: Objekt

    "asset": {
       "id": "String",
       "level": "String",
       "type": "String"
    }
    data.asset.id Name des Assets.

    Tabelle: Stromkreis [cmdb_ci_Circuit], Schrank [cmdb_ci_Container_Cabinet], Käfig [cmdb_ci_Cage] oder Rechenzentrumszone [cmdb_ci_Zone]

    Feld: Name

    Datentyp: Zeichenfolge

    Daten.Asset.Ebene Art des Assets. Wird für Schränke, Käfige und Zonen verwendet.
    Mögliche Werte:
    • SCHRANK
    • KÄFIG
    • ZONE

    Datentyp: Zeichenfolge

    Data.Asset.type Art des Assets. Wird für Schaltkreise verwendet. Der einzige akzeptierte Wert ist STROMKREIS .

    Datentyp: Zeichenfolge

    data.cabinet Name des Schranks. Erforderlich für Schränke, wenn typeParameter ist Gemessene Leistung Oder Leistung .

    Tabelle: Containerschrank [cmdb_ci_Container_Cabinet]

    Feld: Name

    Datentyp: Zeichenfolge

    data.cabinetRating Energieverbrauch, für den der Schrank bewertet ist, in Kilovolt-Ampere. Erforderlich, wenn typeParameter ist Leistung .

    Datentyp: Objekt

    "cabinetRating": {      
       "unit": "String",
       "value": "String"  
    }
    data.cabinetRating.unit Maßeinheit. Der einzige akzeptierte Wert ist KVA .

    Datentyp: Zeichenfolge

    data.cabinetRating.value Die Leistungsnutzungsbewertung für den Schrank.

    Datentyp: Zeichenfolge

    data.cage Name des Käfigs. Erforderlich für Käfige, wenn typeParameter ist Gemessene Leistung Oder Leistung .

    Tabelle: Cage [cmdb_ci_Cage]

    Feld: Name

    Datentyp: Zeichenfolge

    Daten.Vertragsmacht Vom Vertrag zugewiesener Energieverbrauch in Kilovolt-Ampere. Erforderlich, wenn typeParameter ist Leistung .

    Datentyp: Objekt

    "contractualPower": {      
       "unit": "String",
       "value": "String"  
    }
    Daten.vertraglich Leistung.Einheit Maßeinheit. Der einzige akzeptierte Wert ist KVA .

    Datentyp: Zeichenfolge

    Daten.vertragliche Leistung.Wert Der vom Vertrag zugeteilte Stromverbrauch.

    Datentyp: Zeichenfolge

    Daten.ibx Name des Rechenzentrums

    Erforderlich beim Speichern von Metrikdaten für ein Rechenzentrum.

    Tabelle: Rechenzentrum [cmdb_ci_Datacenter]

    Datentyp: Zeichenfolge

    Daten.KilowattHour Stromnutzungsdaten in Kilowattstunden. Erforderlich, wenn typeParameter ist Gemessene Leistung .

    Datentyp: Objekt

    "kilowattHour": {      
       "unit": "String",
       "value": "String"  
    }
    Daten.KilowattHour.unit Maßeinheit. Der einzige akzeptierte Wert ist KWh .

    Datentyp: Zeichenfolge

    Daten.KilowattHour.Wert Der aufgezeichnete Kilowattstunden-Messwert.

    Datentyp: Zeichenfolge

    Daten.SpitzenLastSevenTage Der maximale Stromverbrauch innerhalb der letzten Woche in Kilovolt-Ampere. Erforderlich, wenn typeParameter ist Leistung .

    Datentyp: Objekt

    "peakLastSevenDays": {      
       "unit": "String",
       "value": "String"  
    }
    Data.peakLastSevenDays.unit Maßeinheit. Der einzige akzeptierte Wert ist KVA .

    Datentyp: Zeichenfolge

    Data.peakLastSevenDays.Wert Der maximale Stromverbrauchswert der letzten Woche.

    Datentyp: Zeichenfolge

    Data.peakLastSevenDaysRatio Der maximale Prozentsatz des Stromverbrauchs der vom Vertrag innerhalb der letzten Woche zugewiesenen Menge. Erforderlich, wenn typeParameter ist Leistung .

    Datentyp: Objekt

    "peakLastSevenDaysRatio": {      
       "unit": "String",
       "value": "String"  
    }
    Data.peakLastSevenDaysRatio.unit Maßeinheit. Der einzige akzeptierte Wert ist PROZENT .

    Datentyp: Zeichenfolge

    Data.peakLastSevenDaysRatio.value Der maximale Prozentsatz der verbrauchten Leistung.

    Datentyp: Zeichenfolge

    Data.powerConsumptionToContractual Prozentsatz des verbrauchten Stroms von der vom Vertrag zugewiesenen Menge. Erforderlich, wenn typeParameter ist Leistung .

    Datentyp: Objekt

    "powerConsumptionToContractual": {      
       "unit": "String",
       "value": "String"  
    }
    Data.powerConsumptionToContractual.unit Maßeinheit. Der einzige akzeptierte Wert ist PROZENT .

    Datentyp: Zeichenfolge

    Data.powerConsumptionToContractual.value Der Prozentsatz des verbrauchten Stroms.

    Datentyp: Zeichenfolge

    Data.powerFactor Leistungsfaktordaten. Erforderlich, wenn typeParameter ist Leistung .

    Datentyp: Objekt

    "powerFactor": {      
       "unit": "String",
       "value": "String"  
    }
    Data.powerFactor.unit Maßeinheit. Der einzige akzeptierte Wert ist PF .

    Datentyp: Zeichenfolge

    Daten.PowerFactor.Wert Der Leistungsfaktorwert.

    Datentyp: Zeichenfolge

    Daten.Lesen Die gesammelten Umgebungsdaten. Erforderlich, wenn typeParameter ist Umwelt .

    Datentyp: Objekt

    "reading": {      
       "unit": "String",
       "value": "String"  
    }
    Daten.Lesen.Einheit Maßeinheit.
    Mögliche Werte:
    • CELSIUS : Verwendet, wenn data.tag.idIst Temperatur .
    • PROZENT : Verwendet, wenn data.tag.idIst Feuchtigkeit .

    Datentyp: Zeichenfolge

    Daten.Lesen.Wert Der aufgezeichnete Wert.

    Datentyp: Zeichenfolge

    Daten.Lesezeit Erforderlich. Datum und Uhrzeit der Datenerfassung.

    Dieser Wert muss in UTC im ISO 8601-Format angegeben sein. Beispiel: 2025-07-03T16:22:15.000Z .

    Datentyp: Zeichenfolge

    Daten.RealPower Stromnutzungsdaten in Kilowatt. Erforderlich, wenn typeParameter ist Leistung .

    Datentyp: Objekt

    "realPower": {      
       "unit": "String",
       "value": "String"  
    }
    Daten.RealPower.Einheit Maßeinheit. Der einzige akzeptierte Wert ist KW .

    Datentyp: Zeichenfolge

    Daten.RealPower.Wert Der aufgezeichnete Kilowatt-Messwert.

    Datentyp: Zeichenfolge

    Data.soldAktuelles Vom Vertrag zugeteilter Strom in Ampere. Erforderlich, wenn typeParameter ist Leistung .

    Datentyp: Objekt

    "soldCurrent": {      
       "unit": "String",
       "value": "String"  
    }
    Data.soldAktuelles.Einheit Maßeinheit. Der einzige akzeptierte Wert ist A .

    Datentyp: Zeichenfolge

    Data.soldAktuelles.Wert Der vom Vertrag zugeteilte Strom.

    Datentyp: Zeichenfolge

    Daten.Tag Objekt, das den Typ der Umgebungsdaten enthält. Erforderlich, wenn typeParameter ist Umwelt .

    Datentyp: Objekt

    "tag": {
       "id": "String"
    }
    data.tag.id Der Typ der Umgebungsdaten.
    Mögliche Werte:
    • Feuchtigkeit
    • temperature

    Datentyp: Zeichenfolge

    type Erforderlich. Typ der Metrikdaten.
    Mögliche Werte:
    • Umwelt : Wird für Feuchtigkeit oder Temperatur verwendet.
    • Gemessene Leistung : Wird für den Stromverbrauch in Kilowattstunden (kWh) verwendet.
    • Leistung : Wird für den Stromverbrauch in Kilowatt (kW) und Kilovolt-Ampere (kVA) verwendet.

    Datentyp: Zeichenfolge

    Header

    Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST API verwendet werden, finden Sie unter Unterstützte REST-API-Header .

    Tabelle : 4. Anforderungskopfzeilen
    Kopfzeile Beschreibung
    Akzeptieren Datenformat des Antworttexts. Nur unterstützt application/json;charset=UTF-8.
    Autorisierung Standard.
    Content-Type Datenformat des Anforderungstexts. Unterstützt nur application/json.
    Tabelle : 5. Antwortkopfzeilen
    Kopfzeile Beschreibung
    Inhaltstyp Datenformat des Antworttexts. Nur unterstützt application/json;charset=UTF-8.

    Statuscodes

    Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST API verwendet werden, finden Sie unter REST API-HTTP-Antwortcodes .

    Tabelle : 6. Statuscodes
    Statuscode Beschreibung
    200 Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet.
    400 Fehlerhafte Anforderung. Ein fehlerhafter Anforderungstyp oder eine falsch formatierte Anforderung wurde erkannt.
    401 Nicht autorisiert. Die Anmeldeinformationen sind falsch oder wurden nicht übergeben.
    403 Unzulässig. Der Anwender hat keine Zugriffsrechte für den angegebenen Datensatz.
    404 Nicht gefunden. Das angeforderte Element wurde nicht gefunden.
    429 Zu viele Anforderungen.
    500 Interner Serverfehler. Beim Verarbeiten der Anforderung ist ein unerwarteter Fehler aufgetreten. Der Antworttext enthält Informationen zum Fehler.

    Parameter des Antwort-Haupttexts (JSON)

    Name Beschreibung
    Ergebnis Details zur Anforderung

    Datentyp: Objekt

    "result": {
       "status": "String",
       "sys_id": "String"
    }
    Ergebnis.Status Status der Anforderung.

    Datentyp: Zeichenfolge

    Ergebnis.sys_ID SYS_ID des CI, das mit den Metrikdaten aktualisiert wurde.

    Tabelle: Stromkreis [cmdb_ci_Circuit], Schrank [cmdb_ci_Container_Cabinet], Cage [cmdb_ci_Cage], Rechenzentrum [cmdb_ci_Datacenter] oder Rechenzentrumszone [cmdb_ci_Zone]

    Datentyp: Zeichenfolge

    cURL-Anforderung

    Speichert gemessene Stromdaten für ein Rechenzentrum.

    curl "https://instance.service-now.com/api/sn_ni_adv/dcim/feed/vendorname" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
        "type": "metered-power",
        "data": {
            "ibx": "Datacenter Name",
            "kilowattHour": {
                "value": "40509.323",
                "unit": "kWh"
            },
            "readingTime": "2025-07-03T16:22:15.000Z"
        }
    }" \
    --user 'username':'password'

    Antworttext.

    {
        "result": {
            "status": "success",
            "sys_id": "c88dde85ff2662109cb9ffffffffffcc"
        }
    }

    cURL-Anforderung

    Speichert Stromdaten für einen Stromkreis.

    curl "https://instance.service-now.com/api/sn_ni_adv/dcim/feed/vendorname" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
        "type": "power",
        "data": {
            "asset": {
                "id": "Circuit Name",
                "type": "CIRCUIT"
            },
            "realPower": {
                "value": "0.522",
                "unit": "kW"
            },
            "apparentPower": {
                "value": "1.070",
                "unit": "kVA"
            },
            "contractualPower": {
                "value": "60.000",
                "unit": "kVA"
            },
            "powerFactor": {
                "value": "0.48",
                "unit": "pf"
            },
            "soldCurrent": {
                "value": "15.000",
                "unit": "A"
            },
            "powerConsumptionToContractual": {
                "value": "32.151",
                "unit": "PERCENT"
            },
            "cabinetRating": {
                "value": "123.300",
                "unit": "kVA"
            },
            "peakLastSevenDays": {
                "value": "1.146",
                "unit": "kVA"
            },
            "peakLastSevenDaysRatio": {
                "value": "34.424",
                "unit": "PERCENT"
            },
            "readingTime": "2025-07-03T16:22:15.000Z"
        }
    }" \
    --user 'username':'password'

    Antworttext.

    {
        "result": {
            "status": "success",
            "sys_id": "c67dbe45fc2662109cb9ffffffffffcd"
        }
    }

    cURL-Anforderung

    Speichert Temperaturdaten für eine Zone.

    curl "https://instance.service-now.com/api/sn_ni_adv/dcim/feed/vendorname" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
        "type": "environmental",
        "data": {
            "asset": {
                "id": "Zone Name",
                "level": "ZONE"
            },
            "reading": {
                "value": "23.300",
                "unit": "CELSIUS"
            },
            "tag": {
                "id": "temperature"
            },
            "readingTime": "2025-07-03T16:22:15.000Z"
        }
    }" \
    --user 'username':'password'

    Antworttext.

    {
        "result": {
            "status": "success",
            "sys_id": "c64dbc42fe2862109cb9ffffffffffed"
        }
    }

    cURL-Anforderung

    Speichert Feuchtigkeitsdaten für einen Schrank.

    curl "https://instance.service-now.com/api/sn_ni_adv/dcim/feed/vendorname" \
    --request POST \
    --header "Accept:application/json" \
    --header "Content-Type:application/json" \
    --data "{
        "type": "environmental",
        "data": {
            "asset": {
                "id": "Test Cabinet",
                "level": "CABINET"
            },
            "reading": {
                "value": "66.120",
                "unit": "PERCENT"
            },
            "tag": {
                "id": "humidity"
            },
            "readingTime": "2025-07-03T16:22:15.000Z"
        }
    }" \
    --user 'username':'password'

    Antworttext.

    {
        "result": {
            "status": "success",
            "sys_id": "c24dbc82fe3862107cb9ffffffffffbc"
        }
    }