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


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

  1. Nyissa meg a robotot az Azure Portalon.
  2. 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.
  3. 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.
  4. 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

  1. Egy külön böngészővel nyissa meg a robotot az Azure Portalon.
  2. 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.
  3. 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.
  4. Térjen vissza az első böngészőablakba, és nézze meg a naplókat.
  5. 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.

Következő lépések