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 algunas sugerencias de uso de los registros para solucionar determinados problemas. Los registros se pueden usar 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: conectividad, mensajería y solicitudes HTTP.
- Los registros de conectividad proporcionan información detallada para las conexiones del centro de conectividad de Azure Web PubSub. Por ejemplo, información básica (id. de usuario, id. de conexión, etc.) e información de eventos (conexión, desconexión, etc.).
- Los registros de mensajería proporcionan información de seguimiento de los mensajes del centro de conectividad de Azure Web PubSub recibidos y enviados a través de este servicio. Por ejemplo, el identificador de seguimiento y el tipo de mensaje del mensaje.
- Los registros de solicitudes HTTP proporcionan información de seguimiento de las solicitudes HTTP enviadas al servicio Azure Web PubSub. Por ejemplo, el método HTTP y el código de estado. Por lo general, una solicitud HTTP se registra cuando llega al servicio o cuando sale de este.
Captura de registros de recursos con la herramienta de seguimiento activo
La herramienta de seguimiento activo del servicio Azure Web PubSub tiene la capacidad de recopilar registros de recursos en tiempo real, lo que resulta muy útil para la solución de problemas en el entorno de desarrollo. La herramienta de seguimiento activo puede capturar registros de conectividad, mensajería y solicitudes HTTP.
Nota:
A la hora de usar la herramienta de seguimiento activo, debe tenerse en cuenta lo siguiente:
- Los registros de recursos en tiempo real que captura la herramienta de seguimiento activo se facturarán como mensajes (tráfico saliente).
- La herramienta de seguimiento activo 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.
- La instancia del nivel Gratis del servicio Azure Web PubSub tiene un límite diario de 20 000 mensajes (tráfico de salida). El seguimiento activo puede hacer que alcance inesperadamente el límite diario.
Inicio de la herramienta de seguimiento activo
Nota:
Al habilitar la clave de acceso, usará el token de acceso para autenticar la herramienta de seguimiento activo. De lo contrario, usará Microsoft Entra ID para autenticar la herramienta de seguimiento en directo. Puede comprobar si habilita o no la clave de acceso en la página Claves de SignalR Service en Azure Portal.
Pasos para la clave de acceso habilitada
Vaya a la Azure Portal y a la página de SignalR Service.
En el menú de la izquierda, en Supervisión, seleccione Configuración de seguimiento activo.
Seleccione Habilitar seguimiento activo.
Seleccione el botón Guardar. Pasará un rato hasta que los cambios surtan efecto.
Cuando se complete la actualización, seleccione Abrir herramienta de seguimiento activo.
Pasos para la clave de acceso deshabilitada
Asignación de permisos de API de la herramienta de seguimiento activo a sí mismo
- Vaya a la Azure Portal y a la página de SignalR Service.
- Seleccione Control de acceso (IAM).
- En la nueva página, haga clic en +Agregar, y a continuación, haga clic en Asignación de Roles.
- En la nueva página, céntrese en la pestañaRoles de función de trabajo, Seleccione el rol Propietario de SignalR Service, y a continuación, haga clic en Siguiente.
- En la páginaMiembros, haga clic en +Seleccionar miembros.
- En el nuevo panel, busque y seleccione miembros y a continuación, haga clic en Seleccionar.
- Haga clic en Revisar y asignar, y espere a la notificación de finalización.
Visite la herramienta de seguimiento en directo
Vaya a la Azure Portal y a la página de SignalR Service.
En el menú de la izquierda, en Supervisión, seleccione Configuración de seguimiento activo.
Seleccione Habilitar seguimiento activo.
Seleccione el botón Guardar. Pasará un rato hasta que los cambios surtan efecto.
Cuando se complete la actualización, seleccione Abrir herramienta de seguimiento activo.
Inicio de sesión con una cuenta Microsoft
- La herramienta de seguimiento activo mostrará una ventana de inicio de sesión de Microsoft. Si no aparece ninguna ventana, compruebe y permita ventanas emergentes en el explorador.
- Espere a que estéListo en la barra de estado.
Captura de registros de recursos
La herramienta de seguimiento activo proporciona algunas características que le ayudarán a capturar los registros de recursos para la solución de problemas.
- Capturar: inicia la captura de los registros de recursos en tiempo real de Azure Web PubSub.
- Clear (Borrar): borre los registros de recursos capturados en tiempo real.
- Filtro de registros: la herramienta de seguimiento activo permite filtrar los registros de recursos capturados en tiempo real con una palabra clave específica. El separador común (por ejemplo, espacio, coma, punto y coma, etc.) se considera parte de la palabra clave.
- Status (Estado): el estado muestra si la herramienta de seguimiento activo está conectada o desconectada de la instancia específica.
Los registros de recursos en tiempo real que captura la herramienta de seguimiento activo contienen información detallada para la solución de problemas.
Nombre | Descripción |
---|---|
Time | Hora del evento de registro |
Nivel de registro | Nivel del evento de registro, que puede ser [Seguimiento | Depuración | Informativo | Advertencia | Error] |
Nombre del evento | Nombre de operación del evento |
Mensaje | Mensaje detallado del evento |
Exception | Excepción en tiempo de ejecución 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. de usuario | Identidad del usuario |
IP | Dirección IP de cliente |
Plantilla de ruta | La plantilla de ruta de la API |
Método HTTP | Método HTTP (POST/GET/PUT/DELETE) |
URL | El localizador uniforme de recursos |
Identificación de seguimiento | Identificador único de la invocación |
Código de estado | Código de respuesta HTTP |
Duration | Duración entre la recepción de la solicitud y su procesamiento |
encabezados | La 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 los registros de recursos
Actualmente, Azure Web PubSub admite la integración con Azure Storage.
Vaya a Azure Portal.
En la página Configuración de diagnóstico de la instancia del servicio Azure Web PubSub, seleccione + Agregar configuración de diagnóstico.
En Nombre de configuración de diagnóstico, introduzca el nombre de la configuración.
En Detalles de la categoría, seleccione cualquier categoría de registro que necesite.
En Detalles del destino, seleccione la casilla Archivar en una cuenta de almacenamiento.
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 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 | Identificador de recurso de Azure SignalR Service |
ubicación | Ubicación 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. Para más información, consulte la siguiente tabla de propiedades. |
Propiedades de tabla
Nombre | Descripción |
---|---|
colección | Colección del evento de registro. Los valores permitidos son: Connection , Authorization y 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 | La plantilla de ruta de la API |
httpMethod | Método HTTP (POST/GET/PUT/DELETE) |
dirección url | El localizador uniforme de recursos |
traceId | Identificador único de la invocación |
statusCode | Código de respuesta HTTP |
duración | Duración entre la recepción y el procesamiento de la solicitud |
headers | La información adicional pasada por el cliente y el servidor con una solicitud o respuesta HTTP |
El código siguiente es un ejemplo de una cadena JSON de 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:
- En la página Configuración de diagnóstico, en Detalles del destino, seleccione **Enviar al área de trabajo de Log Analytics.
- Seleccione la Suscripción que quiere usar.
- Seleccione el área de trabajo de Log Analytics que se usará como destino para los registros.
Para ver los registros de recursos, siga estos pasos:
Seleccione
Logs
en la instancia de Log Analytics de destino.Escriba
WebPubSubConnectivity
,WebPubSubMessaging
oWebPubSubHttpRequest
y, a continuación, seleccione el intervalo de tiempo para consultar el registro. Para consultas avanzadas, vea Tutorial de Log Analytics.
Para usar una consulta de ejemplo para SignalR Service, siga estos pasos:
- Seleccione
Logs
en la instancia de Log Analytics de destino. - Seleccione
Queries
para abrir el explorador de consultas. - Seleccione
Resource type
para agrupar consultas de ejemplo en el tipo de recurso. - Seleccione
Run
para ejecutar el script.
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. Los valores permitidos son: Connection , Authorization y Throttling |
OperationName | Nombre de operación del evento |
Location | Ubicación de Azure SignalR Service |
Nivel | Nivel del evento de registro |
CallerIpAddress | Dirección IP del servidor o cliente |
Mensaje | Mensaje detallado del evento de registro |
UserId | Identidad del usuario |
ConnectionId | Identidad de la conexión |
ConnectionType | Tipo de la conexión. Los valores permitidos son: Server | Client . Server : conexión desde el lado servidor; Client : conexión desde el lado cliente. |
TransportType | Tipo de transporte de la conexión. Los valores permitidos son: Websockets | ServerSentEvents | LongPolling |
Solución de problemas con los registros de recursos
Si encuentra cambios inesperados en el número de conexiones, ya sea un aumento o una disminución, puede aprovechar los registros de recursos para solucionar el problema. Los problemas habituales suelen ser cambios inesperados en el número de conexiones, conexiones que alcanzan los límites de conexiones y errores de autorización.
Cambios inesperados en el número de conexiones
Interrupción inesperada de la conexión
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. Aunque ConnectionAborted
suele ser un evento de interrupción inesperada de la conexión, se proporciona el motivo de la desconexión en message
.
Las opciones de la anulación se muestran en la siguiente tabla:
Motivo | Descripción |
---|---|
El número de conexiones llega al límite | El número de conexiones llega al límite del nivel de precios actual. Considere la posibilidad de escalar 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, se debería recuperar automáticamente. |
Aumento inesperado de las conexiones
Cuando el número de conexiones de cliente aumenta inesperadamente, lo primero que debe hacer es filtrar las conexiones superfluas. Agregue un id. de usuario de prueba único a la conexión del cliente de prueba. A continuación, compruebe los registros de recursos. Si ve que más de una conexión de cliente tiene el mismo id. de usuario o dirección IP de prueba, es probable que el cliente esté creando más conexiones de las previstas. 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 más información, consulte Precios de Azure Web PubSub.