HTTP 500 belső szolgáltatás hibáinak elhárítása
A KÖVETKEZŐKRE VONATKOZIK: SDK v4
Az 500 hiba elhárításának első lépése az alkalmazás Elemzések engedélyezése.
App Elemzések minták esetén lásd a luis-with-appinsights C# mintát és a JS-mintát.
Megjegyzés:
A Language Understanding (LUIS) 2025. október 1-jén megszűnik. 2023. április 1-től nem hozhat létre új LUIS-erőforrásokat. Az Azure AI Language részeként már elérhető a nyelvértés újabb verziója.
Az Azure AI Language egyik funkciója, a beszélgetési nyelv megértése (CLU) a LUIS frissített verziója. További információ a Bot Framework SDK nyelvfelismerési támogatásáról: Természetes nyelvfelismerés.
Az Alkalmazás Elemzések meglévő robothoz való hozzáadásáról további információt a beszélgetési elemzési telemetriai adatokban talál.
Alkalmazás Elemzések engedélyezése ASP.NET
Az alkalmazás Elemzések alapszintű támogatásáért tekintse meg, hogyan állíthatja be az alkalmazás Elemzések a ASP.NET webhelyére. A Bot Framework (a 4.2-es verziótól kezdve) további szintű alkalmazás-Elemzések telemetriát biztosít, de a HTTP 500-hibák diagnosztizálásához nem szükséges.
Application Elemzések engedélyezése a Node.js-hez
Az alapvető alkalmazás-Elemzések támogatásért tekintse meg, hogyan figyelheti a Node.js-szolgáltatásokat és -alkalmazásokat az Application Elemzések használatával. A Bot Framework (a 4.2-es verziótól kezdve) további szintű alkalmazás-Elemzések telemetriát biztosít, de a HTTP 500-hibák diagnosztizálásához nem szükséges.
Kivételek lekérdezése
Az 500-ás HTTP-állapotkód hibáinak elemzésének legegyszerűbb módszere a kivételek használata.
A következő lekérdezések a legújabb kivételeket ismertetik:
exceptions
| order by timestamp desc
| project timestamp, operation_Id, appName
Az első lekérdezésben válasszon ki néhány műveletazonosítót, és keressen további információt:
let my_operation_id = "d298f1385197fd438b520e617d58f4fb";
let union_all = () {
union
(traces | where operation_Id == my_operation_id),
(customEvents | where operation_Id == my_operation_id),
(requests | where operation_Id == my_operation_id),
(dependencies | where operation_Id == my_operation_id),
(exceptions | where operation_Id == my_operation_id)
};
union_all
| order by timestamp desc
Ha csak ilyenek vannak exceptions
, elemezze a részleteket, és ellenőrizze, hogy azok megfelelnek-e a kód sorainak. Ha csak a Channel Csatlakozás or (Microsoft.Bot.ChannelConnector
) kivételeit látja, akkor az Alkalmazás Elemzések események nélkül című témakörben ellenőrizheti, hogy az alkalmazás Elemzések megfelelően van-e beállítva, és a kód naplóz-e eseményeket.
Nincs alkalmazás Elemzések esemény
Ha 500 hibát kap, és az Application Elemzések nem jelenik meg további esemény a robottól, ellenőrizze az alábbiakat:
Győződjön meg arról, hogy a robot helyileg fut
Először tesztelje a robotot helyileg a Bot Framework Emulator használatával.
Győződjön meg arról, hogy a konfigurációs fájlok másolása folyamatban van (csak.NET)
Győződjön meg arról, hogy az appsettings.json
üzembe helyezési folyamat során a többi konfigurációs fájl megfelelően van csomagolva.
Alkalmazásszerelvények
Győződjön meg arról, hogy az alkalmazás Elemzések szerelvények megfelelően vannak csomagolva az üzembe helyezési folyamat során.
- Microsoft.Application Elemzések
- Microsoft.Application Elemzések. TraceListener
- Microsoft.AI.Web
- Microsoft.AI.WebServer
- Microsoft.AI.ServeTelemetryChannel
- Microsoft.AI.PerfCounterCollector
- Microsoft.AI.DependencyCollector
- Microsoft.AI.Agent.Intercept
Győződjön meg arról, hogy az appsettings.json
üzembe helyezési folyamat során a többi konfigurációs fájl megfelelően van csomagolva.
appsettings.json
A fájlon appsettings.json
belül győződjön meg arról, hogy a Rendszerállapotkulcs be van állítva.
{
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
},
"Console": {
"IncludeScopes": "true"
}
}
}
Konfigurációs fájl ellenőrzése
Győződjön meg arról, hogy a konfigurációs fájl tartalmaz egy alkalmazás Elemzések kulcsot.
{
"ApplicationInsights": {
"type": "appInsights",
"tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"subscriptionId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"resourceGroup": "my resource group",
"name": "my appinsights name",
"serviceName": "my service name",
"instrumentationKey": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"applicationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"apiKeys": {},
"id": ""
}
},
Naplók ellenőrzése
A Robot ASP.NET és a Node a megvizsgálható kiszolgálói szinten bocsát ki naplókat.
Böngésző beállítása a naplók megtekintéséhez
- Nyissa meg a robotot az Azure Portalon.
- Nyissa meg az App Service Gépház/Minden App Service-beállítás lapot az összes szolgáltatásbeállítás megtekintéséhez.
- Nyissa meg az app service Figyelési/diagnosztikai naplók lapját.
- Győződjön meg arról, hogy az alkalmazásnaplózás (fájlrendszer) engedélyezve van. Ha módosítja ezt a beállítást, kattintson a Mentés gombra.
- Váltson a Figyelés/ Naplóstream lapra.
Válassza ki a webkiszolgálói naplókat, és győződjön meg arról, hogy megjelenik a csatlakoztatott üzenet. A következőhöz hasonlóan kell kinéznie:
Connecting... 2018-11-14T17:24:51 Welcome, you are now connected to log-streaming service.
Tartsa nyitva ezt az ablakot.
A böngésző beállítása a robotszolgáltatás újraindításához
- Egy külön böngészővel nyissa meg a robotot az Azure Portalon.
- Nyissa meg az App Service Gépház/Minden App Service-beállítás lapot az összes szolgáltatásbeállítás megtekintéséhez.
- Váltson az app service Áttekintés lapjára, és kattintson az Újraindítás gombra.
- A rendszer megkérdezi, hogy biztos-e benne; válassza az Igen lehetőséget.
- Térjen vissza az első böngészőablakba, és nézze meg a naplókat.
- Ellenőrizze, hogy új naplókat kap-e.
- Ha nincs tevékenység, telepítse újra a robotot.
- Ezután váltson az Alkalmazásnaplók lapra, és keresse meg a hibákat.