Analice los registros generados por el sistema usando Application Insights

Puede conectar sus aplicaciones de lienzo con Application Insights, una característica de Azure Monitor. Application Insights incluye potentes herramientas de análisis para ayudarlo a diagnosticar problemas y comprender qué hacen realmente los usuarios con sus aplicaciones. Puede recopilar información para ayudarlo a tomar mejores decisiones comerciales y mejorar la calidad de sus aplicaciones.

En este inicio rápido, usamos una aplicación de lienzo llamada Kudos para explorar conceptos de registros generados por el sistema en aplicaciones de lienzo y aplicarlos a sus aplicaciones. La aplicación Kudos de ejemplo forma parte de un conjunto de aplicaciones de participación de los empleados disponibles para su descarga desde el Kit de inicio de experiencia del empleado.

Requisitos previos

Nota

Para ver información de telemetría, su administrador de inquilinos debe habilitar la Información de la aplicación de lienzo. Inicie sesión como administrador en el centro de administración de Power Platform. Vaya a Configuración > Configuración de inquilino > Información de la aplicación de lienzo. En el panel Información de la aplicación de lienzo, establezca el botón de alternancia en Activado y guarde sus cambios. Para obtener más información, consulte Configuración de inquilino.

Opcionales

Crea un recurso de Application Insights

Antes de poder enviar registros generados por el sistema desde una aplicación, deberá crear un recurso de Application Insights para almacenar los eventos.

  1. Inicie sesión en Azure portal.

  2. Buscar Application Insights:

    Application Insights.

  3. Crear un recurso de Application Insights:

    Agregar un recurso de Application Insights.

  4. Introduzca los valores apropiados y seleccione Revisar + crear.

    Para más detalles, lea Crear un recurso de Application Insights.

    Crear un recurso.

  5. Después de que se crea la instancia de Application Insights, copie la Clave de instrumentación en la descripción general de la instancia para su uso en un próximo paso.

    Copiar clave de instrumentación.

Conectar su aplicación a Application Insights

Nota

  • Al especificar una clave de instrumentación, tenga en cuenta que los datos se pueden enviar entre inquilinos. Los eventos de seguimiento se envían al recurso de App Insights que corresponde a la clave de instrumentación que configuró para su aplicación, incluso si la instancia de App Insights de destino está en un arrendatario diferente al de la aplicación.
  • Tenga cuidado al importar archivos .msapp existentes, ya que pueden estar presentes claves de instrumentación para App Insights. Abra manualmente la aplicación después de la importación para verificar que se esté utilizando la clave de instrumentación de App Insights correcta.
  1. Inicie sesión en Power Apps.

  2. Seleccione Aplicaciones en el panel de navegación izquierdo. En la lista de aplicaciones, seleccione la aplicación Kudos y luego Editar:

    Editar aplicación Kudos.

    Nota

    También puede crear una nueva aplicación o editar cualquier aplicación existente en su lugar.

  3. Selecciona el objeto Aplicación en la vista de árbol de navegación izquierda y pegue la Clave de instrumentación:

    Agregar clave de instrumentación.

  4. Guarde y Publique su aplicación.

  5. Reproduzca la aplicación publicada y navegue por las diferentes pantallas.

A medida que navega por las pantallas de la aplicación, los eventos se registran automáticamente en Application Insights, incluidos los detalles de uso como:

  • Desde dónde se accede a la aplicación
  • Qué dispositivos se utilizan
  • Los tipos de navegador utilizados

Importante

Debe reproducir la aplicación publicada para enviar eventos a Application Insights. Los eventos no se envían a Application Insights si previsualiza la aplicación en Power Apps Studio.

