Delen via


Model voor gebruiksmetingsgegevens in Service Provider Foundation

 

Gepubliceerd: maart 2016

Van toepassing op: System Center 2012 SP1 - Orchestrator, System Center 2012 R2 Orchestrator

In dit onderwerp wordt beschreven hoe Service Provider Foundation gegevens voor gebruiksmeting biedt voor portals en clients die verbinding maken met het eindpunt voor gebruiksmeting.

Notitie

Zie het TechNet-wikiartikel How to Integrate Your Billing System with the Usage Metering System (Uw factureringssysteem integreren met het systeem voor gebruiksmeting) voor bijgewerkte informatie over het meten van gebruik en Windows Azure Pack voor WindowsServer.

Overzicht van gebruiksmeting

Gebruiksmeting bestaat uit de volgende technologieën en resources die als onderdelen van het systeem voor het meten van gebruik werken:

  • Gegevensgenerator

    Een resourceprovider, zoals een cloudresourceprovider voor virtuele machines, die meetgegevens over gebruik verzamelt en weergeeft. De gegevens worden verkregen van virtuele machines die door een tenant worden gebruikt, waardoor verschillende categorieën meetgegevens, waaronder schijfcapaciteit en geheugengebruik, worden gemaakt.

  • Gegevensverzamelaar

    Het programma dat door een portaltoepassing wordt gebruikt om periodiek gebruiksgegevens te verzamelen en op te slaan in de gebruiksdatabase. De portalhost implementeert gebruiksmeting door geplande JSON-query's op basis van REST te gebruiken. De gegevensverzamelaar verwacht dat gebruiksgegevens beschikbaar worden gesteld op basis van een gegevensovereenkomst waaraan alle resourceproviders zich houden.

  • Gebruiksdatabase

    Het datawarehouse waarin gebruiksgegevens worden opgeslagen en waaruit oudere records na een bepaald aantal dagen kunnen worden gewist.

  • Gebruiks-API

    De code die wordt gebruikt om gebruiksgegevens te verzenden en parseren. Dit is een RESTful-API en dit is de enige manier om de gegevens op te halen uit de gebruiksdatabase. Met JSON-query's kunnen serviceproviders eenvoudig gebruiksgegevens opnemen in hun factureringssysteem.

Service Provider Foundation wordt niet weergegeven omdat dit niet nodig is om gebruiksmeting te implementeren. In plaats daarvan verzamelt Service Provider Foundation meetgegevens van alle datawarehouses om deze te verzamelen voor facturerings- en analysedoeleinden.

Service Provider Foundation biedt gegevens over gebruiksmeting voor elke client, zoals Windows Azure Pack voor WindowsServer, die deze gegevens wil verzamelen. Meetgegevens voor IaaS in Windows Azure Pack voor WindowsServer worden geleverd door de VM Clouds-resourceprovider. Deze gegevens bestaan uit alle meetgegevens over gebruik voor alle virtuele machines die worden gebruikt door een tenant, mits deze virtuele machines worden bewaakt door System Center 2012 – Operations Manager en de gegevens worden opgeslagen in Operations Manager-datawarehouses die worden bewaakt door een Operations Manager-beheerserver.

Indienen van query's

Meetgegevens over gebruik verkrijgen met een URL die een JSON-query bevat, zoals wordt weergegeven in het volgende voorbeeld:

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

In de eerste aanroep moet de waarde voor lastID nul zijn. Er geldt geen limiet voor de grootte van een batch. Als een batchgrootte niet gelijk is aan alle beschikbare gegevens, voldoet Service Provider Foundation eerst aan andere aanvragen voor gebruiksmetingen van andere clients om vervolgens met de volgende batch terug te keren naar die client.

Model voor opvragen van gegevens

Service Provider Foundation implementeert een model voor het opvragen van gegevens om meetgegevens te verkrijgen. Clients vragen gegevens in batches aan. Om de batches en aanvragen bij te houden, wordt bij gebruiksmeting een bladwijzer gebruikt die nul kan zijn (wanneer er geen gegevens zijn verzameld sinds het begin van het abonnement van de tenant) of een waarde kan hebben waarmee de laatste record van de batch wordt geïdentificeerd. In Service Provider Foundation kan deze bladwijzer voor volgende aanvragen door de client worden gebruikt.

