Compartir a través de


Modelo de datos de medición de uso en Service Provider Foundation

 

Se aplica a: System Center 2012 SP1 - Orchestrator, System Center 2012 R2 Orchestrator

En este tema se describe cómo Service Provider Foundation proporciona datos de medición de uso a portales y clientes que se conectan a su extremo de medición de uso.

Nota

Para obtener información actualizada acerca de la medición de uso y Paquete de Windows Azure para Windows Server, vea el artículo wiki de TechNet Cómo integrar el sistema de facturación con el sistema de medición de uso.

Información general sobre la medición de uso

La medición de uso consta de las siguientes tecnologías y recursos que participan como componentes del sistema de medición de uso:

  • Generador de datos

    Un proveedor de recursos, por ejemplo, un proveedor de recursos de nube de máquina virtual, que recopila y expone información de métrica de uso. Los datos se obtienen a partir de las máquinas virtuales que usan los inquilinos y, por ende, crean diversas categorías de métricas, incluida la capacidad de disco y el uso de memoria.

  • Recopilador de datos

    El programa utilizado por una aplicación del portal para recopilar información de uso y almacenarla en la base de datos de uso periódicamente. El host del portal implementa la medición de uso mediante consultas JSON basadas en REST según una programación. El recopilador de datos espera que los datos de uso estén disponibles según un contrato de datos que siguen todos los proveedores de recursos.

  • Base de datos de uso

    El repositorio de almacenamiento de datos de datos de uso que se puede purgar de registros antiguos tras un número especificado de días.

  • API de uso

    El código utilizado para transmitir y analizar datos de uso. Se trata de una API de REST y es la única manera de extraer los datos de la base de datos de uso. Mediante consultas JSON, los proveedores de servicios pueden adaptar fácilmente los datos de uso en su sistema de facturación.

Tenga en cuenta que Service Provider Foundation no aparece porque no se necesita para implementar la medición de uso. En su lugar, la función de Service Provider Foundation consiste en recopilar métricas de todos los almacenes de datos y agregarlas con fines de facturación y análisis.

Service Provider Foundation proporciona datos de medición de uso a cualquier cliente, como Paquete de Windows Azure para Windows Server, que quiera recopilarlos. El proveedor de recursos de nubes VM proporciona las métricas de IaaS en Paquete de Windows Azure para Windows Server. Estos datos incluyen todas las métricas para medición de uso de todas las máquinas virtuales que usan los inquilinos, siempre que esas máquinas virtuales sean supervisadas por System Center 2012 – Operations Manager y que los datos se almacenen en almacenamientos de datos de Operations Manager supervisados por un servidor de administración de Operations Manager.

Envío de consultas

Para obtener datos de medición de uso con una dirección URL que contenga una consulta JSON, tal como se muestra en el siguiente ejemplo:

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

En la primera llamada, el lastID debería ser cero. No hay ningún límite en el tamaño de un lote. Tenga en cuenta que si un tamaño de lote no es igual a todos los datos disponibles, Service Provider Foundation cumplirá otras solicitudes de medición de uso por parte de otros clientes y, a continuación, volverá a ese cliente para proporcionarle su siguiente lote.

Modelo de extracción de datos

Service Provider Foundation implementa un modelo de extracción de datos para obtener métricas. Los clientes solicitan datos en lotes. Para realizar un seguimiento de las solicitudes y lotes, la medición de uso utiliza un marcador que puede ser cero (lo que significa que no se han recopilado datos desde el inicio de la suscripción del inquilino) o un valor que identifica el último registro del lote.Service Provider Foundation proporciona este marcador para que el cliente lo use en las solicitudes posteriores.

Por cada ciclo de recopilación, el recolector del cliente solicita otro lote de datos medidos mediante el marcador actual como punto de partida para el siguiente lote. Si la solicitud del lote anterior devolvió un conjunto de resultados vacío (porque Service Provider Foundation no encontró ningún registro de uso para suministrar) el recopilador usa un marcador de 0.

El conjunto de resultados de registros de medición de uso se proporciona al recopilador bajo un contrato de datos conocidos.

Métricas de medición

Las métricas de uso de la máquina virtual de las tablas siguientes se han agregado mediante intervalos horarios.Service Provider Foundation recopila estas métricas para cada máquina virtual de cada suscripción de inquilino registrada y agrega los valores.

Un registro de datos de uso consta de las siguientes partes:

  • EventID: un nuevo identificador de evento único (marca de agua) que está asociado a la última hora de registro al devolver un lote de registros de uso al recopilador.

  • Id. de recurso: la medición de la actividad de uso.

  • StartTime, EndTime: las horas de inicio y finalización de la hora en que se agregan los datos.

  • ServiceType: puede ser "Cloud" o "VirtualMacine".

  • SubscriptionID: el identificador de suscripción del inquilino.

  • Properties: estos son los campos de información que definen lo siguiente:

    • Subscriber: identificador del suscriptor.

    • Metered Service: ya sea "VM Utilization" o "Cloud Utilization"

    • VMName: el identificador de la máquina virtual

    • VNIC: el identificador del adaptador de red virtual.

En las siguientes tablas se muestran las métricas de las cuatro áreas de medición de uso: memoria, CPU, disco y red. Cada tabla enumera los identificadores de recursos aplicables que definen las métricas de datos de uso e incluye un ejemplo de un registro para cada tipo de medición de uso.

Memoria

Identificadores de recursos

Definición

Registro de ejemplo

MemoryAllocated-Min

MemoryAllocated-Max

Tamaño mínimo y máximo de memoria asignada.

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

Tamaño mínimo, máximo y mediano de memoria consumida.

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

Identificadores de recursos

Definición

Registro de ejemplo

CPUAllocationCount-Min

CPUAllocationCount-Max

Número mínimo y máximo de núcleos de CPU asignados.

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

Promedio en porcentaje de consumo de CPU.

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

Disco

Identificadores de recursos

Definición

Registro de ejemplo

CrossDiskIOPerSecond-Min

CrossDiskIOPerSecond-Max

CrossDiskIOPerSecond-Median

E/S mínima, máxima y mediana por segundo (IOPS) en todos los discos conectados.

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

Tamaño mínimo y máximo de disco asignado en todos los discos conectados.

(No disponible)

Red

Identificadores de recursos

Definición

Registro de ejemplo

PerNICKBSentPerSecond-Min

PerNICKBSentPerSecond-Max

PerNICKBSentPerSecond-Median

PerNICKBSentPerSecond-Average

Número mínimo, máximo, mediano y promedio de bytes enviados por segundo en un adaptador de red

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

Número mínimo, máximo, mediano y promedio de bytes recibidos por segundo en un adaptador de red

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

Conjunto de resultados de datos de ejemplo

Los datos siguientes provienen de un conjunto de resultados de ejemplo de 100 registros de datos de medición representados desde un visor JSON. Solo aparecen aquí los primeros cinco y últimos cinco.

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