Megosztás a következőn keresztül:


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.

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é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.com
  • https://api.loganalytics.io
  • https://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

  1. Jelentkezzen be az Azure portálra.

  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.

    Képernyőkép a Metrikák kiválasztásáról az Azure Portalon.

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

Következő lépések

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