Freigeben über


Verwendungsdatenmodell in Service Provider Foundation

 

Veröffentlicht: März 2016

Betrifft: System Center 2012 SP1 - Orchestrator, System Center 2012 R2 Orchestrator

In diesem Thema wird beschrieben, wie Service Provider Foundation Verwendungsdaten für Portale und Clients bereitgestellt, die mit ihren Verwendungserfassungsendpunkten verbunden sind.

System_CAPS_noteHinweis

Aktuelle Informationen über die Verwendungserfassung und Microsoft Azure Pack für Windows Server finden Sie im TechNet Wiki-Artikel How to Integrate Your Billing System with the Usage Metering System (in englischer Sprache).

Übersicht über die Verwendungserfassung

Die Verwendungserfassung umfasst die folgenden Technologien und Ressourcen, die als Komponenten am Verwendungserfassungssystems beteiligt sind:

  • Datengenerator

    Ein Ressourcenanbieter, z. B. ein Anbieter von Cloudressourcen für virtuelle Computer, der Verwendungsdaten erfasst und anzeigt. Die Daten werden von virtuellen Computern abgerufen, die ein Mandant verwendet. Auf diese Weise werden verschiedene Kategorien von Metriken wie Festplattenkapazität und Speicherauslastung erstellt.

  • Datensammler

    Das Programm, das von einer Portalanwendung verwendet wird, um in regelmäßigen Abständen Benutzerinformationen zu sammeln und in der Verwendungsdatenbank zu speichern. Der Portalhoster implementiert die Verwendungsmetrik durch Anwendung von REST-basierten JSON-Abfragen nach einem festen Zeitplan. Die Datensammler erwartet, dass die Verwendungsdaten gemäß einem Datenvertrag verfügbar gemacht werden, der für alle Ressourcenanbieter gilt.

  • Verwendungsdatenbank

    Das Data Warehouse-Repository der Verwendungsdaten, aus dem nach einer bestimmten Anzahl von Tagen ältere Datensätze gelöscht werden können.

  • Verwendungs-API

    Der Code, der zum Übertragen und Analysieren von Verwendungsdaten verwendet wird. Dies ist eine RESTful-API und die einzige Möglichkeit, die Daten aus der Verwendungsdatenbank zu extrahieren. Mit JSON-Abfragen können Dienstanbieter problemlos Verwendungsdaten an ihr Abrechnungssystem anpassen.

Beachten Sie, dass Service Provider Foundation nicht aufgeführt wird, da es nicht für die Implementierung der Verwendungserfassung erforderlich ist. Vielmehr besteht die Rolle des Service Provider Foundation darin, Metriken aus allen Datawarehouses zu sammeln und für Berechnungs- und Analysezwecke zu aggregieren.

Service Provider Foundation stellt Verwendungserfassungsdaten für andere Clients wie z. B. Microsoft Azure Pack für Windows Server zur Verfügung, die dies erfassen möchten. IaaS-Metriken in Microsoft Azure Pack für Windows Server werden von Anbietern von Cloudressourcen für virtuelle Computer bereitgestellt. Diese Daten umfassen die Verwendungsdaten für alle virtuellen Computer, die ein Mandant verwendet, vorausgesetzt, dass diese virtuellen Computer von System Center 2012 – Operations Manager überwacht werden und dass die Daten in Operations Manager Data Warehouses gespeichert werden, die von einem Operations Manager- Management-Server überwacht werden.

Übermitteln von Abfragen

So erhalten Sie Verwendungserfassungsdaten mit einer URL, die eine JSON-Abfrage enthält, wie im folgenden Beispiel gezeigt:

https://SPFserver.contoso.com:8090/usage/usage?lastID=0\&batchsize=1000

Im ersten Aufruf sollte die lastID 0 (null) sein. Es gibt keine Beschränkung für die Größe eines Batches. Beachten Sie, dass, wenn eine Batchgröße nicht allen verfügbaren Daten entspricht, Service Provider Foundation andere Verwendungserfassungsanforderungen von anderen Clients erfüllen und dann zu dem Client zurückkehrt, der dann sein nächste Batch bereitstellt.