Ver eventos en Application Insights

  1. Inicie sesión en Azure Portal y abra el recurso de Application Insights que creó anteriormente.

  2. Desplácese hacia abajo en el panel de navegación izquierdo y seleccione Usuarios en la sección Utilización.

    Nota

    La vista Usuarios muestra detalles de uso de la aplicación, como:

    • Número de usuarios que vieron la aplicación
    • Número de sesiones de usuario
    • Número de eventos registrados
    • Sistemas operativos y detalles de la versión del navegador de los usuarios
    • Región y ubicación de los usuarios

    Obtenga más información sobre el análisis de usuarios, sesiones y eventos en Application Insights.

  3. Seleccione una de las sesiones de usuario para profundizar en detalles específicos. Puede ver información como la duración de la sesión y las pantallas visitadas:

    Detalles de utilización para usuarios.

  4. Seleccione la vista Eventos en el panel de navegación izquierdo y la sección Utilización. Puede ver un resumen de todas las pantallas vistas en todas las sesiones de la aplicación:

    Detalles del evento para la aplicación.

Sugerencia

Más características de Application Insights están disponibles, tales como:

Crear eventos de seguimiento personalizados

Puede escribir seguimientos personalizados directamente en Application Insights y comenzar a analizar información específica de su escenario. La función Trace le permite recopilar:

  • Información de utilización granular para controles en las pantallas
  • Qué usuarios específicos están accediendo a su aplicación
  • Que errores ocurren

El seguimiento también puede ayudar a diagnosticar problemas porque puede enviar un seguimiento de información a medida que sus usuarios navegan por su aplicación y realizan diferentes acciones. Los mensajes de seguimiento enviados a Application Insights tienen una de tres gravedades:

  • Información
  • Advertencia
  • Error

Dependiendo de su escenario, puede optar por enviar un mensaje de seguimiento con la gravedad adecuada. Puede consultar los datos y realizar acciones específicas en función de la gravedad.

Nota

Si está registrando datos personales, tenga en cuenta sus obligaciones con respecto a varias leyes y reglamentos de privacidad. Referirse al Centro de confianza de Microsoft y al Portal de confianza del servicio para más información.

Ahora cree un nuevo componente en su aplicación para recopilar comentarios en cada pantalla y escribir los eventos en Application Insights.

  1. Inicie sesión en Power Apps.

  2. Seleccione Aplicaciones en el panel de navegación izquierdo. En la lista de aplicaciones, seleccione la aplicación Kudos y luego Editar.

    Nota

    También puede crear una nueva aplicación o editar una aplicación existente en su lugar.

  3. Seleccione la opción Componentes de la Vista de árbol:

    Componentes.

  4. Seleccione Nuevo componente y luego redimensione el ancho a 200 y la altura a 75:

    Alto y ancho.

  5. Seleccione Insertar desde el menú y luego seleccione Iconos para agregar el emoji de ceño fruncido y el emoji de sonrisa:

    Agregar iconos.

  6. Seleccione Nueva propiedad personalizada para crear una propiedad personalizada:

    Crear propiedad personalizada.

  7. Escriba la propiedad Name y Display name como FeedbackSceen.

  8. Introduzca la propiedad Description.

  9. Seleccione Tipo de propiedad como Entrada y Tipo de datos como Pantalla:

    Propiedad personalizada.

    Nota

    La propiedad de entrada le permite capturar el nombre de pantalla y su componente para que pueda registrar esta información en Application Insights.

  10. Seleccione el componente en la Vista de árbol, seleccione Mas acciones () y luego seleccione Cambiar nombre para cambiar el nombre del componente por un nombre significativo como FeedbackComponent.

    Cambiar nombre de componentes e iconos.

  11. Seleccione los iconos, seleccione Mas acciones () y luego seleccione Cambiar nombre para cambiar el nombre de los iconos por nombres significativos, como FrownIcon y SmileIcon.

  12. Seleccione FrownIcon, seleccione la propiedad OnSelect y luego escriba la siguiente expresión en la barra de fórmulas:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeedbackValue: "-1"
           }
         );
    Notify("Thanks for your feedback!");
    

    Fórmula de icono de ceño fruncido.

    Nota

    La expresión de fórmula envía UserName, UserEmail, Screen y Feedback (con el valor -1) a Application Insights.

  13. Seleccione SmileIcon, seleccione la propiedad OnSelect y luego escriba la siguiente expresión en la barra de fórmulas:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Agregue el componente a una de las pantallas en su aplicación:

    Agregar componente de comentarios.

  15. Seleccione Guardar y luego Publicar para guardar y publicar su aplicación.

  16. Reproduzca la aplicación publicada y envíe un comentario de sonrisa y de ceño fruncido desde tus pantallas.

    Importante

    Debe reproducir la aplicación publicada para enviar eventos a Application Insights. Los eventos no se envían a Application Insights si previsualiza la aplicación en Power Apps Studio.

    Reproducir aplicación publicada.

