A Service Provider Foundation használatmérési adatmodellje
Közzétett: 2016. március
Érvényes: System Center 2012 SP1 - Orchestrator, System Center 2012 R2 Orchestrator
Ebből a témakörből megismerheti, hogy a Service Provider Foundation miként biztosít használatmérési adatokat a használatmérési végpontjához csatlakozó portálok és ügyfelek számára.
Megjegyzés |
---|
A használatmérésről és a Windows Azure Pack for Windows Server csomagról a számlázási rendszer használatmérési rendszerrel való integrálását ismertető TechNet wiki-cikkben talál friss információkat. |
A használatmérés – Áttekintés
A használatmérés a használatmérő rendszer összetevőit képező alábbi technológiákból és erőforrásokból tevődik össze:
Adatgenerátor
Egy erőforrás-szolgáltató, mint például egy virtuálisgép-felhő erőforrás-szolgáltatója, amely összegyűjti és megjeleníti a használattal kapcsolatos metrika-információkat. Az adatokat a bérlők által használt virtuális gépek szolgáltatják, így számos metrika-kategória jön létre, többek között a lemezkapacitással és a memóriahasználattal kapcsolatban.
Adatgyűjtő
A portálalkalmazás által használt program, amely rendszeres időközönként begyűjti és a használati adatbázisban tárolja a használati adatokat. A portál tárhelyszolgáltatója REST alapú JSON lekérdezések rendszeres használatával valósítja meg a használatmérést. Az adatgyűjtő csak az összes erőforrás-szolgáltató által elfogadott adategyezmény értelmében elérhetővé tett felhasználói adatokat fogadja.
Használati adatbázis
A használati adatok adatraktár-tárháza, amelyből adott számú nap elteltével törlődhetnek a régebbi rekordok.
Használati API
A használati adatok küldéséhez és darabolásához felhasznált kód. Ez egy RESTful API, és az egyetlen módszer a használati adatbázisban tárolt adatok előhívására. A JSON lekérdezések segítségével a szolgáltatók könnyedén hozzáigazíthatják a használati adatokat a számlázási rendszerhez.
A Service Provider Foundation azért nem szerepel a felsorolásban, mert nem szükséges a használatmérés implementálásához. A Service Provider Foundation feladata az adatraktárak adatainak begyűjtése és ezek számlázási, valamint elemzési célokra való összesítése.
A Service Provider Foundation használatmérési adatokat biztosít minden olyan ügyfél számára, így például a Windows Azure Pack for Windows Server számára is, amely ezeket gyűjteni kívánja. A Windows Azure Pack for Windows Server IaaS metrikáit a VM-felhők erőforrás-szolgáltatója biztosítja. Az adatok tartalmazzák a bérlő által használt virtuális gépek minden használatmérési metrikáját, feltéve, hogy a virtuális gépeket a System Center 2012 – Operations Manager figyeli, és az adatokat egy Operations Manager felügyeleti kiszolgáló által figyelt Operations Manager adatraktár tárolja.
Lekérdezések elküldése
A következő példában láthatja, hogyan kérdezheti le a használatmérési adatokat egy JSON lekérdezést tartalmazó URL-címmel:
https://SPFserver.contoso.com:8090/usage/usage?lastID=0\&batchsize=1000
Az első hívás esetében a lastID értékének nullának kell lennie. A kötegek mérete nincs korlátozva. Ha a köteg mérete nem azonos az elérhető adatok összméretével, a Service Provider Foundation teljesíti a többi ügyféltől beérkező használatmérési kérelmeket, majd visszatér az ügyfélhez, hogy átadja a következő köteget.
Adatlekérő modell
A Service Provider Foundation egy adatlekérő modellt használ a metrikák beolvasásához. Az ügyfél kötegekben kéri az adatokat. A kötegek és kérelmek nyomon követéséhez a használatmérés egy könyvjelzőt használ, amely nulla (ez azt jelenti, hogy a bérlő előfizetésének megkezdése óta nem érhető el összegyűjtött adat) vagy a köteg utolsó rekordját azonosító érték lehet. A Service Provider Foundation azért biztosítja a könyvjelzőt, hogy az ügyfél a további kérelmeknél is fel tudja használni.
Az ügyfélgyűjtő minden gyűjtési ciklusban az aktuális könyvjelzőt kiindulópontként használva kérelmezi a következő mérési adatköteget. Ha az előző kérelem üres eredménykészletet küld vissza (mert a Service Provider Foundation nem talált visszaküldhető használati rekordokat), a gyűjtő 0 értékű könyvjelzőt használ.
A használatmérési rekordok eredménykészletét a gyűjtő egy ismert adategyezményben kapja meg.
Mérési metrikák
A következő táblázatokban található virtuálisgép-használati metrikák összesítése egy órás időtartományi gyakorisággal történt. A Service Provider Foundation a metrikákat a regisztrált bérlői előfizetések virtuális gépeitől gyűjti be, majd összesíti az értékeket.
A használati adatok rekordja a következő részekből áll:
Eseményazonosító – egy új, egyedi (vízjeles), a gyűjtőnek visszaküldött használati adatköteg legutóbbi rögzítési idejéhez társított eseményazonosító.
Erőforrás-azonosító – a használati tevékenység mértéke.
StartTime, EndTime – az adat összesítésére használt óra kezdő és befejező időpontja.
ServiceType – "Cloud" vagy "VirtualMacine".
SubscriptionID – a bérlő előfizetés-azonosítója
Properties – információs mezők az alábbiak megadásához:
Subscriber – előfizető-azonosító
Metered Service – "VM Utilization" vagy "Cloud Utilization"
VMName – a virtuális gép azonosítója
VNIC – a virtuális hálózati adapter azonosítója
Az alábbi táblázatok tartalmazzák a használatmérés négy területének (memória, processzor, lemez és hálózat) metrikáit. Minden táblázat tartalmazza az alkalmazható erőforrás-azonosítókat, amelyek meghatározzák a használati adatok metrikáit, valamint minden használati méréstípushoz tartalmaznak egy mintabejegyzést.
Memória
Erőforrás-azonosítók |
Meghatározás |
Mintabejegyzés |
---|---|---|
MemoryAllocated-Min MemoryAllocated-Max |
A lefoglalt memória legkisebb és legnagyobb mérete. |
|
MemoryConsumed-Min MemoryConsumed-Max MemoryConsumed-Median |
A felhasznált memória legkisebb, közepes és legnagyobb mérete. |
|
CPU
Erőforrás-azonosítók |
Meghatározás |
Mintabejegyzés |
---|---|---|
CPUAllocationCount-Min CPUAllocationCount-Max |
A lefoglalt processzormagok legkisebb és legnagyobb száma. |
|
CPUPercentUtilization-Median |
A CPU-felhasználás közepes átlaga százalékban megadva. |
|
Lemez
Erőforrás-azonosítók |
Meghatározás |
Mintabejegyzés |
---|---|---|
CrossDiskIOPerSecond-Min CrossDiskIOPerSecond-Max CrossDiskIOPerSecond-Median |
A másodpercenkénti bemenet/kimenet (IOPS) legalacsonyabb, legmagasabb és közepes értéke a csatlakoztatott lemezek között. |
|
CrossDiskSizeAllocated-Min CrossDiskSizeAllocated-Max |
Az összes csatlakoztatott lemez által lefoglalt legkisebb és legnagyobb lemezméret. |
(Nem érhető el) |
Hálózat
Erőforrás-azonosítók |
Meghatározás |
Mintabejegyzés |
---|---|---|
PerNICKBSentPerSecond-Min PerNICKBSentPerSecond-Max PerNICKBSentPerSecond-Median PerNICKBSentPerSecond-Average |
A hálózati adapteren másodpercenként küldött bájtok legalacsonyabb, legmagasabb, közepes és átlagos száma. |
|
PerNICKBReceivedPerSecond-Min PerNICKBReceivedPerSecond-Max PerNICKBReceivedPerSecond-Median PerNICKBReceivedPerSecond-Average |
A hálózati adapteren másodpercenként fogadott bájtok legalacsonyabb, legmagasabb, közepes és átlagos száma. |
|
Példa adateredmény-készletre
A következő adatok egy JSON megjelenítőből leképezett, 100 mérési adatrekordot tartalmazó példa eredménykészletből származnak. Itt csak az első 5 és az utolsó 5 kerül megjelenítésre.
$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"
)
)
)