Datenpullingmodell

Service Provider Foundation implementiert ein Datenpullingmodell zum Beziehen von Metriken. Clients fragen Daten in Batches ab. Zum Verfolgen der Batches und Abfragen verwendet die Verwendungserfassung ein Lesezeichen, das entweder 0 (null) ist (d. h., seit dem Start des Abonnements des Mandanten wurden keine Daten erfasst) oder ein Wert, der den letzten Datensatz des Batches identifiziert. Dieses Lesezeichen in Service Provider Foundation kann auch für nachfolgende Abfragen von diesem Client verwendet werden.

Für jeden Erfassungszyklus fordert der Datensammler auf dem Client ein neues Batch erfasster Daten über das aktuelle Lesezeichen als Ausgangspunkt für das nächsten Batch an. Wenn bei der vorherigen Batchabfrage ein leerer Ergebnissatz zurückgegeben wird (da Service Provider Foundation keine Verwendungsdatensätze zum Zurückgeben gefunden hat), verwendet der Datensammler das Lesezeichen 0.

Die Ergebnismenge der Datensätze für die Verwendungserfassung wird an den Sammler im Rahmen eines bekannten Datenvertrags bereitgestellt.

Erfassungsmetriken

Die Verwendungsmetriken für den virtuellen Computer in den folgenden Tabellen werden in stündlichen Intervallen aggregiert.Service Provider Foundation sammelt diese Metriken für jeden virtuellen Computer und für jedes registrierte Mandantenabonnement und aggregiert die Werte.

Ein Datensatz mit Verwendungsdaten besteht aus den folgenden Teilen:

  • EventID – eine neue eindeutige Ereignis-ID (Wasserzeichen), die mit dem Zeitpunkt des letzten Datensatzes assoziiert ist, wenn ein Batch von Verwendungsdaten an den Sammler zurückgegeben wird.

  • Resource Id – die Messung der Verwendungsaktivität.

  • StartTime, EndTime – die Start- und Endzeiten der Stunde, in der die Daten aggregiert wurden.

  • ServiceType – entweder „Cloud“ oder „VirtualMacine“.

  • SubscriptionID – die Abonnement-ID des Mandanten.

  • Eigenschaften – Informationsfelder, die Folgendes definieren:

    • Subscriber – Abonnenten-ID.

    • Metered Service – entweder „VM Utilization“ oder „Cloud Utilization“

    • VMName – ID des virtuellen Computers

    • VNIC – ID der virtuellen Netzwerkadapters.

Die folgenden Tabellen zeigen die Metriken für die vier Bereiche der Verwendungserfassung: Arbeitsspeicher, CPU, Datenträger und Netzwerk. Jede Tabelle listet die verfügbaren Ressourcen-IDs auf, mit denen die Metriken der Verwendungsdaten definiert werden, und enthält ein Beispiel für einen Datensatz für jede Art von Verwendungsmessung.

Arbeitsspeicher

Ressourcen-IDs

Definition

Beispieldatensatz

MemoryAllocated-Min

MemoryAllocated-Max

Niedrigste und höchste zugewiesene Speichergröße.

['53'] (
    EventId =  "54"
    ResourceId =  "MemoryAllocated-Max"
    StartTime =  "2012-11-21T00:00:00"
    EndTime =  "2012-11-21T01:00:00"
    ServiceType =  "VirtualMachine"
    SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
    Properties (
        Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Metered Service =  "VM Utilization"
        VMName =  "8ce64f27-4764-4d3a-911e-840d32f1d70b"
    )
    Resources (
        MemoryAllocated =  "1024"
    )
)

MemoryConsumed-Min

MemoryConsumed-Max

MemoryConsumed-Median

Niedrigste, höchste und mittlere verbrauchte Speichergröße.

['14'] (
    EventId =  "15"
    ResourceId =  "MemoryConsumed-Median"
    StartTime =  "2012-11-20T23:00:00"
    EndTime =  "2012-11-21T00:00:00"
    ServiceType =  "VirtualMachine"
    SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
    Properties (
        Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Metered Service =  "VM Utilization"
        VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
    )
    Resources (
        MemoryConsumed =  "1024"
    )
)

