Модель данных метрик использования в Service Provider Foundation
Опубликовано: Март 2016
Применимо к:System Center 2012 SP1 - Orchestrator, System Center 2012 R2 Orchestrator
В этом разделе описывается, как Service Provider Foundation передает данные метрик использования на порталы и клиенты, подключающиеся к конечной точке метрик использования.
![]() |
---|
Обновленные сведения о метриках использования и Пакет Windows Azure для Windows Server см. в статье вики-сайта TechNet Интеграция системы выставления счетов с системой метрик использования. |
Общие сведения о метриках использования
Метрики использования состоят из следующих технологий и ресурсов, участвующих как компоненты системы метрик использования.
Генератор данных
Поставщик ресурсов, например поставщик ресурсов облаков виртуальных машин, который собирает и предоставляет данные о метриках использования. Сбор данных производится из виртуальных машин, используемых клиентом. Таким образом создаются различные категории метрик, включая емкость диска и использование памяти.
Сборщик данных
Программа, используемая приложением портала для периодического сбора сведений об использовании и сохранения их в базе данных использования. Поставщик услуг размещения портала реализует сбор метрик использования по расписанию с помощью запросов JSON на основе REST. Сборщик данных ожидает, что данные об использовании будут доступны в соответствии с контрактом данных, которого придерживаются все поставщики ресурсов.
База данных использования
Репозиторий хранилища данных об использовании, в котором старые записи могут удаляться через указанное число дней.
API использования
Код, используемый для передачи и анализа данных об использовании. Это API REST, и это единственный способ извлечения данных из базы данных использования. Используя запросы JSON, поставщики служб могут легко внедрить данные об использовании в свою систему выставления счетов.
Обратите внимание, что Service Provider Foundation не указывается, так как для этой службы не требуется реализовывать метрики использования. Вместо этого задача Service Provider Foundation — собирать метрики из всех хранилищ данных и объединять их в целях выставления счетов и анализа.
Service Provider Foundation предоставляет данные о метриках использования любому клиенту (например, Пакет Windows Azure для Windows Server), которому они требуются. Метрики IaaS в Пакет Windows Azure для Windows Server предоставляются поставщиком ресурсов облаков виртуальных машин. Эти данные включают все метрики использования для всех виртуальных машин, используемых клиентом, при условии, что эти виртуальные машины отслеживаются в System Center 2012 — Operations Manager и данные хранятся в хранилищах данных Operations Manager под наблюдением сервера управления Operations Manager.
Отправка запросов
Получение данных метрик использования с URL-адресом, содержащим запрос JSON, показано в следующем примере.
https://SPFserver.contoso.com:8090/usage/usage?lastID=0\&batchsize=1000
В первом вызове параметр lastID должен быть равен нулю. Ограничения на размер пакета отсутствуют. Обратите внимание, что если размер пакета не равен всем доступным данным, Service Provider Foundation выполнит другие запросы метрик использования из других клиентов, а затем вернется к этому клиенту для предоставления следующего пакета.
Модель запроса данных
Service Provider Foundation реализует модель запроса данных для получения метрик. Клиенты запрашивают данные в пакетах. Для отслеживания пакетов и запросов в метриках использования существует закладка, которая может быть равна нулю (что означает, что с начала подписки клиента собранные данные отсутствуют) или значению, идентифицирующему последнюю запись пакета.Service Provider Foundation обеспечивает такую закладку для последующих запросов клиента.
Для каждого цикла коллекции сборщик клиента запрашивает другой пакет данных метрик с помощью текущей закладки в качестве отправной точки для следующего пакета. Если предыдущий запрос пакета вернул пустой результирующий набор (так как Service Provider Foundation не удалось найти записи об использовании), сборщик использует закладку 0.
Результирующий набор записей метрик использования предоставляется сборщику в известном контракте данных.
Метрики
Метрики использования виртуальных машин в следующих таблицах объединяются по часовым временным интервалам.Service Provider Foundation собирает эти метрики для каждой виртуальной машины всех зарегистрированных подписок клиента и объединяет значения.
Запись данных об использовании состоит из следующих частей.
EventID — новый уникальный ИД события (водяной знак), связанный с последним временем записи при возврате пакета записей об использовании сборщику.
ResourceId — измерение активности использования.
StartTime, EndTime — время начала и окончания часа, в котором объединялись данные.
ServiceType — "Облако" или "VirtualMacine".
SubscriptionID — идентификатор подписки клиента.
Properties — поля сведений, определяющие следующее:
Подписчик — идентификатор подписчика.
Служба с метрикой — использование виртуальной машины или использование облака
VMName — идентификатор виртуальной машины.
VNIC — идентификатор виртуального сетевого адаптера.
В следующих таблицах показаны метрики для четырех областей метрик использования: памяти, ЦП, диска и сети. В каждой таблице перечислены применимые идентификаторы ресурсов, определяющие метрики данных об использовании, и включен пример записи для каждого типа метрик использования.
Память
Идентификаторы ресурсов |
Определение |
Пример записи |
---|---|---|
MemoryAllocated-Min MemoryAllocated-Max |
Минимальный и максимальный объем выделенной памяти. |
|
MemoryConsumed-Min MemoryConsumed-Max MemoryConsumed-Median |
Минимальный, максимальный и обычный объем потребляемой памяти. |
|
ЦП
Идентификаторы ресурсов |
Определение |
Пример записи |
---|---|---|
CPUAllocationCount-Min CPUAllocationCount-Max |
Минимальное и максимальное число выделенных ядер ЦП. |
|
CPUPercentUtilization-Median |
Обычное потребление ресурсов ЦП в процентах. |
|
Диск
Идентификаторы ресурсов |
Определение |
Пример записи |
---|---|---|
CrossDiskIOPerSecond-Min CrossDiskIOPerSecond-Max CrossDiskIOPerSecond-Median |
Минимальное, максимальное и обычное число операций ввода-вывода в секунду на всех подключенных дисках. |
|
CrossDiskSizeAllocated-Min CrossDiskSizeAllocated-Max |
Минимальный и максимальный объем выделенного дискового пространства на всех подключенных дисках. |
(Недоступно) |
Сеть
Идентификаторы ресурсов |
Определение |
Пример записи |
---|---|---|
PerNICKBSentPerSecond-Min PerNICKBSentPerSecond-Max PerNICKBSentPerSecond-Median PerNICKBSentPerSecond-Average |
Минимальное, максимальное, обычное и среднее число байтов, отправляемых в секунду, на сетевом адаптере |
|
PerNICKBReceivedPerSecond-Min PerNICKBReceivedPerSecond-Max PerNICKBReceivedPerSecond-Median PerNICKBReceivedPerSecond-Average |
Минимальное, максимальное, обычное и среднее число байтов, получаемых в секунду, на сетевом адаптере |
|
Пример результирующего набора данных
Следующие данные получены из примера результирующего набора 100 записей данных метрик, выводимых в средстве просмотра JSON. Здесь показаны только первые и последние 5.
$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"
)
)
)