Voor elke verzamelingscyclus vraagt de clientverzamelaar een volgende batch gemeten gegevens aan met de huidige bladwijzer als beginpunt voor de volgende batch. Als de vorige batchaanvraag een lege verzameling resultaten heeft opgeleverd (omdat door Service Provider Foundation geen gebruiksrecords zijn gevonden), wordt een bladwijzer van 0 gebruikt.

De verzameling resultaten met gebruiksmetingsrecords wordt in een bekende gegevensovereenkomst aan de collector geleverd.

Meetgegevens voor meting

De meetgegevens voor het gebruik van virtuele machines in de volgende tabellen zijn verzameld op basis van tijdsintervallen van een uur. In Service Provider Foundation worden deze meetgegevens voor elke virtuele machine verzameld voor elk geregistreerd tenantabonnement.

Een record met gebruiksgegevens bestaat uit de volgende onderdelen:

  • EventId: een nieuwe unieke gebeurtenis-id (watermerk) die wordt gekoppeld aan de laatste recordtijd wanneer een batch gebruiksrecords wordt geretourneerd aan de verzamelaar.

  • ResourceId: de meting van de gebruiksactiviteit.

  • StartTime, EndTime: de begin- en eindtijden van het uur waarin de gegevens zijn verzameld.

  • ServiceType: Cloud of VirtualMachine.

  • SubscriptionID: de abonnement-id van de tenant.

  • Eigenschappen: dit zijn gegevensvelden waarin het volgende wordt gedefinieerd:

    • Subscriber: abonnee-id.

    • Metered Service – VM Utilization of Cloud Utilization

    • VMName: id van de virtuele machine

    • VNIC: id van de virtuele netwerkadapter.

In de volgende tabellen worden de meetgegevens voor de vier gebieden van gebruiksmeting weergegeven: geheugen, CPU, schijf en netwerk. Elke tabel bevat de relevante resource-id's waarmee de meetgegevens van gebruiksgegevens worden gedefinieerd en bevat een voorbeeld van een record voor elk type gebruiksmeting.

Geheugen

Resource-id's

Definitie

Voorbeeldrecord

MemoryAllocated-Min

MemoryAllocated-Max

Laagste en hoogste toegewezen geheugengrootte.

['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

Laagste, hoogste en mediane verbruikte geheugengrootte.

['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

Resource-id's

Definitie

Voorbeeldrecord

CPUAllocationCount-Min

CPUAllocationCount-Max

Laagste en hoogste aantal toegewezen CPU-kernen.

['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

Mediane gemiddelde CPU-verbruik in percentages.

['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"
    )
)

Schijf

Resource-id's

Definitie

Voorbeeldrecord

CrossDiskIOPerSecond-Min

CrossDiskIOPerSecond-Max

CrossDiskIOPerSecond-Median

Laagste, hoogste en mediane in-/uitvoer per seconde voor alle gekoppelde schijven.

['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

Laagste en hoogste toegewezen schijfruimte voor alle gekoppelde schijven.

(Niet beschikbaar)

Netwerk

Resource-id's

Definitie

Voorbeeldrecord

PerNICKBSentPerSecond-Min

PerNICKBSentPerSecond-Max

PerNICKBSentPerSecond-Median

PerNICKBSentPerSecond-Average

Laagste, hoogste, mediane en gemiddelde aantal verzonden bytes per seconde op een netwerkadapter

['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

Laagste, hoogste, mediane en gemiddelde aantal ontvangen bytes per seconde op een netwerkadapter

['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"
    )
)

Voorbeeld van verzameling gegevensresultaten

De volgende gegevens zijn afkomstig uit een voorbeeldverzameling resultaten voor honderd gebruiksgegevensrecords zoals gegenereerd door een JSON-viewer. Alleen de eerste en laatste vijf records worden hier weergeven.

$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"
        )
    )
)