Compartir vía


Solución de problemas con registros de recursos

Esta guía paso a paso proporciona información general sobre los registros de recursos de Azure Web PubSub y sugerencias de uso de los registros para solucionar problemas. Puede usar registros para la identificación de problemas, el seguimiento de conexiones, mensajes y solicitudes HTTP, y análisis.

¿Qué son los registros de recursos?

Hay tres tipos de registros de recursos:

  • Los registros de conectividad proporcionan información detallada para las conexiones del centro de conectividad de Azure Web PubSub. Pueden incluir información básica como el id. de usuario y el id. de conexión, o información de eventos como la conexión y la desconexión.
  • Los registros de mensajería proporcionan información de seguimiento de los mensajes del centro que se envían o reciben a través del servicio Azure Web PubSub, como el id. de seguimiento o el tipo de mensaje.
  • Los registros de solicitud HTTP proporcionan información de seguimiento de las solicitudes HTTP al servicio Azure Web PubSub, como el método HTTP o el código de estado. Por lo general, se registra una solicitud HTTP cuando llega al ser o cuando sale de este.

Captura de registros de recursos con la herramienta de seguimiento activo

La herramienta de seguimiento en directo del servicio Azure Web PubSub puede recopilar registros de recursos en tiempo real, lo que resulta útil para solucionar problemas en el entorno de desarrollo. La herramienta de seguimiento activo puede capturar registros de conectividad, mensajería y solicitudes HTTP.

Debe tener en cuenta los siguientes factores al usar la herramienta de seguimiento en directo:

  • Los registros de recursos en tiempo real que captura la herramienta de seguimiento en directo se facturan como mensajes (tráfico saliente).
  • La instancia de nivel Gratis del servicio Azure Web PubSub tiene un límite diario de 20 000 mensajes (tráfico saliente). Puede alcanzar inesperadamente el límite diario mediante el seguimiento en directo.
  • La herramienta de seguimiento en directo no admite actualmente la autorización de Microsoft Entra. Debe habilitar claves de acceso para usar el seguimiento activo. En Configuración, seleccione Claves y habilite la opción Clave de acceso.

Inicio de la herramienta de seguimiento activo

Al habilitar una clave de acceso, se usa el token de acceso para autenticar la herramienta de seguimiento en directo. De lo contrario, use Microsoft Entra ID para autenticar la herramienta de seguimiento en directo. Para averiguar si la clave de acceso está habilitada, vaya al panel Claves de la instancia de Azure SignalR Service en Azure Portal.

Apertura del seguimiento en directo cuando la clave de acceso esté habilitada

  1. Vaya a Azure Portal y al panel de SignalR Service.

  2. En el menú de servicio, en Supervisión, seleccione Configuración de seguimiento en directo.

  3. Seleccione Habilitar seguimiento activo.

  4. Seleccione el botón Guardar. Los cambios tardan un momento en surtir efecto.

  5. Cuando se complete la actualización, seleccione Abrir herramienta de seguimiento activo.

    Recorte de pantalla de la apertura de la herramienta de seguimiento en directo.

Apertura de la herramienta de seguimiento en directo cuando la clave de acceso esté deshabilitada

Asignación de permisos de API de la herramienta de seguimiento activo a sí mismo

  1. Vaya a Azure Portal y al panel de SignalR Service.

  2. Seleccione Control de acceso (IAM).

  3. Seleccione +Agregar y, a continuación, seleccione Asignación de roles.

  4. En la pestaña Roles de función de trabajo, seleccione el rol Propietario de SignalR Service, y a continuación, haga clic en Siguiente.

  5. En el panel Miembros, haga clic en +Seleccionar miembros.

  6. Busque y seleccione miembros y a continuación, haga clic en Seleccionar.

  7. Haga clic en Revisar y asignar y espere a la notificación de finalización.

Habilitación de la herramienta de seguimiento en directo

  1. Vaya a Azure Portal y al panel de SignalR Service.

  2. En el menú de la izquierda, en Supervisión, seleccione Configuración de seguimiento en directo.

  3. Seleccione Habilitar seguimiento activo.

  4. Seleccione el botón Guardar. Los cambios tardan un momento en surtir efecto.

  5. Cuando se complete la actualización, seleccione Abrir herramienta de seguimiento activo.

    Recorte de pantalla de la apertura de la herramienta de seguimiento en directo.

Inicio de sesión con una cuenta Microsoft

  1. La herramienta de seguimiento en directo hace que se abra una ventana de inicio de sesión de Microsoft. Si no se abre ninguna ventana, permita las ventanas emergentes en la configuración del explorador.

  2. Espere a que aparezca Listo en la barra de estado.

Captura de registros de recursos

La herramienta de seguimiento en directo puede ayudarle a capturar los registros de recursos para la solución de problemas.

  • Capturar comienza a capturar los registros de recursos en tiempo real de Azure Web PubSub.
  • Borrar borra los registros de recursos capturados en tiempo real.
  • Filtro de registro filtra los registros de recursos capturados en tiempo real con una palabra clave específica. Los separadores comunes, como el espacio, la coma y el punto y coma, se tratan como parte de la palabra clave.
  • Estado muestra si la herramienta de seguimiento activo está conectada o desconectada de la instancia específica.

