Az Azure API Management integrációja az Azure Application Insightsszal

A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint

Egyszerűen integrálhatja Azure-alkalmazás Elemzések az Azure API Managementtel. Az Azure Application Insights egy bővíthető szolgáltatás a több platformon alkalmazásokat fejlesztő és kezelő webfejlesztőknek. Ebben az útmutatóban a következőt fogja elkönyvelni:

  • Útmutató az alkalmazás Elemzések API Managementbe való integrálásához.
  • Megismerheti az API Management szolgáltatáspéldány teljesítményre gyakorolt hatásának csökkentésére vonatkozó stratégiákat.

Előfeltételek

  • Szüksége van egy Azure API Management-példányra. Először hozzon létre egyet .

  • Az Alkalmazás Elemzések használatához hozza létre az Alkalmazás Elemzések szolgáltatás egy példányát. Ha az Azure Portal használatával szeretne létrehozni egy példányt, tekintse meg a munkaterület-alapú alkalmazás Elemzések erőforrásokat.

    Feljegyzés

    Az alkalmazás Elemzések erőforrás egy másik előfizetésben vagy akár egy másik bérlőben is lehet, mint az API Management-erőforrás.

  • Ha az API Management felügyelt identitását úgy tervezi konfigurálni, hogy az alkalmazás Elemzések használjon, hajtsa végre a következő lépéseket:

    1. Engedélyezze a rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitást az API Managementhez az API Management-példányban.

      • Ha engedélyezi a felhasználó által hozzárendelt felügyelt identitást, jegyezze fel az identitás ügyfél-azonosítóját.
    2. Rendelje hozzá az identitást a Monitorozási metrikák közzétevője szerepkörhöz, amely az alkalmazás Elemzések erőforrásra terjed ki. A szerepkör hozzárendeléséhez használja az Azure Portalt vagy más Azure-eszközöket.

Forgatókönyv áttekintése

Az alábbiakban a forgatókönyv magas szintű lépéseit követjük.

  1. Először létre kell hoznia egy kapcsolatot az Alkalmazás Elemzések és az API Management között

    Az Azure Portal, a REST API vagy a kapcsolódó Azure-eszközök használatával kapcsolatot hozhat létre az Alkalmazás Elemzések és az API Management között. Az API Management egy naplózó erőforrást konfigurál a kapcsolathoz.

    Feljegyzés

    Ha az alkalmazás Elemzések erőforrása egy másik bérlőben található, akkor létre kell hoznia a naplózót a REST API használatával.

    Fontos

    A portálon az API Management jelenleg csak az Alkalmazás Elemzések az Alkalmazás Elemzések eszközkulcs használatával támogatja a kapcsolatokat. Az alkalmazás Elemzések kapcsolati sztring vagy az API Management által felügyelt identitás használatához használja a REST API, a Bicep vagy az ARM sablont a naplózó létrehozásához. További információ az alkalmazás Elemzések kapcsolati sztring.

  2. Másodszor engedélyezheti az alkalmazás Elemzések naplózását az API-k vagy API-k számára.

    Ebben a cikkben engedélyezheti az alkalmazás Elemzések naplózását az API-hoz az Azure Portal használatával. Az API Management diagnosztikai erőforrást konfigurál az API-hoz.

Kapcsolat létrehozása az Azure Portal használatával

Kövesse az alábbi lépéseket az Azure Portallal az Alkalmazás Elemzések és az API Management közötti kapcsolat létrehozásához.

  1. Lépjen az Azure API Management szolgáltatáspéldányára az Azure Portalon.

  2. Válassza az Alkalmazás Elemzések lehetőséget a bal oldali menüből.

  3. Válassza a + Hozzáadás lehetőséget.
    Új kapcsolat hozzáadásának helyét bemutató képernyőkép

  4. Válassza ki a korábban létrehozott alkalmazáspéldányt Elemzések, és adjon meg egy rövid leírást.

  5. Ha engedélyezni szeretné az API Management-példány rendelkezésre állási monitorozását az Application Elemzések-ban, jelölje be a Rendelkezésre állásfigyelő hozzáadása jelölőnégyzetet.

    • Ez a beállítás rendszeresen ellenőrzi, hogy az API Management-átjáró végpontja válaszol-e.
    • Az eredmények az Alkalmazás Elemzések példány Rendelkezésre állás panelén jelennek meg.
  6. Válassza a Létrehozás lehetőséget.

  7. Ellenőrizze, hogy az új alkalmazás Elemzések-naplózó megjelenik-e a listában.

    Képernyőkép az újonnan létrehozott alkalmazás Elemzések naplózójának megtekintéséről.

