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.
A KÖVETKEZŐRE VONATKOZIK: Minden API Management-szint
A Azure-alkalmazás Insights egyszerűen integrálható 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 Application Insights 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.
Note
Egy API Management-munkaterületen a munkaterület tulajdonosa önállóan integrálhatja az Application Insightst, és engedélyezheti az Application Insights naplózását a munkaterület API-ihoz. A munkaterületnek az Application Insightsszal való integrálására vonatkozó általános útmutató hasonló az API Management-példányok útmutatóihoz; a konfiguráció azonban csak a munkaterületre terjed ki. Jelenleg egy kapcsolati sztring vagy egy eszközkulcs konfigurálásával integrálnia kell az Application Insightst egy munkaterületen.
Warning
A saját üzemeltetésű átjáró használatakor nem garantáljuk, hogy az összes telemetriát leküldjük Azure-alkalmazás Insightsba, mivel az az Application Insights memórián belüli pufferelésére támaszkodik.
Prerequisites
Szüksége van egy Azure API Management-példányra. Először hozzon létre egyet .
Az Application Insights használatához hozza létre az Application Insights 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ú Application Insights-erőforrásokat.
Note
Az Application Insights-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 úgy tervezi konfigurálni a felügyelt identitás hitelesítő adatait, hogy az Application Insights használatával használhassa, hajtsa végre az alábbi lépéseket:
Engedélyezze a rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitást az API Managementhez.
- Ha engedélyezi a felhasználó által hozzárendelt felügyelt identitást, jegyezze fel az identitás ügyfél-azonosítóját.
Rendelje hozzá az identitást a Monitorozási metrikák közzétevője szerepkörhöz, amely az Application Insights-erőforrás hatókörébe tartozik. 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.
Először hozzon létre kapcsolatot az Application Insights és az API Management között
Az Application Insights és az API Management közötti kapcsolatot az Azure Portal, a REST API vagy a kapcsolódó Azure-eszközök használatával hozhatja létre. Az API Management egy naplózó erőforrást konfigurál a kapcsolathoz.
Important
A portálon az API Management jelenleg csak az Application Insights rendszerállapotkulcsával támogatja az Application Insights-kapcsolatok használatát. A fokozott biztonság érdekében az Application Insights kapcsolati sztring használatát javasoljuk egy API Management által felügyelt identitással. A kapcsolati sztring felügyelt identitás hitelesítő adataival való konfigurálásához használja a REST API-t vagy a kapcsolódó eszközöket a cikk egy későbbi szakaszában látható módon. További információ az Application Insights kapcsolati sztring.
Note
Ha az Application Insights-erőforrás egy másik bérlőben található, akkor létre kell hoznia a naplózót a REST API-val vagy a kapcsolódó eszközökkel a cikk egy későbbi szakaszában látható módon.
Másodszor engedélyezze az Application Insights naplózását az API-khoz vagy API-khoz.
Ebben a cikkben engedélyezi az Application Insights 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 Application Insights és az API Management közötti kapcsolat létrehozásához.
Note
Ahol lehetséges, a Microsoft a fokozott biztonság érdekében a kapcsolati sztring használatát javasolja felügyelt identitás hitelesítő adatokkal. A hitelesítő adatok konfigurálásához használja a REST API-t vagy a kapcsolódó eszközöket a cikk egy későbbi szakaszában látható módon.
Lépjen az Azure API Management szolgáltatáspéldányára az Azure Portalon.
Válassza az Application Insights lehetőséget a bal oldali menüből.
Válassza a + Hozzáadás lehetőséget.
Válassza ki a korábban létrehozott Application Insights-példányt , és adjon meg egy rövid leírást.
Ha engedélyezni szeretné az API Management-példány rendelkezésre állási monitorozását az Application Insightsban, 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 Application Insights-példány Rendelkezésre állás paneljén jelennek meg.
Válassza a Create gombot.
Ellenőrizze, hogy az új Application Insights-naplózó megjelenik-e a listában.
Note
A háttérben létrejön egy naplózó entitás az API Management-példányban, amely tartalmazza az Application Insights-példány rendszerállapot-kulcsát.
Tip
Ha frissítenie kell az Application Insights-naplózóban konfigurált rendszerállapotkulcsot, 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 hozzon létre egy Application Insights-naplót az API Management-példányhoz. Konfigurálhat olyan naplózót, amely kapcsolati sztring használ felügyelt identitás hitelesítő adataival (ajánlott), vagy olyan naplózót, amely csak kapcsolati sztring használ.
Naplózó felügyelt identitás hitelesítő adatokkal rendelkező kapcsolati sztring (ajánlott)
Tekintse meg az API Management által felügyelt identitás használatának előfeltételeit .
Az Application Insights kapcsolati sztring az Application Insights-erőforrás Áttekintés szakaszában jelenik meg.
Kapcsolati sztring rendszer által hozzárendelt felügyelt identitással
Az API Management Logger használata – REST API létrehozása vagy frissítése a következő kérelemtörzsgel.
{
"properties": {
"loggerType": "applicationInsights",
"description": "Application Insights logger with system-assigned managed identity",
"credentials": {
"connectionString":"InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/;...",
"identityClientId":"SystemAssigned"
}
}
}
Kapcsolati sztring felhasználó által hozzárendelt felügyelt identitással
Az API Management Logger használata – REST API létrehozása vagy frissítése a következő kérelemtörzsgel.
{
"properties": {
"loggerType": "applicationInsights",
"description": "Application Insights logger with user-assigned managed identity",
"credentials": {
"connectionString":"InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/;...",
"identityClientId":"<ClientID>"
}
}
}
Csak kapcsolati sztring hitelesítő adatokkal rendelkező naplózó
Az Application Insights kapcsolati sztring az Application Insights-erőforrás Áttekintés szakaszában jelenik meg.
Az API Management Logger használata – REST API létrehozása vagy frissítése a következő kérelemtörzsgel.
Ha egy munkaterülethez konfigurálja a naplózót, használja a Munkaterület-naplózót – REST API létrehozása vagy frissítése .
{
"properties": {
"loggerType": "applicationInsights",
"description": "Application Insights logger with connection string",
"credentials": {
"connectionString":"InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://xxxx.applicationinsights.azure.com/;..."
}
}
}
Az Application Insights naplózásának engedélyezése az API-hoz
Az alábbi lépésekkel engedélyezheti az Application Insights naplózását egy API-hoz. Az Application Insights naplózását is engedélyezheti az összes API-hoz.
Lépjen az Azure API Management szolgáltatáspéldányára az Azure Portalon.
Válassza ki az API-k API-kat> a bal oldali menüből.
Válasszon ki egy API-t, például a Swagger Petstore-t. Ha konfigurálva van, válasszon ki egy verziót.
Tip
Az összes API naplózásának engedélyezéséhez válassza a Minden API lehetőséget.
Lépjen a Beállítások lapra a felső sávon.
Görgessen le a Diagnosztikai naplók szakaszhoz.
Jelölje be az Engedélyezés jelölőnégyzetet.
Válassza ki a csatolt naplózót a Cél legördülő listában.
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.
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.
Warning
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.
Válassza az Mentésgombot.
Note
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 (Application Insights-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 Application Insights a következőt kapja:
| Telemetriai elem | Description |
|---|---|
| Request | Minden bejövő kérés esetén:
|
| Dependency | Minden háttérszolgáltatásnak továbbított kérés esetén:
|
| Exception | Minden sikertelen kérés esetén:
|
| Trace | 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 Application Insights naplózásának beállítása. |
Note
Az Application Insights-példányonkénti metrikák és események maximális méretével és számával kapcsolatos információkért tekintse meg az Application Insights korlátait .
Egyéni metrikák kibocsátása
Az API Management-példányból egyéni metrikákat bocsáthat ki az Application Insightsba. Az API Management olyan szabályzatok használatával bocsát ki egyéni metrikákat, mint az emit-metric és az azure-openai-emit-token-metric. A következő szakasz a emit-metric szabályzatot használja példaként.
Note
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.
Egyéni metrikák (előzetes verzió) engedélyezése egyéni dimenziókkal az Application Insights-példányban.
- Lépjen az Application Insights-példányra a portálon.
- A bal oldali menüben válassza a Használat és a becsült költségek lehetőséget.
- Válassza ki az egyéni metrikákat (előzetes verzió)>Dimenziókkal.
- Kattintson az OK gombra.
Adja hozzá a
"metrics": truetulajdonságot azapplicationInsightsAPI 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éldául: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 [...] } }Győződjön meg arról, hogy az Application Insights-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 Application Insights naplózásának engedélyezése az API-hoz a cikk korábbi részében.
Konfigurálja a
emit-metricszabályzatot egy olyan hatókörben, ahol az Application Insights 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átemit-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). Az API Managementben ezek közül 5 használható az alapértelmezett dimenziókhoz, beleértve a következőket:
- Region
- Szolgáltatásazonosító
- Szolgáltatás neve
- Szolgáltatás típusa
Ezek a korlátok az alábbi következményekkel járnak az egyéni metrikák API Management-szabályzatokban való konfigurálására, példáulemit-metric:azure-openai-emit-token-metric
Szabályzatonként legfeljebb 5 egyéni dimenziót konfigurálhat.
A szabályzat által 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 szabályzat 1000 (10 x 10 x 10) aktív idősort adna hozzá.
Ha a szabályzatot 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.
További információ az egyéni metrikákra vonatkozó tervezési korlátozásokról és szempontokról az Azure Monitorban.
A teljesítményre gyakorolt hatás és a naplók mintavételezése
Warning
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. Ez nem az:
- 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.
- Testadatnaplózás.
Video
Troubleshooting
Az API Managementből az Application Insightsba irányuló 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 Application Insights-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 be lesznek osztva az Application Insights-erőforrásba, megoldva a telemetriai adatátviteli problémát.
Kapcsolódó tartalom
- További információ a Azure-alkalmazás Insightsról.
- Fontolja meg a naplózást az Azure Event Hubs használatával.
- Tudnivalók az Application Insights adatainak az Azure Managed Grafana használatával történő vizualizációjáról