Analizar datos en Application Insights

Ahora puede comenzar a analizar los datos que envió utilizando la función Trace desde su aplicación en Application Insights.

  1. Inicie sesión en Azure Portal y abra el recurso de Application Insights que creó anteriormente:

    Seleccionar Application Insights.

  2. Seleccione Registros en Supervisión en el panel de navegación izquierdo:

    Seleccionar registros.

  3. Ingrese la siguiente consulta y seleccione Correr para ver los comentarios recibidos de su aplicación:

    traces
    | where message == "App Feedback"
    | order by timestamp
    

    Ver comentarios de la aplicación.

  4. Seleccione una fila en los resultados y expanda el campo customDimensions.

    Se han registrado los valores para Screen, UserName, UserEmail y FeedbackValue para el evento OnSelect del icono de sonrisa o de ceño fruncido en su componente. También se registran valores para cada evento enviado a Application Insights, tales como appId, appName y appSessionId.

    Expandir dimensiones personalizadas.

  5. Con la siguiente consulta de ejemplo, puede ampliar las propiedades de las dimensiones personalizadas JSON y proyectar las columnas en la vista de resultados.

    traces
        | extend customdims = parse_json(customDimensions)
        | where message == "App Feedback"
        | project timestamp
            , message
            , AppName = customdims.['ms-appName']
            , AppId = customdims.['ms-appId']
            , FeedbackFrom = customdims.UserEmail
            , Screen = customdims.Screen
            , FeedbackValue = customdims.FeedbackValue
        | order by timestamp desc
    

    Extender la consulta customDimensions.

    Sugerencia

    Las consultas de registro son extremadamente útiles. Puede usarlas para unir varias tablas, agregar grandes cantidades de datos y realizar operaciones complejas. Más información sobre el uso del registro.

Supervisar errores no controlados (experimental)

[Esta sección contiene documentación preliminar y está sujeta a modificaciones.]

Importante

  • Esta es una característica experimental.
  • Las características experimentales no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un acceso anticipado y proporcionar comentarios.

No siempre puede anticipar y planificar todos los errores que pueden ocurrir mientras se ejecuta su aplicación. Los errores de fórmula de Power Fx no administrados se informan a los usuarios como mensajes de banner. También se pueden denunciar a Application Insights para ayudarlo a comprender su frecuencia y gravedad sin depender de los usuarios de su aplicación para informar problemas. También puede configurar alertas en tiempo real cuando se produzcan errores de tiempo de ejecución para adoptar un enfoque más proactivo.

Habilitar paso de errores a Application Insights

Debe habilitar la configuración que permite Power Apps para pasar errores de tiempo de ejecución no controlados a Azure Application Insights.

Advertencia

Habilitar esta configuración puede incurrir en costes adicionales relacionados con el almacenamiento de registros de Application Insights.

Para habilitar el paso de errores, vaya a Configuración > Próximas características > Experimental > Pasar errores a Azure Application Insights mientras mantiene su aplicación de lienzo abierta para editar. Guarde y publique su aplicación.

Permitir la configuración de Pasar errores a Azure Application Insights.

Eventos de error en Application Insights

Los errores de Power Fx sin administrar experimentados por los usuarios en el tiempo de ejecución de la aplicación se informan en la tabla traces. Los errores no controlados se pueden identificar y distinguir de otros eventos de error mediante el mensaje de evento "Error no controlado". La dimensión "severityLevel" de estos eventos es 3 (TraceSeverity.Error).