Recorte de pantalla de la captura de registros de recursos con la herramienta de seguimiento en directo.

Los registros de recursos en tiempo real que captura la herramienta de seguimiento en directo contienen información detallada para la solución de problemas.

Nombre Descripción
Hora Hora del evento de registro
Nivel de registro Nivel del evento de registro (Trace, Debug, Informational, Warning o Error)
Nombre de evento Nombre de operación del evento
Mensaje Mensaje detallado del evento
Exception Excepción de runtime del servicio Azure Web PubSub
Hub Nombre del centro de conectividad definido por el usuario
Id. de conexión Identidad de la conexión
Id. usuario Identidad del usuario
IP Dirección IP de cliente
Plantilla de ruta Plantilla de ruta de la API
Método HTTP Método HTTP (POST, GET, PUT o DELETE)
URL Localizador uniforme de recursos
Id. de seguimiento Identificador único de la invocación
Código de estado Código de respuesta HTTP
Duración Duración entre la recepción de la solicitud y su procesamiento
Encabezados Información adicional pasada por el cliente y el servidor con una solicitud o respuesta HTTP

Captura de registros de recursos con Azure Monitor

Habilitación de registros de recursos

Actualmente, Azure Web PubSub admite la integración con Azure Storage.

  1. Vaya a Azure Portal.

  2. En el panel Configuración de diagnóstico de la instancia del servicio Azure Web PubSub, seleccione + Agregar configuración de diagnóstico.

    Recorte de pantalla de la visualización de valores de diagnóstico y la creación de uno.

  3. En Nombre de configuración de diagnóstico, escriba el nombre de la configuración.

  4. En Detalles de la categoría, seleccione cualquier categoría de registro que necesite.

  5. En Detalles del destino, seleccione Archivar en una cuenta de almacenamiento.

    Recorte de pantalla de la configuración de diagnóstico.

  6. Seleccione Guardar para guardar la configuración de diagnóstico.

    Nota:

    La cuenta de almacenamiento debe estar en la misma región que el servicio Azure Web PubSub.

Archivo en una cuenta de almacenamiento de Azure

Los registros se almacenan en la cuenta de almacenamiento configurada en el panel Configuración de diagnóstico. Se crea automáticamente un contenedor denominado insights-logs-<CATEGORY_NAME> para almacenar los registros de recursos. Dentro del contenedor, los registros se almacenan en el archivo resourceId=/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/XXXX/PROVIDERS/MICROSOFT.SIGNALRSERVICE/SIGNALR/XXX/y=YYYY/m=MM/d=DD/h=HH/m=00/PT1H.json. La ruta de acceso se combina por resource ID y Date Time. Los archivos de registro se dividen por hour. El valor de minutos siempre es m=00.

Todos los registros se almacenan en el formato de notación de objetos JavaScript (JSON). Cada entrada tiene campos de cadena que usan el formato descrito en las secciones siguientes.

Las cadenas JSON de los registros de archivo incluyen elementos enumerados en las tablas siguientes.

Format

Nombre Descripción
time Hora del evento de registro
level Nivel del evento de registro
resourceId Id. de recurso de la instancia de Azure SignalR Service
location Ubicación de la instancia de Azure SignalR Service
category Categoría del evento de registro
operationName Nombre de operación del evento
callerIpAddress Dirección IP del servidor o cliente
properties Propiedades detalladas relacionadas con este evento de registro (consulte la siguiente tabla)

Propiedades de tabla

Nombre Descripción
collection Colección del evento de registro (Connection, Authorization o Throttling)
connectionId Identidad de la conexión
userId Identidad del usuario
message Mensaje detallado del evento de registro
hub Nombre del centro de conectividad definido por el usuario
routeTemplate Plantilla de ruta de la API
httpMethod Método HTTP (POST, GET, PUT o DELETE)
url Localizador uniforme de recursos
traceId Identificador único de la invocación
statusCode Código de respuesta HTTP
duration Duración del tiempo entre la recepción y el procesamiento de la solicitud
headers Información adicional pasada por el cliente y el servidor con una solicitud o respuesta HTTP

El siguiente código es un ejemplo de una cadena JSON en un registro de archivo:

{
  "properties": {
    "message": "Connection started",
    "collection": "Connection",
    "connectionId": "LW61bMG2VQLIMYIVBMmyXgb3c418200",
    "userId": null
  },
  "operationName": "ConnectionStarted",
  "category": "ConnectivityLogs",
  "level": "Informational",
  "callerIpAddress": "167.220.255.79",
  "resourceId": "/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/MYGROUP/PROVIDERS/MICROSOFT.SIGNALRSERVICE/WEBPUBSUB/MYWEBPUBSUB",
  "time": "2021-09-17T05:25:05Z",
  "location": "westus"
}

Archivo en Azure Log Analytics