Feljegyzés

A színfalak mögött létrejön egy naplózó entitás az API Management-példányban, amely tartalmazza az alkalmazás Elemzések-példány eszközkulcsát.

Tipp.

Ha frissítenie kell az Application Elemzések-naplózóban konfigurált rendszerállapot-kulcsot, válassza ki a naplózó sorát a listában (nem a naplózó nevét). Írja be a rendszerállapotkulcsot, és válassza a Mentés lehetőséget.

Kapcsolat létrehozása REST API-, Bicep- vagy ARM-sablon használatával

Az alábbi lépéseket követve a REST API, a Bicep vagy az ARM sablon használatával kapcsolatot hozhat létre az Alkalmazás Elemzések és az API Management között. Konfigurálhat egy kapcsolati sztring, rendszer által hozzárendelt felügyelt identitást vagy felhasználó által hozzárendelt felügyelt identitást használó naplózót.

Naplózó kapcsolati sztring hitelesítő adatokkal

Az alkalmazás Elemzések kapcsolati sztring az Alkalmazás Elemzések erőforrás Áttekintés szakaszában jelenik meg.

Használja az API Management REST API-t a következő kérelemtörzsgel.

{
  "properties": {
    "loggerType": "applicationInsights",
    "description": "adding a new logger with connection string",
    "credentials": {
         "connectionString":"InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/;..."    
    }
  }
}

Naplózó rendszer által hozzárendelt felügyelt identitás hitelesítő adataival

Tekintse meg az API Management által felügyelt identitás használatának előfeltételeit .

Használja az API Management REST API-t a következő kérelemtörzsgel.

{
  "properties": {
    "loggerType": "applicationInsights",
    "description": "adding a new logger with system-assigned managed identity",
    "credentials": {
         "connectionString":"InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/;...",
         "identityClientId":"SystemAssigned"
    }
  }
}

Felhasználó által hozzárendelt felügyelt identitás hitelesítő adataival rendelkező naplózó

Tekintse meg az API Management által felügyelt identitás használatának előfeltételeit .

Használja az API Management REST API-t a következő kérelemtörzsgel.

{
  "properties": {
    "loggerType": "applicationInsights",
    "description": "adding a new logger with user-assigned managed identity",
    "credentials": {
         "connectionString":"InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/;...",
         "identityClientId":"<ClientID>"
    }
  }
}

Alkalmazás Elemzések naplózásának engedélyezése az API-hoz

Az alábbi lépésekkel engedélyezheti az alkalmazás Elemzések naplózását egy API-hoz. Az alkalmazás Elemzések naplózását is engedélyezheti az összes API-hoz.

  1. Lépjen az Azure API Management szolgáltatáspéldányára az Azure Portalon.

  2. A bal oldali menüből válassza ki az API-k elemet.

  3. Kattintson az API-ra, ebben az esetben a Demo Conference API-ra. Ha konfigurálva van, válasszon ki egy verziót.

    Tipp.

    Az összes API naplózásának engedélyezéséhez válassza a Minden API lehetőséget.

  4. Lépjen a Gépház lapra a felső sávról.

  5. Görgessen le a Diagnosztikai naplók szakaszhoz.
    Alkalmazás-Elemzések-naplózó

  6. Jelölje be az Engedélyezés jelölőnégyzetet.

  7. Válassza ki a csatolt naplózót a Cél legördülő listában.

  8. Adja meg a 100-as értéket mintavételezésként (%) és jelölje be az Always log errors (Mindig naplóhibák) jelölőnégyzetet.

  9. Hagyja meg a többi beállítást, ahogy van. A beállításokkal kapcsolatos részletekért tekintse meg a diagnosztikai naplók beállításainak hivatkozását.

    Figyelmeztetés

    Ha felülbírálást ad az alapértelmezett 0-s naplóértékrea hasznos adat bájtjainak száma, az jelentősen csökkentheti az API-k teljesítményét.

  10. Válassza a Mentés lehetőséget.

  11. A színfalak mögött egy elnevezett applicationinsights diagnosztikai entitás jön létre AZ API szintjén.