Los mensajes de error detallados se proporcionan en la dimensión "errores" de la propiedad customDimension. En situaciones en las que se produjeron varios errores durante la misma operación, los errores se consolidan en la dimensión "errores" de un único evento de seguimiento. Los mensajes de error son los mismos que los informados en Monitor durante una sesión de depuración en vivo.

La siguiente consulta de ejemplo identifica errores no controlados y expande todos los mensajes de error incluidos en el evento de seguimiento:

traces
    | where message == "Unhandled error"
    | extend customdims = parse_json(customDimensions)
    | extend errors = parse_json(tostring(customdims.['errors']))
    | mv-expand errors
    | project timestamp
        , itemId //unique identifier for the trace event
        , AppName = customdims.['ms-appName']
        , AppId = customdims.['ms-appId']
        , errors = errors.['Message']
    | order by timestamp desc

Salida de ejemplo para consulta de ejemplo.

Seguimiento de correlación (experimental)

[Esta sección contiene documentación preliminar y está sujeta a modificaciones.]

Importante

  • Esta es una característica experimental.
  • Las características experimentales no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un acceso anticipado y proporcionar comentarios.

Las conexiones a datos y servicios externos son fundamentales para la mayoría de las aplicaciones. El rastreo de correlación genera y propaga información de contexto para unir registros generados por el sistema a través de una aplicación de lienzo y sus conexiones, sujeto a ciertas limitaciones. Por ejemplo, su aplicación puede llamar a un conector personalizado que, a su vez, llama a una Azure Function u otra API de REST. El seguimiento de correlación le permite correlacionar las acciones realizadas en la aplicación con las llamadas API subyacentes en todos los niveles. Puede resultar útil en la solución de problemas.

El rastreo de correlación de la aplicación Canvas es una implementación del rastreo de contexto y sigue la especificación W3C.

Habilitar seguimiento de correlación

Advertencia

Habilitar esta configuración puede incurrir en costes adicionales relacionados con el almacenamiento de registros de Application Insights.

Para habilitar la función de seguimiento de correlación, vaya a Configuración > Próximas características > Experimental > Habilitar seguimiento de correlación de Azure Application Insights mientras mantiene su aplicación de lienzo abierta para editar. Guarde y publique su aplicación.

Habilitar seguimiento de correlación de Azure Application Insights.

Limitaciones

  • El rastreo de correlación solo está disponible para conectores personalizados. No se admiten otros tipos de conectores.
  • Las solicitudes HTTP se capturan en Application Insights solo si el servicio conectado también está conectado a Application Insights.

Utilizar seguimiento de correlación

Cuando está habilitado, el rastreo de correlación agrega un nuevo evento de registro generado por el sistema en la tabla de dependencias de la instancia de Application Insights de la aplicación de lienzo. Este evento se registra en el momento en que se recibe una respuesta de una llamada de red. Los eventos de dependencia capturan detalles de la llamada de red, incluidos los encabezados de solicitud y respuesta, el código de estado de respuesta y la duración de la llamada.

Ejemplo de evento registrado en la tabla de dependencias.

Si el servicio conectado también está conectado a Application Insights, se genera un evento de registro adicional generado por el sistema que captura la solicitud en la tabla peticiones de la instancia de Application Insights del servicio. Algunos servicios de Azure, como Azure Functions, se pueden conectar sin ningún tipo de codificación desde Azure Portal. Tanto la aplicación de lienzo como varias aplicaciones y servicios conectados se pueden conectar a la misma instancia de Application Insights.

Ejemplo de evento registrado en la tabla de solicitudes.

Las llamadas de red para conectores admitidos se pueden unir con otros registros generados por el sistema en la dimensión "operation_Id". La siguiente consulta de ejemplo muestra una llamada de red que se realiza junto con eventos de seguimiento emitidos durante una sesión de la aplicación.