Para enviar registros a un área de trabajo de Log Analytics:

  1. En el panel Configuración de diagnóstico, en Detalles del destino, seleccione Enviar al área de trabajo de Log Analytics.

  2. En Suscripción, seleccione la suscripción que quiera usar.

  3. Para el destino de los registros, seleccione Área de trabajo de Log Analytics.

Para ver los registros de recursos, siga estos pasos:

  1. Seleccione Registros en la instancia del área de trabajo de Log Analytics.

    Recorte de pantalla de un elemento de menú Log Analytics.

  2. Para consultar el registro, escriba WebPubSubConnectivity, WebPubSubMessaging o WebPubSubHttpRequest y, a continuación, seleccione el intervalo de tiempo. Para consultas avanzadas, vea Tutorial de Log Analytics.

    Recorte de pantalla de una consulta en Log Analytics.

Para usar una consulta de ejemplo para SignalR Service, siga estos pasos:

  1. Seleccione Registros en la instancia del área de trabajo de Log Analytics.

  2. Seleccione Consultas para abrir el explorador de consultas.

  3. Seleccione Tipo de recurso para agrupar consultas de ejemplo por tipo de recurso.

  4. Seleccione Ejecutar para ejecutar el script.

    Recorte de pantalla de una consulta de ejemplo de Log Analytics.

Las columnas de los registros de archivo incluyen los elementos que se enumeran en la siguiente tabla.

Nombre Descripción
TimeGenerated Hora del evento de registro
Collection Colección del evento de registro (Connection, Authorization y Throttling)
OperationName Nombre de operación del evento
Location Ubicación de la instancia de Azure SignalR Service
Level Nivel del evento de registro
CallerIpAddress Dirección IP del servidor o cliente
Message Mensaje detallado del evento de registro
UserId Identidad del usuario
ConnectionId Identidad de la conexión
ConnectionType Tipo de conexión (Server, una conexión desde el lado servidor y Client, una conexión desde el lado cliente)
TransportType Tipo de transporte de la conexión (Websockets, ServerSentEvents y LongPolling)

Uso de registros de recursos para solucionar problemas

Si encuentra aumentos o reducciones inesperados en el número de conexiones, puede solucionar el problema mediante los registros de recursos. Entre los posibles problemas se incluyen los cambios inesperados en la cantidad de conexión, las conexiones que alcanzan los límites de conexión y el error de autorización.

Eventos de desconexión inesperados

Si se interrumpe una conexión, los registros de recursos registran ese evento de desconexión con ConnectionAborted o ConnectionEnded en operationName.

La diferencia entre ConnectionAborted y ConnectionEnded es que ConnectionEnded es una desconexión prevista desencadenada por el lado cliente o servidor. Por el contrario, ConnectionAborted normalmente hace referencia a un evento en el que una conexión cae inesperadamente y el motivo de la desconexión se proporciona en message.

En la siguiente tabla se enumeran los motivos de una desconexión inesperada.

Motivo Descripción
El número de conexiones llega al límite El recuento de conexiones alcanza el límite del plan de tarifa actual. Considere la posibilidad de escalar verticalmente la unidad de servicio.
Recarga de servicios, reconexión El servicio Azure Web PubSub se está recargando. Debe implementar su propio mecanismo de reconexión o volver a conectarse manualmente al servicio Azure Web PubSub.
Error transitorio del servidor interno Se produce un error transitorio en el servicio Azure Web PubSub. La recuperación debe ser automática.

Aumento inesperado de las conexiones

Cuando aumente inesperadamente el número de conexiones de cliente, debe seguir estos pasos. En primer lugar, filtre las conexiones superfluas y agregue un identificador de usuario de prueba único a la conexión de cliente de prueba. A continuación, compruebe los registros de recursos. Si observa que más de una conexión de cliente tiene el mismo identificador de usuario de prueba o IP, es probable que el cliente cree más conexiones de las esperadas. Compruebe el código del cliente para buscar el origen de las conexiones adicionales.

Error de autorización

Si recibe un mensaje 401 No autorizado para las solicitudes de cliente, compruebe los registros de recursos. Si encuentra Failed to validate audience. Expected Audiences: <valid audience>. Actual Audiences: <actual audience>, significa que no hay ninguna audiencia válida en el token de acceso. Intente usar las audiencias válidas sugeridas en el registro.

Limitaciones

Si ve que no puede establecer conexiones de cliente con el servicio Azure Web PubSub, compruebe los registros de recursos. Si encuentra Connection count reaches limit en el registro de recursos, es porque ha establecido demasiadas conexiones con el servicio Azure Web PubSub y ha alcanzado el límite de conexiones. Considere la posibilidad de escalar verticalmente la instancia del servicio Azure Web PubSub.

Si ve Message count reaches limit en el registro de recursos y está usando el nivel Gratis, significa que ha agotado la cuota de mensajes. Si desea enviar más mensajes, debe cambiar la instancia del servicio Azure Web PubSub al nivel Estándar. Para obtener más información, consulte Precios de Azure Web PubSub.