CPU

Ressourcen-IDs

Definition

Beispieldatensatz

CPUAllocationCount-Min

CPUAllocationCount-Max

Niedrigste und höchste Anzahl der zugewiesenen CPU-Kerne.

['60'] (
    EventId =  "61"
    ResourceId =  "CPUAllocationCount-Max"
    StartTime =  "2012-11-21T00:00:00"
    EndTime =  "2012-11-21T01:00:00"
    ServiceType =  "VirtualMachine"
    SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
    Properties (
        Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Metered Service =  "VM Utilization"
        VMName =  "8ce64f27-4764-4d3a-911e-840d32f1d70b"
    )
    Resources (
        CPUAllocationCount =  "1"
    )
)

CPUPercentUtilization-Median

Durchschnittswert als Prozentsatz der CPU-Auslastung.

['10'] (
    EventId =  "11"
    ResourceId =  "CPUPercentUtilization-Median"
    StartTime =  "2012-11-20T23:00:00"
    EndTime =  "2012-11-21T00:00:00"
    ServiceType =  "VirtualMachine"
    SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
    Properties (
        Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Metered Service =  "VM Utilization"
        VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
    )
    Resources (
        CPUPercentUtilization =  "0"
    )
)

Datenträger

Ressourcen-IDs

Definition

Beispieldatensatz

CrossDiskIOPerSecond-Min

CrossDiskIOPerSecond-Max

CrossDiskIOPerSecond-Median

Niedrigster, höchster und mittlerer Eingang/Ausgang pro Sekunde (IOPS) aller angeschlossenen Datenträger.

['18'] (
    EventId =  "19"
    ResourceId =  "CrossDiskIOPerSecond-Median"
    StartTime =  "2012-11-20T23:00:00"
    EndTime =  "2012-11-21T00:00:00"
    ServiceType =  "VirtualMachine"
    SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
    Properties (
        Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Metered Service =  "VM Utilization"
        VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
    )
    Resources (
        CrossDiskIOPerSecond =  "8"
    )
)

CrossDiskSizeAllocated-Min

CrossDiskSizeAllocated-Max

Niedrigste und höchste reservierte Datenträgergröße aller angeschlossenen Datenträger.

(Nicht verfügbar)

Netzwerk

Ressourcen-IDs

Definition

Beispieldatensatz

PerNICKBSentPerSecond-Min

PerNICKBSentPerSecond-Max

PerNICKBSentPerSecond-Median

PerNICKBSentPerSecond-Average

Niedrigste, höchste, mittlere und durchschnittliche Anzahl der Bytes, die pro Sekunde auf einem Netzwerkadapter gesendet werden

['3'] (
    EventId =  "4"
    ResourceId =  "PerNICKBSentPerSecond-Average"
    StartTime =  "2012-11-20T23:00:00"
    EndTime =  "2012-11-21T00:00:00"
    ServiceType =  "VirtualMachine"
    SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
    Properties (
        Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Metered Service =  "VM Utilization"
        VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
        VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
    )
    Resources (
        PerNICKBSentPerSecond =  "0"
    )
)

PerNICKBReceivedPerSecond-Min

PerNICKBReceivedPerSecond-Max

PerNICKBReceivedPerSecond-Median

PerNICKBReceivedPerSecond-Average

Niedrigste, höchste, mittlere und durchschnittliche Anzahl der Bytes, die pro Sekunde auf einem Netzwerkadapter empfangen werden

['5'] (
    EventId =  "6"
    ResourceId =  "PerNICKBReceivedPerSecond-Max"
    StartTime =  "2012-11-20T23:00:00"
    EndTime =  "2012-11-21T00:00:00"
    ServiceType =  "VirtualMachine"
    SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
    Properties (
        Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Metered Service =  "VM Utilization"
        VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
        VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
    )
    Resources (
        PerNICKBReceivedPerSecond =  "0"
    )
)

Beispiel für eine Datenergebnismenge

