Share via


Egyéni metrikák betöltése Azure-erőforráshoz a REST API használatával

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.

Feljegyzé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 Alkalmazás Elemzések.

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é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:

  • Felügyelt identitások az 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ás vagy annak felügyelt identitása egy másik erőforráshoz is megadhat monitorozási metrikák közzétevői engedélyeit. 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ásnév attól függően, hogy milyen erőforrásokhoz bocsát ki egyéni metrikákat, a szükséges hatókörön belüli Monitorozási metrikák közzétevői szerepköre adható meg. Ilyen például egy előfizetés, egy erőforráscsoport vagy egy adott erőforrás.

Tipp.

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, az alábbi kéréssel kaphat engedélyezési jogkivonatot:

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.

Feljegyzé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élyegző

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.

Névtér

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 használatban lévő memória bájtja.

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ájt.
  • A dimenziókulcs a Folyamat.
  • A dimenzió értéke ContosoApp.exe lenne.

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őzetesen összesítsük és kibocsátsuk 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.

Feljegyzé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
  • Max: 16
  • Összeg: 40
  • Darabszám: 4

Ha az alkalmazás nem tudja előre összesíteni a helyi adatokat, és minden különálló mintát vagy eseményt azonnal ki kell bocsátania 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
  • Max: 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 memória bájtok használatban a virtuális gép memóriaprofilja metrikanévtér alatt. 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

  1. Jelentkezzen be az Azure Portalra.

  2. A bal oldali menüben válassza a Figyelés lehetőséget.

  3. A Monitorozás lapon válassza a Metrikák lehetőséget.

    Screenshot that shows how to select Metrics in the Azure portal.

  4. Módosítsa az összesítési időszakot az Utolsó órára.

  5. A Hatókör legördülő listában válassza ki a metrikát küldő erőforrást.

  6. A Metrikanévtér legördülő listában válassza a Memóriaprofil lehetőséget.

  7. 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ésen, erőforráscsoporton vagy erőforráson, ellenőrizze, hogy az alkalmazás vagy szolgáltatásnév rendelkezik-e a Hozzáférés-vezérlés (IAM) szolgáltatáshoz hozzárendelt Monitorozási metrikák közzétevői szerepkörével.
  • 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.
  • Ellenőrizze, hogy a metrika neve érvényes-e. Például nem tartalmazhat szóközöket.

Következő lépések

További információ az egyéni metrikákról.