Solución de errores de servicio interno HTTP 500

SE APLICA A: SDK v4

El primer paso para solucionar errores de HTTP 500 es habilitar Application Insights.

Para ver muestras de AppInsights, consulte la muestra de C# luis-with-appinsights y la muestra de JS.

Nota:

Reconocimiento del lenguaje (LUIS) se retirará el 1 de octubre de 2025. A partir del 1 de abril de 2023, no podrá crear nuevos recursos de LUIS. Hay disponible una versión más reciente de las funcionalidades de reconocimiento del lenguaje como parte del Lenguaje de Azure AI.

Reconocimiento del lenguaje conversacional (CLU), una característica del lenguaje de Azure AI, es la versión actualizada de LUIS. Para obtener más información sobre la compatibilidad con reconocimiento del lenguaje en el SDK de Bot Framework, consulte Reconocimiento del lenguaje natural.

Consulte los datos de telemetría de análisis de conversaciones para más información acerca de cómo agregar Application Insights a un bot existente.

Habilitación de Application Insights en ASP.NET

Para una compatibilidad básica con Application Insights, consulte Configuración de Application Insights para un sitio web de ASP.NET. Bot Framework (a partir de la versión v4.2) proporciona un nivel adicional de telemetría de Application Insights, pero no es obligatoria para diagnosticar errores de HTTP 500.

Habilitación de Application Insights para una aplicación Node.js

Para una compatibilidad básica de Application Insights, consulte Supervisión de servicios y aplicaciones de Node.js con Application Insights. Bot Framework (a partir de la versión v4.2) proporciona un nivel adicional de telemetría de Application Insights, pero no es obligatoria para diagnosticar errores de HTTP 500.

Consulta de excepciones

El método más sencillo de analizar errores de HTTP con código de estado 500 es empezar por las excepciones.

Las consultas siguientes le indicarán las excepciones más recientes:

exceptions
| order by timestamp desc
| project timestamp, operation_Id, appName

En la primera consulta, seleccione algunos identificadores de operación y busque más información:

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

Si solo tiene exceptions, analice los detalles y vea si se corresponden a las líneas del código. Si solo ve excepciones procedentes del conector de canal (Microsoft.Bot.ChannelConnector), consulte No hay eventos de Application Insights para asegurarse de que Application Insights se ha configurado correctamente y que el código está registrando eventos.

No hay eventos de Application Insights

Si recibe errores 500 y no existen más eventos del bot en Application Insights, compruebe lo siguiente:

Asegúrese de que el bot se ejecuta localmente

En primer lugar, realice una prueba del bot localmente con Bot Framework Emulator.

Asegúrese de que se están copiando los archivos de configuración (solo para .NET)

Asegúrese de que appsettings.json y cualquier otro archivo de configuración se empaquetan correctamente durante el proceso de implementación.

Ensamblados de aplicación

Asegúrese de que los ensamblados de Application Insights se han empaquetado correctamente durante el proceso de implementación.

  • Microsoft.ApplicationInsights
  • Microsoft.ApplicationInsights.TraceListener
  • Microsoft.AI.Web
  • Microsoft.AI.WebServer
  • Microsoft.AI.ServeTelemetryChannel
  • Microsoft.AI.PerfCounterCollector
  • Microsoft.AI.DependencyCollector
  • Microsoft.AI.Agent.Intercept

Asegúrese de que appsettings.json y cualquier otro archivo de configuración se empaquetan correctamente durante el proceso de implementación.

appsettings.json

En el archivo appsettings.json asegúrese de que se ha establecido la clave de instrumentación.

{
    "Logging": {
        "IncludeScopes": false,
        "LogLevel": {
            "Default": "Debug",
            "System": "Information",
            "Microsoft": "Information"
        },
        "Console": {
            "IncludeScopes": "true"
        }
    }
}

Comprobación del archivo de configuración

Asegúrese de que hay una clave de Application Insights incluida en el archivo de configuración.

{
    "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": ""
    }
},

Compruebe los registros

ASP.NET y Node emiten registros en el nivel de servidor que se pueden inspeccionar.

Configuración de un explorador para inspeccionar los registros

  1. Abra el bot en Azure Portal.
  2. Abra la página Configuración de App Service/Toda la configuración de App Service para ver todos los valores de configuración del servicio.
  3. Abra la página Supervisión/Registros de diagnóstico del servicio de aplicación.
    • Asegúrese de que la opción Registro de la aplicación (sistema de archivos) está habilitada. No olvide hacer clic en Guardar si cambia este valor.
  4. Vaya a la página Supervisión/Secuencia de registro.
    • Seleccione Registros del servidor web y asegúrese de que ve un mensaje que le indica que está conectado. Debe tener un aspecto similar al siguiente:

      Connecting...
      2018-11-14T17:24:51  Welcome, you are now connected to log-streaming service.
      

      Mantenga esta ventana abierta.

Configuración del explorador para reiniciar el servicio de bot

  1. En un explorador diferente, abra el bot en Azure Portal.
  2. Abra la página Configuración de App Service/Toda la configuración de App Service para ver todos los valores de configuración del servicio.
  3. Vaya a la página Información general del servicio de aplicación y haga clic en Reiniciar.
    • Se le solicitará confirmación; seleccione .
  4. Vuelva a la primera ventana del explorador y mire los registros.
  5. Compruebe que ha recibido los nuevos registros.
    • Si no hay ninguna actividad, vuelva a implementar el bot.
    • A continuación, vaya a la página Registros de aplicación y busque errores.

Pasos siguientes