Feljegyzés

A kérések akkor lesznek sikeresek, ha az API Management a teljes választ elküldi az ügyfélnek.

Naplózók egyetlen API-hoz vagy az összes API-hoz

A naplózókat különböző szinteken adhatja meg:

  • Egyetlen API-naplózó
  • Naplózó az összes API-hoz

Mindkettő megadása:

  • Alapértelmezés szerint az egyetlen API-naplózó (részletesebb szint) felülírja az összes API-hoz tartozót.
  • Ha a két szinten konfigurált naplózók eltérőek, és mindkét naplózóra szüksége van a telemetriai adatok (multiplexálás) fogadására, forduljon Microsoft ügyfélszolgálata. Vegye figyelembe, hogy a multiplexálás nem támogatott, ha ugyanazt a naplózót (alkalmazás Elemzések célhelyet) használja a "Minden API" szinten és az egyetlen API-szinten. Ahhoz, hogy a multiplexálás megfelelően működjön, konfigurálnia kell a különböző naplózókat a "Minden API" és az egyéni API szintjén, és segítséget kell kérnie a Microsoft ügyfélszolgálatától a szolgáltatás multiplexálásának engedélyezéséhez.

Milyen adatok kerülnek az Application Insightsba?

Az alkalmazás Elemzések a következőt kapja:

Telemetriai elem Leírás
Kérelem Minden bejövő kérés esetén:
  • előtérbeli kérés
  • előtérbeli válasz
Függőség Minden háttérszolgáltatásnak továbbított kérés esetén:
  • háttérkérelem
  • háttérrendszer válasza
Kivétel Minden sikertelen kérés esetén:
  • Egy lezárt ügyfélkapcsolat miatt meghiúsult
  • Aktiválta az API-szabályzatok hibaszakaszát
  • 4xx vagy 5xx válasz HTTP-állapotkóddal rendelkezik
Nyomkövetés Ha nyomkövetési szabályzatot konfigurál.
A severity házirendben a trace beállításnak egyenlőnek vagy nagyobbnak kell lennie, mint az verbosity alkalmazás Elemzések naplózásának beállítása.

Feljegyzés

Az Alkalmazás Elemzések alkalmazásonkénti metrikák és események maximális méretével és számával kapcsolatos információkért tekintse meg az alkalmazás Elemzések-példányonkénti korlátozásokat.

Egyéni metrikák kibocsátása

Az API Management-példányból egyéni metrikákat bocsáthat ki az Alkalmazás Elemzések. Az API Management az emit-metric szabályzat használatával bocsát ki egyéni metrikákat .

Feljegyzés

Az egyéni metrikák az Azure Monitor előzetes verziója, és korlátozások vonatkoznak gombra.

