Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan küldhet egyéni metrikákat az Azure-erőforrásokhoz az Azure Monitor metrikáinak tárolójába a REST API-val. Amikor a metrikák az Azure Monitorban vannak, minden olyan műveletet elvégezhet velük, amelyet a standard metrikákkal végez. Létrehozhat például diagramokat és riasztásokat, és átirányíthatja a metrikákat más külső eszközökre.
Megjegyzés:
A REST API csak egyéni metrikák küldését teszi lehetővé az Azure-erőforrások számára. Ha más környezetekben vagy a helyszínen lévő erőforrásokhoz szeretne metrikákat küldeni, használja az Application Insightst.
REST-kérések küldése egyéni metrikák betöltésére
Amikor egyéni metrikákat küld az Azure Monitornak, a metrikákban jelentett minden adatpontnak vagy értéknek tartalmaznia kell a következő információkat.
- Hitelesítési token
- Tárgy
- Régió
- Időbélyeg
- Namespace
- Név
- Dimenziókulcsok
- Dimenzióértékek
- Metrikaértékek
Hitelesítés
Ahhoz, hogy egyéni metrikákat küldjön az Azure Monitornak, a metrikát beküldő entitásnak érvényes Microsoft Entra-jogkivonatra van szüksége a kérés Tulajdonos fejlécében. Az érvényes tulajdonosi jogkivonatok beszerzésének támogatott módjai a következők:
Kezelt identitások Azure-erőforrásokhoz. Egy felügyelt identitással engedélyeket adhat az erőforrásoknak bizonyos műveletek végrehajtásához. Ilyen például, ha egy erőforrás metrikákat bocsát ki magáról. Egy erőforrásnak, vagy annak felügyelt identitásának, megadhatók a Monitorozási Metrikák Közzétevője engedélyek egy másik erőforráson. Ezzel az engedéllyel a felügyelt identitás metrikákat is kibocsáthat más erőforrásokhoz.
Microsoft Entra szolgáltatásnév. Ebben a forgatókönyvben egy Microsoft Entra-alkalmazás vagy -szolgáltatás engedélyeket rendelhet egy Azure-erőforrás metrikáinak kibocsájtásához. A kérelem hitelesítéséhez az Azure Monitor a Microsoft Entra nyilvános kulcsokkal ellenőrzi az alkalmazás jogkivonatát. A meglévő Monitorozási metrikák közzétevője szerepkör már rendelkezik ezzel az engedéllyel. Az Azure Portalon érhető el.
A szolgáltatási főszereplőnek, erőforrásaik egyéni metrikáinak kibocsátásától függően, a szükséges hatókörön belüli Monitorozási metrikák közzétevője szerepet adhatunk. Ilyen például egy előfizetés, egy erőforráscsoport vagy egy adott erőforrás.
Jótanács
Amikor egyéni metrikák kibocsátásához Microsoft Entra-jogkivonatot kér, győződjön meg arról, hogy az a célközönség vagy erőforrás, amely számára a jogkivonatot https://monitoring.azure.com/kérik. Ügyeljen arra, hogy a záró perjelet is belefoglalja.
Engedélyezési jogkivonat lekérése
Miután létrehozta a felügyelt identitást vagy szolgáltatásnevet, és hozzárendelte a Monitorozási metrikák közzétevői engedélyeit, beszerezhet egy engedélyezési jogkivonatot.
Jogkivonat kérésekor adja meg a kívánt resource: https://monitoring.azure.comértéket.
Hitelesítési jogkivonat lekérése az alábbi módszerek bármelyikével:
- parancssori felület
- REST API
- SDK
Amikor tokent kér, meg kell adnia egy resource paramétert. A resource paraméter a elérni kívánt erőforrás URL-címe.
A források között van többek között:
https://management.azure.comhttps://api.loganalytics.iohttps://monitoring.azure.com
Jogkivonat lekérése REST-kéréssel
Jogkivonat lekéréséhez használja a következő REST API-hívást. Ez a kérés ügyfél-azonosítót és ügyfélkulcsot használ a kérés hitelesítéséhez. Az ügyfélazonosítót és az ügyfél titkos kódját az alkalmazás Microsoft Entra-azonosítóval való regisztrálásakor kapja meg a rendszer. További információ: Alkalmazás regisztrálása engedélyezési jogkivonatok lekéréséhez és API-k használatához.
curl -X POST 'https://login.microsoftonline.com/<tennant ID>/oauth2/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=<your apps client ID>' \
--data-urlencode 'client_secret=<your apps client secret' \
--data-urlencode 'resource=https://monitoring.azure.com'
A válasz törzse a következő formátumban jelenik meg:
{
"token_type": "Bearer",
"expires_in": "86399",
"ext_expires_in": "86399",
"expires_on": "1672826207",
"not_before": "1672739507",
"resource": "https://monitoring.azure.com",
"access_token": "eyJ0eXAiOiJKV1Qi....gpHWoRzeDdVQd2OE3dNsLIvUIxQ"
}
Mentse a hozzáférési jogkivonatot a válaszból a következő HTTP-kérésekben való használatra.
Tárgy
A tárgytulajdonság rögzíti, hogy az egyéni metrika melyik Azure-erőforrásazonosítóra vonatkozik. Ez az információ az API-hívás URL-címében van kódolva. Minden API csak egyetlen Azure-erőforrás metrikaértékét küldheti el.
Megjegyzés:
Nem bocsáthat ki egyéni metrikákat egy erőforráscsoport vagy előfizetés erőforrás-azonosítójával.
Régió
A régiótulajdonság rögzíti azt az Azure-régiót, ahol a metrikákat kibocsátó erőforrás üzembe van helyezve. A metrikákat ugyanarra az Azure Monitor regionális végpontra kell kibocsátani, mint az erőforrás üzembe helyezésének régiója. Az USA nyugati régiójában üzembe helyezett virtuális gépek egyéni metrikáit például el kell küldeni a WestUS regionális Azure Monitor-végpontjának. A régió adatai az API-hívás URL-címében is kódolva lesznek.
Időbélyeg
Az Azure Monitornak küldött adatpontokat időbélyeggel kell megjelölni. Ez az időbélyeg rögzíti a metrikaérték mérésének vagy gyűjtésének dátumát és időpontját. Az Azure Monitor a metrikaadatokat az elmúlt 20, a jövőben pedig 5 perc időbélyeggel fogadja el. Az időbélyegnek ISO 8601 formátumban kell lennie.
Namespace
A névterek segítségével kategorizálhatók vagy csoportosíthatók a hasonló metrikák. A névterek használatával elszigetelheti a különböző elemzéseket vagy teljesítménymutatókat gyűjtő metrikák csoportjait. Lehet például egy contosomemorymetrics nevű névtér, amely nyomon követi az alkalmazást profilként használó memóriahasználati metrikákat. Egy másik névtér, a contosoapptransaction nyomon követheti az alkalmazás felhasználói tranzakcióinak összes mérőszámát.
Név
A névtulajdonság a jelentett metrika neve. A név általában elég leíró ahhoz, hogy segítsen azonosítani a mért értékeket. Ilyen például egy metrika, amely a virtuális gépen használt memóriabájtok számát méri. Lehet, hogy a metrika neve olyan, mint a felhasznált memória bájtok.
Dimenziókulcsok
A dimenzió egy kulcs/érték pár, amely segít az összegyűjtött metrikával kapcsolatos egyéb jellemzők leírásában. A többi jellemző használatával további információkat gyűjthet a metrikáról, ami mélyebb elemzéseket tesz lehetővé.
A Használatban lévő memória bájtjai metrika például rendelkezhet egy Folyamat nevű dimenziókulcspel, amely rögzíti, hogy egy virtuális gépen az egyes folyamatok hány bájtnyi memóriát használnak fel. Ezzel a kulccsal szűrheti a metrikát, hogy lássa, mennyi memóriaspecifikus folyamat használja, vagy hogy a memóriahasználat alapján azonosítsa az első öt folyamatot.
A dimenziók nem kötelezőek, és nem minden metrika rendelkezik dimenziókkal. Az egyéni metrikák legfeljebb 10 dimenzióval rendelkezhetnek.
Dimenzióértékek
Metrikaadatpont jelentésekor a jelentett metrika minden dimenziókulcsához tartozik egy megfelelő dimenzióérték. Előfordulhat például, hogy jelenteni szeretné a ContosoApp által a virtuális gépen használt memóriát:
- A metrika neve a Használatban Lévő Memóriabájtok.
- A dimenziókulcs a Folyamat.
- A dimenzió értéke ContosoApp.exelenne.
Metrikaérték közzétételekor dimenziókulcsonként csak egyetlen dimenzióértéket adhat meg. Ha ugyanazt a memóriakihasználtságot gyűjti össze több folyamat esetében a virtuális gépen, több metrikaértéket is jelenthet az adott időbélyeghez. Minden metrikaérték más dimenzióértéket adna meg a Folyamat dimenziókulcshoz.
Bár a dimenziók megadása nem kötelező, ha egy metrikaoszlop dimenziókulcsokat határoz meg, a megfelelő dimenzióértékek kötelezőek.
Metrika értékei
Az Azure Monitor az összes metrikát 1 perces részletességi időközönként tárolja. Egy adott perc alatt előfordulhat, hogy egy metrikát többször is mintát kell venni. Ilyen például a processzorkihasználtság. Vagy előfordulhat, hogy egy metrikát számos különálló eseményhez, például a bejelentkezési tranzakció késéséhez kell mérni.
Az Azure Monitorban kibocsátandó és fizetendő nyers értékek számának korlátozásához helyileg előaggregálja és adja ki az összesített értékeket:
- Min: A minimálisan megfigyelt érték az összes mintából és mérésből a perc során.
- Max: Az összes minta és mérés maximális megfigyelt értéke a perc során.
- Összeg: Az összes megfigyelt érték összegzése az összes mintából és mérésből a perc során.
- Darabszám: A perc során vett minták és mérések száma.
Megjegyzés:
Az Azure Monitor nem támogatja az egységek egyéni metrikákhoz való meghatározását.
Ha például egy perc alatt négy bejelentkezési tranzakció történt az alkalmazásba, az eredményként kapott késések a következők lehetnek:
| 1. tranzakció | 2. tranzakció | 3. tranzakció | 4. tranzakció |
|---|---|---|---|
| 7 ms | 4 ms | 13 ms | 16 ms |
Ezután az eredményként kapott metrika-közzététel az Azure Monitorban a következő lesz:
- Min: 4
- Maximális: 16
- Összeg: 40
- Darabszám: 4
Ha az alkalmazás nem tudja előre összesíteni a helyi adatokat, és azonnal ki kell adnia minden különálló mintát vagy eseményt a gyűjtéskor, akkor kibocsáthatja a nyers mértékértékeket. Például minden alkalommal, amikor bejelentkezési tranzakció történik az alkalmazásban, egy metrikát csak egyetlen méréssel tesz közzé az Azure Monitorban. Tehát egy 12 ezredmásodpercet igénybe vett bejelentkezési tranzakció esetén a metrika-közzététel a következő lenne:
- Min: 12
- Maximális: 12
- Összeg: 12
- Darabszám: 1
Ezzel a folyamattal több értéket is kibocsáthat ugyanarra a metrikára/dimenziókombinációra egy adott percben. Az Azure Monitor ezután egy adott percre kibocsátja az összes nyers értéket, és összesíti azokat.
Minta egyéni metrika-kiadvány
Az alábbi példában hozzon létre egy egyéni metrikát Használatban lévő memória bájtok a Memória profil metrikanévtéren belül virtuális géphez. A metrika egyetlen, Folyamat nevű dimenzióval rendelkezik. Az időbélyeg esetében a metrikaértékek két folyamathoz lesznek kibocsátva.
Tárolja a következő JSON-t egy custommetric.json nevű fájlban a helyi számítógépen. Frissítse az időparamétert úgy, hogy az az elmúlt 20 percben legyen. 20 percnél régebbi metrika nem helyezhető el az áruházban.
{
"time": "2024-01-07T11:25:20-7:00",
"data": {
"baseData": {
"metric": "Memory Bytes in Use",
"namespace": "Memory Profile",
"dimNames": [
"Process"
],
"series": [
{
"dimValues": [
"ContosoApp.exe"
],
"min": 10,
"max": 89,
"sum": 190,
"count": 4
},
{
"dimValues": [
"SalesApp.exe"
],
"min": 10,
"max": 23,
"sum": 86,
"count": 4
}
]
}
}
}
Küldje el a következő HTTP POST-kérést a következő változók használatával:
location: Annak az erőforrásnak az üzembehelyezési régiója, amely számára metrikákat bocsát ki.resourceId: Annak az Azure-erőforrásnak az erőforrás-azonosítója, amely alapján nyomon követi a metrikát.accessToken: Az engedélyezési jogkivonat lekérése lépésből beszerzett engedélyezési jogkivonat .curl -X POST 'https://<location>.monitoring.azure.com/<resourceId>/metrics' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <accessToken>' \ -d @custommetric.json
A metrikák megtekintése
Jelentkezzen be az Azure portálra.
A bal oldali menüben válassza a Figyelés lehetőséget.
A Monitorozás lapon válassza a Metrikák lehetőséget.
Módosítsa az összesítési időszakot az Utolsó órára.
A Hatókör legördülő listában válassza ki a metrikát küldő erőforrást.
A Metrikanévtér legördülő listában válassza a Memóriaprofil lehetőséget.
A Metrika legördülő listában válassza a Használatban lévő memória bájtok lehetőséget.
Hibaelhárítás
Ha hibaüzenetet kap a folyamat egy részével, vegye figyelembe a következő hibaelhárítási információkat:
- Ha nem tud metrikákat kiadni egy előfizetés, erőforráscsoport vagy erőforrás ellen, ellenőrizze, hogy az alkalmazás vagy szolgáltatás-rendszergazda rendelkezik-e a Monitorozási metrikák közzétevője szerepkörével, amely hozzárendelve van a Hozzáférés-vezérlés (IAM)-hez.
- Ellenőrizze, hogy a dimenziónevek száma megegyezik-e az értékek számával.
- Ellenőrizze, hogy metrikákat bocsát-e ki a megfelelő Regionális Azure Monitor-végpontra. Ha például az erőforrás az USA nyugati régiójában van üzembe helyezve, metrikákat kell kibocsátania az USA nyugati régiójának végpontjához.
- Ellenőrizze, hogy az időbélyeg az elmúlt 20 percen belül van-e.
- Ellenőrizze, hogy az időbélyeg ISO 8601 formátumban van-e.