traces | union dependencies | union requests | union pageViews | union customEvents
| project timestamp
    , itemType
    , name
    , operation_Name
    , message
    , severityLevel
    , customDimensions
    , operation_Id
    , operation_ParentId
| where operation_Id == "0a7729e3e83c4e4d93cb4f51149f73b9" //placeholder operation_Id, replace
| order by timestamp asc

Salida de ejemplo para la consulta de ejemplo anterior.

Exportar datos a Power BI

Puede exportar sus datos de Application Insights y consultar los resultados en Power BI para el análisis y la presentación de los datos.

  1. Inicie sesión en Azure Portal y abra el recurso de Application Insights que creó anteriormente:

  2. Seleccione Registros en Supervisión en el panel de navegación izquierdo:

  3. Desde la ventana de consulta de análisis de registro, seleccione el menú Exportar.

  4. Seleccione la opción Exportar a Power BI (consulta M) para descargar un archivo de consulta de Power BI:

    Exportar consulta de Power BI.

  5. Abra el archivo descargado en un editor de texto y copie la consulta al portapapeles.

  6. Abierto Power BI.

  7. Seleccione el menú Obtener datos en la cinta de opciones Inicio y luego seleccione Consulta en blanco:

    Consulta en blanco de Power BI.

  8. Seleccione Editor avanzado en la ventana de consultas. Pegue la consulta en la ventana, seleccione Listo y luego seleccione Cerrar y aplicar:

    Consulta avanzada de Power BI.

También puede crear gráficos y visualizaciones en Power BI para representar los comentarios recibidos en su aplicación, así como para tomar decisiones y acciones basadas en datos.

Gráficos y visualizaciones.

Contexto y dimensiones del evento de seguimiento predeterminado

También se agrega un conjunto de dimensiones predeterminadas a la propiedad customDimensions en cada evento de seguimiento. Estas dimensiones se pueden usar para identificar la aplicación y las sesiones de aplicación en las que ocurrieron los eventos. Si registra datos personalizados adicionales con la función de seguimiento, también aparecerán en las dimensiones personalizadas.

Nombre de dimensión Representa
ms-appId El Id. de la aplicación que envió el evento.
ms-appname El nombre de la aplicación que envió el evento.
ms-appSessionId El id. de sesión de la aplicación. Es posible que este valor no se complete en algunos escenarios. Cuando está disponible, este valor anula la dimensión de sessionID de Application Insights.
ms-tenantID El identificador único del inquilino donde se publica la aplicación.
ms-environmentId El nombre del entorno donde se publica la aplicación.
userId Un identificador único para el usuario asociado a la sesión.
ms-duration Un valor imputado que mide el tiempo que tarda un usuario en navegar de una pantalla a otra. Este valor anula la dimensión de duración de PageView de Application Insights estándar.
sessionId Un id. de sesión que se puede usar para correlacionar todos los eventos asociados con una sola sesión de aplicación. Este valor siempre está presente y se recomienda para comprender el recuento de sesiones únicas. Este valor se toma del id. de la sesión del jugador y se muestra al ver los detalles de la sesión mientras se reproduce la aplicación. El id. de sesión a veces puede obtener un valor generado predeterminado, aleatorio y único de Application Insights. Este valor predeterminado no es fiable y no se correlaciona con ningún parámetro específico de la aplicación.
Duración Un valor imputado que mide el tiempo que tarda un usuario en navegar de una pantalla a otra. Este valor es el mismo que la duración informada por la dimensión ms-duration.
ms-isTest Indica si la sesión está asociada con el ejecutor de pruebas de Test Studio.
ms-currentScreenName El nombre de la página desde la que navega un usuario (presente para eventos de navegación de página).
ms-targetScreenName El nombre de la página a la que navega un usuario (presente para eventos de navegación de página).

Escenarios no admitidos

Application Insights no admite los siguientes escenarios.

  • Los eventos de jugadores sin conexión no se capturan.
  • Los eventos de la aplicación móvil (tanto iOS como Android) no se capturan cuando se suspende la aplicación.
  • GCC y las nubes no públicas no son compatibles.

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).