Die folgenden Daten stammen aus einem Beispielergebnis von 100 Erfassungsdatensätzen, das in einem JSON-Viewer gerendert wurde. Nur die ersten und letzten fünf werden angezeigt.

$json => Array (100)
(
    ['0'] (
        EventId =  "1"
        ResourceId =  "PerNICKBSentPerSecond-Min"
        StartTime =  "2012-11-20T23:00:00"
        EndTime =  "2012-11-21T00:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
            VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
        )
        Resources (
            PerNICKBSentPerSecond =  "0"
        )
    )
    ['1'] (
        EventId =  "2"
        ResourceId =  "PerNICKBSentPerSecond-Max"
        StartTime =  "2012-11-20T23:00:00"
        EndTime =  "2012-11-21T00:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
            VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
        )
        Resources (
            PerNICKBSentPerSecond =  "0"
        )
    )
    ['2'] (
        EventId =  "3"
        ResourceId =  "PerNICKBSentPerSecond-Median"
        StartTime =  "2012-11-20T23:00:00"
        EndTime =  "2012-11-21T00:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
            VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
        )
        Resources (
            PerNICKBSentPerSecond =  "0"
        )
    )
    ['3'] (
        EventId =  "4"
        ResourceId =  "PerNICKBSentPerSecond-Average"
        StartTime =  "2012-11-20T23:00:00"
        EndTime =  "2012-11-21T00:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
            VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
        )
        Resources (
            PerNICKBSentPerSecond =  "0"
        )
    )
    ['4'] (
        EventId =  "5"
        ResourceId =  "PerNICKBReceivedPerSecond-Min"
        StartTime =  "2012-11-20T23:00:00"
        EndTime =  "2012-11-21T00:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
            VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
        )
        Resources (
            PerNICKBReceivedPerSecond =  "0"
        )
    )
    ['5'] (
        EventId =  "6"
        ResourceId =  "PerNICKBReceivedPerSecond-Max"
        StartTime =  "2012-11-20T23:00:00"
        EndTime =  "2012-11-21T00:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
            VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
        )
        Resources (
            PerNICKBReceivedPerSecond =  "0"
        )
    )

    */ . . . skipping records 6-94 . . . */

    ['95'] (
        EventId =  "96"
        ResourceId =  "PerNICKBReceivedPerSecond-Max"
        StartTime =  "2012-11-21T01:00:00"
        EndTime =  "2012-11-21T02:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
            VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
        )
        Resources (
            PerNICKBReceivedPerSecond =  "0"
        )
    )
    ['96'] (
        EventId =  "97"
        ResourceId =  "PerNICKBReceivedPerSecond-Median"
        StartTime =  "2012-11-21T01:00:00"
        EndTime =  "2012-11-21T02:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
            VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
        )
        Resources (
            PerNICKBReceivedPerSecond =  "0"
        )
    )
    ['97'] (
        EventId =  "98"
        ResourceId =  "PerNICKBReceivedPerSecond-Average"
        StartTime =  "2012-11-21T01:00:00"
        EndTime =  "2012-11-21T02:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
            VNIC =  "B4091DAB-F5A3-49C0-9099-49085B03C1A0"
        )
        Resources (
            PerNICKBReceivedPerSecond =  "0"
        )
    )
    ['98'] (
        EventId =  "99"
        ResourceId =  "CPUPercentUtilization-Min"
        StartTime =  "2012-11-21T01:00:00"
        EndTime =  "2012-11-21T02:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
        )
        Resources (
            CPUPercentUtilization =  "0"
        )
    )
    ['99'] (
        EventId =  "100"
        ResourceId =  "CPUPercentUtilization-Max"
        StartTime =  "2012-11-21T01:00:00"
        EndTime =  "2012-11-21T02:00:00"
        ServiceType =  "VirtualMachine"
        SubscriptionId =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
        Properties (
            Subscriber =  "75700cd5-893e-4f68-ada7-50ef4668acc6"
            Metered Service =  "VM Utilization"
            VMName =  "885339cd-59c2-4312-ab94-1f1d42e38861"
        )
        Resources (
            CPUPercentUtilization =  "0"
        )
    )
)