Egyéni metrikák kibocsátásához hajtsa végre a következő konfigurációs lépéseket.

  1. Egyéni metrikák (előzetes verzió) engedélyezése egyéni dimenziókkal az alkalmazás Elemzések-példányban.

    1. Lépjen az alkalmazás Elemzések-példányra a portálon.
    2. A bal oldali menüben válassza a Használat és a becsült költségek lehetőséget.
    3. Válassza ki az egyéni metrikákat (előzetes verzió)>Dimenziókkal.
    4. Kattintson az OK gombra.
  2. Adja hozzá a "metrics": true tulajdonságot az applicationInsights API Managementben konfigurált diagnosztikai entitáshoz. Ezt a tulajdonságot jelenleg az API Management Diagnostic – REST API létrehozása vagy frissítése használatával kell hozzáadnia. Példa:

    PUT https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ApiManagement/service/{APIManagementServiceName}/diagnostics/applicationinsights
    
    {
        [...]
        {
        "properties": {
            "loggerId": "/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.ApiManagement/service/{APIManagementServiceName}/loggers/{ApplicationInsightsLoggerName}",
            "metrics": true
            [...]
        }
    }
    
  3. Győződjön meg arról, hogy az alkalmazás-Elemzések-naplózó azon a hatókörön van konfigurálva, amelyet egyéni metrikákat kíván kibocsátani (akár az összes API-t, akár egyetlen API-t). További információ: Az alkalmazás Elemzések naplózásának engedélyezése az API-hoz, a cikk korábbi részében.

  4. Konfigurálja a emit-metric szabályzatot olyan hatókörben, ahol az alkalmazás Elemzések naplózása konfigurálva van (vagy az összes API vagy egyetlen API), és engedélyezve van az egyéni metrikákhoz. A szabályzat részleteiért tekintse meg a szabályzatreferenciát emit-metric .

Egyéni metrikák korlátai

Az Azure Monitor használati korlátozásokat szab ki az egyéni metrikákra, amelyek befolyásolhatják a metrikák API Managementből való kibocsáthatóságát. Az Azure Monitor például jelenleg 10 dimenziókulcs-korlátot állít be metrika szerint, és egy előfizetésben régiónként 50 000 aktív idősorra vonatkozó korlátot (12 órán belül).

Ezek a korlátok a következő következményekkel járnak az egyéni metrikák API Managementben való konfigurálására:

  • Szabályzatonként emit-metric legfeljebb 10 egyéni dimenziót konfigurálhat.

  • A szabályzat által emit-metric 12 órán belül létrehozott aktív idősorok száma az egyes konfigurált dimenziók egyedi értékeinek szorzata az időszak során. Ha például három egyéni dimenzió van konfigurálva a szabályzatban, és minden dimenzió 10 lehetséges értékkel rendelkezik az időszakon belül, a emit-metric szabályzat 1000 (10 x 10 x 10) aktív idősort adna hozzá.

  • Ha a szabályzatot emit-metric több olyan API Management-példányban konfigurálja, amelyek ugyanabban a régióban vannak egy előfizetésben, minden példány hozzájárulhat a regionális aktív idősorkorláthoz.

A teljesítményre gyakorolt hatás és a naplók mintavételezése

Figyelmeztetés

Az összes esemény naplózása komoly hatással lehet a teljesítményre a bejövő kérések gyakoriságától függően.

A belső terheléses tesztek alapján a naplózási funkció engedélyezése 40–50%-kal csökkentette az átviteli sebességet, amikor a kérések gyakorisága meghaladta a másodpercenkénti 1000 kérést. Az Application Insights célja az alkalmazások teljesítményének statisztikai elemzéssel történő felmérése. Nem célja azonban:

  • A naplózási rendszerként való használat.
  • Nagy mennyiségű API-k minden egyes kérésének naplózása.

A naplózott kérések számát a mintavételezési beállítás módosításával módosíthatja. A 100%-os érték azt jelenti, hogy minden kérés naplózva van, míg a 0% azt, hogy nincs naplózás.

A Mintavételezés

A teljesítményproblémák javítása érdekében hagyja ki az alábbiakat:

  • Kérés- és válaszfejlécek.
  • Törzsnaplózás.

Videó

Hibaelhárítás

Az API Management és az Alkalmazás Elemzések közötti telemetriai adatfolyam problémájának megoldása:

  • Vizsgálja meg, hogy létezik-e csatolt Azure Monitor Private Link Scope (AMPLS) erőforrás azon a virtuális hálózaton belül, amelyhez az API Management-erőforrás csatlakozik. Az AMPLS-erőforrások globális hatókörrel rendelkeznek az előfizetésekben, és az összes Azure Monitor-erőforrás adat lekérdezésének és betöltésének kezeléséért felelősek. Lehetséges, hogy az AMPLS privát hozzáférési móddal lett konfigurálva, kifejezetten adatbetöltéshez. Ilyen esetekben vegye fel az Alkalmazás Elemzések erőforrást és a hozzá tartozó Log Analytics-erőforrást az AMPLS-be. A hozzáadás után az API Management-adatok sikeresen betölthetők az alkalmazás Elemzések erőforrásba, megoldva a telemetriai adatátviteli problémát.

Következő lépések