Compartir a través de


Habilitación y visualización de la telemetría mejorada en Application Insights para flujos de trabajo estándar en Azure Logic Apps

Se aplica a: Azure Logic Apps (estándar)

En Application Insights, puede habilitar la recopilación de telemetría mejorada para su recurso de aplicación lógica estándar, y luego ver los datos recopilados después de que su flujo de trabajo finalice una ejecución. Esta capacidad le ofrece una experiencia simplificada para descubrir información sobre sus flujos de trabajo y más control sobre el filtrado de eventos en la fuente de datos, lo que le ayuda a reducir los costes de almacenamiento. Estas mejoras se centran en las métricas de rendimiento en tiempo real que proporcionan información sobre la salud y el comportamiento de su sistema. Esto puede ayudarle a detectar y resolver antes los problemas de forma proactiva.

Con su aplicación lógica conectada a Application Insights, puede ver los datos de registro y otras métricas casi en tiempo real a través de Azure Portal mediante Live Metrics Stream. También dispone de visualizaciones para ayudarle a trazar las solicitudes entrantes, las salientes y el estado general, así como acceso a una tabla de diagnósticos a nivel de traza.

La siguiente lista describe algunos ejemplos de mejoras en telemetría:

  • Los eventos de desencadenadores y acciones incluyen ahora el tipo de desencadenador o acción y el nombre de la API, lo que permite consultar el uso específico del conector.
  • Facilitar el seguimiento de los reintentos.
  • Captura de excepciones para fallos de desencadenadores y acción.
  • Más control sobre el filtrado de eventos no relacionados con el flujo de trabajo.
  • Filtrado avanzado que le ofrece un mayor control sobre cómo se emiten los eventos, incluidos los desencadenadores y las acciones.

Esta guía muestra cómo activar la recopilación de telemetría mejorada en Application Insights para su aplicación Standard logic.

Requisitos previos

  • Una cuenta y una suscripción de Azure. Si aún no tiene una, regístrese para obtener una cuenta de Azure gratuita.

  • Una instancia de Application Insights. Este recurso se crea de antemano, al crear la aplicación lógica estándar o después de la implementación de la aplicación lógica.

  • Una aplicación lógica estándar y un flujo de trabajo, ya sea en Azure Portal o en Visual Studio Code.

    • El recurso o el proyecto de la aplicación lógica deben usar el entorno de ejecución de Azure Functions v4, que está habilitado de forma predeterminada.

    • La aplicación lógica debe haber habilitado Application Insights para el registro y el seguimiento de diagnósticos. Puede hacerlo al crear la aplicación lógica o después de la implementación.

Habilitación de la telemetría mejorada en Application Insights

  1. En Azure Portal, abra el recurso Aplicación lógica estándar.

  2. En el menú de la aplicación lógica, en Herramientas de desarrollo, seleccione Herramientas avanzadas. En la página Herramientas avanzadas, seleccione Ir, que abre las herramientas de Kudu.

  3. En la página Kudu, en el menú Consola de depuración, seleccione CMD. En la tabla de directorios de carpetas, vaya el siguiente archivo y seleccione Editar: sitio/wwwroot/host.json

  4. En el archivo host.json, agregue el siguiente código JSON:

    {
       "version": "2.0",
       "extensionBundle": {
          "id": "Microsoft.Azure.Functions.ExtensionBundle.Workflows",
          "version": "[1, 2.00]"
       },
       "extensions": {
          "workflow": {
             "Settings": {
                "Runtime.ApplicationInsightTelemetryVersion": "v2"
             }
          }
       }
    }
    

    Esta configuración habilita el nivel predeterminado de detalle. Para ver otras opciones, consulte Aplicar filtrado en el origen.

Apertura de Application Insights

Una vez que el flujo de trabajo finalice una ejecución y pasen unos minutos, abra el recurso de Application Insights.

  1. En Azure Portal, en el menú de la aplicación lógica, en Configuración, seleccione Application Insights.

  2. En el menú de recursos de Application Insights, en Supervisión, seleccione Registros.

Visualización de registros mejorados en Application Insights

En las secciones siguientes se describen las tablas de Application Insights donde puede encontrar y ver la telemetría mejorada generada a partir de la ejecución del flujo de trabajo.

Nombre de tabla Descripción
Solicitudes Detalles sobre los siguientes eventos en ejecuciones de flujo de trabajo:

- Eventos de desencadenamiento y acción
- Intentos de reintento
- Uso del conector
Traces Detalles sobre los siguientes eventos en ejecuciones de flujo de trabajo:

- Eventos de inicio y fin del flujo de trabajo
- Eventos de envío y recepción por lotes
Excepciones Detalles sobre los eventos de excepción en ejecuciones de flujo de trabajo
Dependencias Detalles sobre los eventos de dependencia en ejecuciones de flujo de trabajo

Tabla de solicitudes

La tabla Solicitudes contiene campos que realizan un seguimiento de los datos sobre los siguientes eventos en ejecuciones de flujo de trabajo estándar:

  • Eventos de desencadenamiento y acción
  • Número de reintentos
  • Uso del conector

Para mostrar cómo los datos entran en estos campos, supongamos que tiene el siguiente flujo de trabajo estándar de ejemplo que comienza con el desencadenador Solicitud seguido de la acción Redactar y la acción Respuesta.

Captura de pantalla que muestra Azure Portal y el diseñador de flujo de trabajo estándar con desencadenador y acciones.

La configuración del desencadenador tiene un parámetro llamado Id. de seguimiento personalizado. El valor del parámetro se establece en una expresión que extrae el valor de la propiedad orderId del cuerpo de un mensaje entrante:

Captura de pantalla que muestra Azure Portal, flujo de trabajo estándar, Desencadenador de solicitud seleccionado, la pestaña Configuración y un Id. de seguimiento personalizado.

A continuación, la configuración de la acción Redactar del flujo de trabajo tiene una propiedad de seguimiento agregada que se llama solutionName. El valor de la propiedad se establece en el nombre del recurso de aplicación lógica.

Captura de pantalla que muestra Azure Portal, flujo de trabajo estándar, la acción de Redactar seleccionada, la pestaña Configuración y la propiedad de seguimiento.

La acción Redactar va seguida de una acción Respuesta que devuelve una respuesta al autor de la llamada.

La lista siguiente tiene consultas de ejemplo que puede crear y ejecutar en la tabla Solicitudes:

Tarea Pasos
Visualización de todos los eventos de desencadenamiento y acción Consulta de todos los eventos de desencadenamiento y acción
Visualización de solo los eventos de desencadenamiento o eventos de acción Consulta solo para eventos de desencadenamiento o acción
Visualización de eventos de desencadenamiento o acción con un tipo de operación específico Consulta de eventos de desencadenamiento o acción por tipo de operación
Visualización de eventos de desencadenamiento y acción con un identificador de ejecución de flujo de trabajo específico Consulta de eventos de desencadenamiento y acción por identificador de ejecución de flujo de trabajo
Visualización de eventos de desencadenamiento y acción con un identificador de seguimiento de cliente específico Consulta de eventos de desencadenamiento y acción por identificador de seguimiento de cliente
Visualización de eventos de desencadenamiento y acción con un nombre de solución específico Consulta de eventos de desencadenamiento y acción por nombre de solución
Visualización de eventos de desencadenamiento y acción con reintentos Consulta de eventos de desencadenamiento y acción para los reintentos
Visualización de eventos de desencadenamiento y acción con el uso del conector Consulta de eventos de desencadenamiento y acción para el uso del conector

Consulta de todos los eventos de desencadenamiento y acción

Una vez que se ejecute el flujo de trabajo y pasen unos minutos, puede crear una consulta en la tabla Solicitudes para ver todos los eventos de la operación.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Para ver todos los eventos de desencadenamiento y acción, cree y ejecute la consulta siguiente:

    requests
    | sort by timestamp desc
    | take 10
    

    En el ejemplo siguiente se muestra la pestaña Resultados con las columnas y los datos indicados en cada fila:

    Captura de pantalla que muestra Application Insights, consulta, pestaña Resultados y eventos de operación de la ejecución del flujo de trabajo.

    Columna Descripción Ejemplo
    name Nombre de las operaciones del flujo de trabajo En este ejemplo, las filas muestran manual (desencadenador de solicitud), Redactar y Respuesta.
    success Estado de ejecución de la operación En este ejemplo, todas las filas muestran True para una ejecución correcta. Si se produce un error, el valor es False.
    resultCode Código de estado de ejecución de la operación En este ejemplo, todas las filas muestran Succeeded (200).
    duration Duración de la ejecución de la operación Varía para cada operación.
  3. Para ver los detalles de una operación específica, expanda la fila del desencadenador o la acción:

    En el ejemplo siguiente se muestran los detalles expandidos del desencadenador Solicitud:

    Captura de pantalla que muestra Application Insights, la pestaña Resultados del desencadenador de solicitud y detalles.

    Propiedad Descripción Ejemplo
    Categoría Categoría de la operación, que siempre es Workflow.Operations.Triggers o Workflow.Operations.Actions, en función de la operación Workflow.Operations.Triggers.
    clientTrackingId Identificador de seguimiento personalizado, si se especifica 123456
    runId Identificador de la instancia de ejecución de flujo de trabajo 08585358375819913417237801890CU00
    triggerName Nombre del desencadenador manual
    workflowId Identificador del flujo de trabajo que ejecutó el desencadenador c7711d107e6647179c2e15fe2c2720ce
    workflowName Nombre del flujo de trabajo que ejecutó el desencadenador Request-Response-Workflow
    operation_Name Nombre de la operación que ejecutó el desencadenador. En este caso, este nombre es el mismo que el nombre del flujo de trabajo. Request-Response-Workflow
    operation_Id Identificador del componente o flujo de trabajo que se acaba de ejecutar. Este identificador es el mismo que el valor runId de la instancia de ejecución de flujo de trabajo. Si existen excepciones o dependencias, este valor supera las tablas para que pueda vincular este registro de desencadenador a esas excepciones o dependencias. 08585358375819913417237801890CU00
    operation_ParentId Identificador vinculable para el flujo de trabajo que llamó al desencadenador f95138daff8ab129

    En el ejemplo siguiente se muestran los detalles expandidos de la acción Redactar :

    Captura de pantalla que muestra Application Insights, la pestaña Resultados de la acción Redactar y detalles.

    Propiedad Descripción Ejemplo
    Categoría Categoría de la operación, que siempre es Workflow.Operations.Triggers o Workflow.Operations.Actions, en función de la operación Workflow.Operations.Actions
    clientTrackingId Identificador de seguimiento personalizado, si se especifica 123456
    nombre_de_la_acción Nombre de acción Compose
    runId Identificador de la instancia de ejecución de flujo de trabajo 08585358375819913417237801890CU00
    workflowId Identificador del flujo de trabajo que ejecutó la acción c7711d107e6647179c2e15fe2c2720ce
    workflowName Nombre del flujo de trabajo que ejecutó la acción Request-Response-Workflow
    solutionName Nombre de propiedad con seguimiento, si se especifica LA-AppInsights
    operation_Name Nombre de la operación que ejecutó la acción. En este caso, este nombre es el mismo que el nombre del flujo de trabajo. Request-Response-Workflow
    operation_Id Identificador del componente o flujo de trabajo que se acaba de ejecutar. Este identificador es el mismo que el valor runId de la instancia de ejecución de flujo de trabajo. Si existen excepciones o dependencias, este valor supera las tablas para que pueda vincular este registro de acción a esas excepciones o dependencias. 08585358375819913417237801890CU00
    operation_ParentId Identificador vinculable para el flujo de trabajo que llamó a la acción f95138daff8ab129

Consulta solo para eventos de desencadenador o acción

Puede crear una consulta en la tabla Solicitudes para ver un subconjunto de eventos de operación, en función de la categoría de operación y el nombre del flujo de trabajo.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Para ver todos los eventos de desencadenador en un flujo de trabajo específico, cree y ejecute una consulta con el valor de propiedad customDimensions.Category establecido en Workflow.Operations.Triggers y operation_Name establecido en el nombre del flujo de trabajo, por ejemplo:

    requests
    | where customDimensions.Category == "Workflow.Operations.Triggers" and operation_Name == "Request-Response-Workflow"
    

    Captura de pantalla que muestra la consulta de tabla Solicitudes solo para desencadenadores.

  3. Para ver todos los eventos de acción en un flujo de trabajo específico, cree una consulta con el valor de propiedad customDimensions.Category establecido en Workflow.Operations.Actions y operation_Name establecido en el nombre del flujo de trabajo, por ejemplo:

    requests
    | where customDimensions.Category == "Workflow.Operations.Actions" and operation_Name == "Request-Response-Workflow"
    

    Captura de pantalla que muestra la consulta de tabla Solicitudes solo para acciones.

Consulta de eventos de desencadenamiento o acción por tipo de operación

Puede crear una consulta en la tabla Solicitudes para ver los eventos de un tipo de desencadenador o acción específico.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Para ver todos los eventos de operación con un tipo de desencadenador específico, cree y ejecute una consulta con el valor customDimensions.triggerType establecido en el tipo de desencadenador que desee, por ejemplo:

    requests
    | where customDimensions.triggerType == "Request"
    

    Captura de pantalla que muestra la consulta de tabla Solicitudes para el tipo de Desencadenador de solicitud.

  3. Para ver todos los eventos de operación con un tipo de acción específico, cree y ejecute una consulta con el valor customDimensions.actionType establecido en el tipo de acción que desee, por ejemplo:

    requests
    | where customDimensions.actionType == "Compose"
    

    Captura de pantalla que muestra la consulta de tabla Solicitudes para el tipo de acción Redactar.

Consulta de eventos de desencadenamiento y acción por identificador de ejecución de flujo de trabajo

Puede crear una consulta en la tabla Solicitudes para ver un subconjunto de eventos de operación, en función del identificador de ejecución del flujo de trabajo. Este identificador de ejecución de flujo de trabajo es el mismo que puede encontrar en el historial de ejecución del flujo de trabajo.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Para ver todos los eventos de operación con un identificador de ejecución de flujo de trabajo específico, cree y ejecute una consulta con el valor operation_Id establecido en el identificador de ejecución del flujo de trabajo, por ejemplo:

    requests
    | where operation_Id == "08585287554177334956853859655CU00"
    

    Captura de pantalla que muestra la consulta de tabla Solicitudes basada en el identificador de ejecución del flujo de trabajo.

Consulta de eventos de desencadenamiento y acción por identificador de seguimiento de cliente

Puede crear una consulta en la tabla Solicitudes para ver un subconjunto de eventos de operación, en función del nombre del flujo de trabajo y el identificador de seguimiento de cliente.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Para ver todos los eventos de operación con un identificador de seguimiento de cliente específico en un flujo de trabajo específico, cree y ejecute una consulta con el valor operation_Name establecido en el nombre del flujo de trabajo y el valor de la propiedad clientTrackingId establecido en el valor que desee, por ejemplo:

    requests
    | where operation_Name == "Request-Response-Workflow"
    | extend correlation = todynamic(tostring(customDimensions.correlation))
    | where correlation.clientTrackingId == "123456"
    

    Captura de pantalla que muestra los resultados de la consulta mediante el nombre de la operación y el identificador de seguimiento de cliente.

Consulta de eventos de desencadenamiento y acción por nombre de solución

Puede crear una consulta en la tabla Solicitudes para ver un subconjunto de eventos de operación, en función del nombre del flujo de trabajo y el nombre de la solución.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Para ver todos los eventos de operación con un identificador de seguimiento de cliente específico en un flujo de trabajo específico, cree y ejecute una consulta con el valor operation_Name establecido en el nombre del flujo de trabajo y el valor de la propiedad solutionName establecido en el valor que desee, por ejemplo:

    requests
    | where operation_Name == "Request-Response-Workflow" and customDimensions has "trackedProperties"
    | extend trackedProperties = todynamic(tostring(customDimensions.trackedProperties))
    | where trackedProperties.solutionName == "LA-AppInsights"
    

    Captura de pantalla que muestra los resultados de la consulta mediante el nombre de la operación y el nombre de la solución.

Número de reintentos

Para mostrar cómo estos datos entran en la tabla Solicitudes, el siguiente flujo de trabajo estándar de ejemplo usa una acción HTTP que llama a una dirección URL, que no se resuelve. El flujo de trabajo también tiene una directiva de reintento que se establece en un intervalo fijo que hace tres reintentos, uno cada 60 segundos.

Captura de pantalla que muestra Azure Portal, flujo de trabajo estándar, la acción de HTTP seleccionada, la pestaña Configuración y la directiva de reintentos.

Consulta de eventos de desencadenamiento y acción para los reintentos

Puede crear una consulta en la tabla Solicitudes para ver un subconjunto de eventos de operación con reintentos.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Para ver solo los eventos de desencadenamiento y acción con el historial de reintentos, cree y ejecute la siguiente consulta en Application Insights:

    requests
    | extend retryHistory = tostring(tostring(customDimensions.retryHistory))
    | where isnotempty(retryHistory)
    
  3. Para ver los reintentos de una operación específica con una directiva de reintento, expanda la fila de esa operación.

    En el ejemplo siguiente se muestran los detalles expandidos de la acción HTTP :

    Captura de pantalla que muestra Application Insights, la pestaña Resultados de la acción HTTP y detalles.

    Los valores de propiedad success y resultCode indican que se produjo un error en la acción HTTP. Junto con las propiedades descritas en Consulta de la tabla Solicitudes para todos los eventos de desencadenamiento y acción, el registro contiene la siguiente información, que incluye tres reintentos:

    Propiedad Descripción Ejemplo
    retryHistory Detalles del historial de uno o varios reintentos
    code Tipo de error para un intento de reintento específico
    error Detalles sobre el error específico que se produjo

Consulta de eventos de desencadenamiento y acción para el uso del conector

Puede crear una consulta en la tabla Solicitudes para ver un subconjunto de eventos de operación, en función del uso del conector específico.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Para ver todos los eventos de desencadenador mediante un tipo de conector específico, cree y ejecute una consulta con las siguientes propiedades y valores:

    requests
    | where customDimensions.Category == "Workflow.Operations.Triggers" and customDimensions.triggerType =="ApiConnectionWebhook" and customDimensions.apiName =="commondataservice"
    
    Propiedad Valor de ejemplo
    customDimensions.Category Workflow.Operations.Triggers
    customDimensions.triggerType El tipo de operación, por ejemplo, ApiConnectionWebhook
    customDimensions.apiName El nombre de la API del conector en formato JSON, por ejemplo, commondataservice para el conector de Microsoft Dataverse

    Captura de pantalla que muestra Application Insights, la pestaña Resultados para los eventos de desencadenador de Microsoft Dataverse con la conexión ApiConnectionWebhook.

  3. Para ver todos los eventos de acción con un uso específico del conector, cree y ejecute una consulta con el valor customDimensions.Category establecido en Workflow.Operations.Actions, el valor customDimensions.triggerType establecido en el tipo de operación y customDimensions.apiName establecido en el nombre de API del conector en formato JSON, por ejemplo:

    Propiedad Valor de ejemplo
    customDimensions.Category Workflow.Operations.Actions
    customDimensions.triggerType El tipo de operación, por ejemplo, ApiConnection
    customDimensions.apiName El nombre de la API del conector en formato JSON, por ejemplo, office365 para el conector de Microsoft Office 365 Outlook
    requests
    | where customDimensions.Category == "Workflow.Operations.Actions" and customDimensions.actionType == "ApiConnection" and customDimensions.apiName == "office365"
    

    Captura de pantalla que muestra Application Insights, la pestaña Resultados para los eventos de acción de Microsoft Office 365 Outlook con la conexión ApiConnection.

En el caso de los desencadenadores y las acciones, Application Insights diferencia entre los tipos de conexiones que existen. Es posible que vea valores diferentes en los campos actionType y triggerType en función de si la conexión tiene ApiConnection, ApiConnectionWebhook, el tipo básico integrado como Request o el tipo ServiceProvider basado en el proveedor de servicios integrado.

Tabla de seguimientos

La tabla Seguimientos contiene campos que realizan un seguimiento de los datos sobre los siguientes eventos en ejecuciones de flujo de trabajo estándar:

La lista siguiente tiene consultas de ejemplo que puede crear y ejecutar en la tabla Seguimientos:

Tarea Pasos
Visualización de eventos de inicio y finalización en todas las ejecuciones de flujo de trabajo Consulta de eventos de inicio y finalización en todas las ejecuciones de flujo de trabajo
Visualización de eventos de inicio y finalización en una ejecución de flujo de trabajo específica Consulta de eventos de inicio y finalización en una ejecución de flujo de trabajo
Visualización de eventos de envío y recepción por lotes en todas las ejecuciones de flujo de trabajo Consulta de eventos de envío y recepción por lotes en todas las ejecuciones de flujo de trabajo

Consulta de eventos de inicio y finalización en todas las ejecuciones de flujo de trabajo

Puede crear una consulta en la tabla Seguimientos para ver todos los eventos de inicio y finalización de todas las ejecuciones de flujo de trabajo.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Cree y ejecute una consulta con el valor customDimensions.Category establecido en Workflow.Operations.Runs, por ejemplo:

    traces
    | where customDimensions.Category == "Workflow.Operations.Runs"
    

    Captura de pantalla que muestra Application Insights, la pestaña Resultados para inicio y eventos en todas las ejecuciones de flujo de trabajo.

Consulta de eventos de inicio y finalización en una ejecución de flujo de trabajo específica

Puede crear una consulta en la tabla Seguimientos para ver los eventos de inicio y finalización de una ejecución de flujo de trabajo específica.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Cree y ejecute una consulta con el valor customDimensions.Category establecido en Workflow.Operations.Runs y el valor operation_Id establecido en el identificador de ejecución del flujo de trabajo, por ejemplo:

    traces
    | where customDimensions.Category == "Workflow.Operations.Runs"
    | and operation_Id == "08585287571846573488078100997CU00"
    

    Captura de pantalla que muestra Application Insights, la pestaña Resultados para inicio y eventos para una ejecución específica.

Consulta de eventos de envío y recepción por lotes en todas las ejecuciones de flujo de trabajo

Puede crear una consulta en la tabla Seguimientos para ver los eventos de envío y recepción por lotes en todas las ejecuciones de flujo de trabajo.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Cree y ejecute una consulta con el valor customDimensions.Category establecido en Workflow.Operations.Runs y el valor operation_Id establecido en el identificador de ejecución del flujo de trabajo, por ejemplo:

    traces
    | where customDimensions.Category == "Workflow.Operations.Batch"
    

    Captura de pantalla que muestra Application Insights, la pestaña Resultados para eventos de envío por lotes y recepción por lotes en todas las ejecuciones de flujo de trabajo.

Tabla de excepciones

La tabla Excepciones contiene campos que realizan un seguimiento de los datos sobre eventos de excepción en ejecuciones de flujo de trabajo estándar. Para mostrar cómo los datos entran en estos campos, supongamos que tiene el siguiente flujo de trabajo estándar de ejemplo que comienza con el desencadenador Solicitud seguido de la acción Redactar y la acción Respuesta. La acción Redactar usa una expresión que divide un valor por cero, lo que genera una excepción:

Recorte de pantalla en el que se muestran Azure Portal, el diseñador de flujo de trabajo Estándar, el desencadenador de solicitud, la acción Redactar con una expresión generada por excepciones y la acción Respuesta.

Consulta de eventos de excepción en todas las ejecuciones de flujo de trabajo

Puede crear una consulta en la tabla Excepciones para ver los eventos de excepción en todas las ejecuciones de flujo de trabajo.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Para ver todos los eventos de excepción, cree y ejecute la consulta siguiente en Application Insights:

    exceptions
    | sort by timestamp desc
    
  3. Para ver los detalles de una excepción específica, expanda la fila para esa excepción:

    En el ejemplo siguiente se muestra la excepción expandida para la acción Redactar y detalles sobre la excepción:

    Captura de pantalla que muestra Application Insights, la pestaña Resultados para eventos de excepción con el evento de excepción para la acción Redactar expandida y detalles de la excepción.

    Propiedad Descripción
    problemId Tipo de excepción o una breve descripción sobre la excepción que se produjo
    outerMessage Descripción más detallada sobre la excepción
    details Información detallada y más completa sobre la excepción
    clientTrackingId Identificador de seguimiento de cliente, si se especifica
    workflowId Identificador del flujo de trabajo que experimentó la excepción
    workflowName Nombre del flujo de trabajo que experimentó la excepción
    runId Identificador de la instancia de ejecución de flujo de trabajo
    nombre_de_la_acción Nombre de la acción que produjo un error con la excepción
    operation_Name Nombre del flujo de trabajo que experimentó la excepción
    operation_Id Identificador del componente o flujo de trabajo que se acaba de ejecutar. Este identificador es el mismo que el valor runId de la instancia de ejecución de flujo de trabajo. Este valor supera las tablas para que pueda vincular este registro de excepción con la instancia de ejecución del flujo de trabajo.
    operation_ParentId Identificador del flujo de trabajo que llamó a la acción, que puede vincular al identificador de la acción en la tabla Solicitudes.
  4. Para ver las excepciones de un flujo de trabajo específico, cree y ejecute la consulta siguiente:

    exceptions
    | where operation_Name contains "Request-Response-Workflow-Exception"
    

Tabla de dependencias

La tabla Dependencias contiene campos que realizan un seguimiento de los datos sobre eventos de dependencia en ejecuciones de flujo de trabajo estándar. Estos eventos se emiten cuando un recurso llama a otro recurso y cuando ambos usan Application Insights. Algunos ejemplos de Azure Logic Apps incluyen un servicio que llama a otro servicio a través de HTTP, una base de datos o un sistema de archivos. Application Insights mide la duración de las llamadas de dependencia y si esas llamadas se realizan correctamente o no, junto con información, como el nombre de dependencia. Puede investigar llamadas de dependencia específicas y relacionarlas a solicitudes y excepciones.

Para mostrar cómo los datos entran en estos campos, supongamos que tiene el siguiente ejemplo flujo de trabajo primario estándar que llama a un flujo de trabajo secundario a través de HTTP mediante la acción HTTP:

Captura de pantalla que muestra Azure Portal, el diseñador de flujo de trabajo estándar con flujo de trabajo primario mediante la acción HTTP para llamar a un flujo de trabajo secundario.

Consulta de eventos de dependencia en un flujo de trabajo específico

Puede crear una consulta en la tabla Dependencias para ver los eventos de dependencia en una ejecución de flujo de trabajo específica.

  1. Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.

  2. Para ver los eventos de dependencia entre el flujo de trabajo primario y el flujo de trabajo secundario, cree y ejecute la consulta siguiente:

    union requests, dependencies
    | where operation_Id contains "<runId>"
    

    Esta consulta usa el operador union para devolver registros de la tabla Solicitudes y la tabla Dependencias. La consulta también usa el valor de propiedad operation_Id para proporcionar el vínculo entre registros especificando el valor runId de flujo de trabajo que desee, por ejemplo:

    union requests, dependencies
    | where operation_Id contains "08585355753671110236506928546CU00"
    

    En el ejemplo siguiente se muestra un evento de dependencia para el flujo de trabajo especificado, incluidos los registros de los eventos de operación en el flujo de trabajo primario de la tabla Solicitudes y, a continuación, un registro de dependencia de la tabla Dependencias:

    Captura de pantalla que muestra Application Insights, la pestaña Resultados con eventos de dependencia para un flujo de trabajo específico.

    Para los registros de eventos de la operación, la columna itemType muestra sus tipos de registro como solicitud. Para el registro de dependencias, la columna itemType indica el tipo de registro como dependencia.

    Propiedad Descripción
    runId Identificador de la instancia de ejecución de flujo de trabajo
    nombre_de_la_acción Nombre de la acción donde se produce el evento de dependencia
    operation_Id Identificador del flujo de trabajo especificado. Este identificador es el mismo que el valor runId de la instancia de ejecución de flujo de trabajo. Este valor supera las tablas para que pueda vincular este registro de dependencia con la instancia de ejecución del flujo de trabajo.
    operation_ParentId Identificador de la acción en la que se produce el evento de dependencia, que también vincula el registro de eventos de operación y el registro de eventos de dependencia.

Con la consulta, también puede visualizar la llamada de dependencia de un flujo de trabajo primario a un flujo de trabajo secundario al usar el mapa de aplicación en Application Insights. El valor operation_Id de la consulta proporciona el vínculo que hace posible esta visualización.

Para abrir el mapa de la aplicación, en el menú de recursos de Application Insights, en Investigar, seleccioneMapa de aplicación.

Captura de pantalla que muestra Application Insights y mapa de aplicaciones con dependencia entre el flujo de trabajo primario y el flujo de trabajo secundario.

Filtrado de eventos

En Application Insights, puede filtrar eventos de las maneras siguientes:

  • Cree y ejecute consultas como se describe en las secciones anteriores.

  • Filtre en el origen especificando criterios para evaluar antes de emitir eventos.

    Al aplicar filtros en el origen, puede reducir la cantidad de almacenamiento necesario y, como resultado, los costos operativos.

Aplicación del filtrado en el origen

En la tabla Solicitudes o Seguimientos, un registro tiene un nodo denominado customDimensions, que contiene una propiedad Category. Por ejemplo, en la tabla Solicitudes, el registro de solicitud de un evento de desencadenador de lotes es similar al ejemplo siguiente:

Captura de pantalla que muestra Application Insights con la tabla Solicitudes y el registro de un evento de desencadenador de mensajes por lotes.

En la tabla Solicitudes, los siguientes valores de la propiedad Category pueden ayudarle a diferenciar y asociar diferentes niveles de detalle:

Valor de Category Descripción
Workflow.Operations.Triggers Identifica un registro de solicitud para un evento de desencadenador.
Workflow.Operations.Actions Identifica un registro de solicitud para un evento de acción.

Para cada valor de Category, puede establecer de forma independiente el nivel de detalle en el archivo host.json para el recurso o proyecto de la aplicación lógica. Por ejemplo, para devolver solo los registros de los eventos de desencadenador o acción que tienen errores, en el archivo host.json, puede agregar el siguiente objeto JSON de registro, que contiene un objeto JSON logLevel con los niveles de detalle que desee:

{
   "logging": {
      "logLevel": {
         "Workflow.Operations.Actions": "Error",
         "Workflow.Operations.Triggers": "Error"
      }
   }
}

En el caso de los registros de la tabla Seguimientos, los ejemplos siguientes muestran maneras de cambiar el nivel de detalle de los eventos:

{
   "logging": {
      "logLevel": {
         "Workflow.Host": "Warning",
         "Workflow.Jobs": "Warning",
         "Workflow.Runtime": "Warning"
      }
   }
}

En el ejemplo siguiente se establece el nivel de detalle predeterminado del registro en Advertencia, pero se mantiene el nivel de detalle en Información para eventos de ejecución de desencadenador, acción y flujo de trabajo:

{
   "logging": {
      "logLevel": {
         "default": "Warning",
         "Workflow.Operations.Actions": "Information",
         "Workflow.Operations.Runs": "Information",
         "Workflow.Operations.Triggers": "Information"
      }
   }
}

Si no especifica ningún valor logLevel, el nivel de detalle predeterminado es Información. Para más información, consulte Configuración de los niveles de registro.

Eliminación de errores de dependencia de almacenamiento

Para filtrar los errores de dependencia de almacenamiento, como Errores no encontrados 404 y Errores con error de condición previa 412, establezca el nivel de registroHost.Workflow en Ninguno, por ejemplo:

{
   "logging": {
      "logLevel": {
         "Workflow.Host": "Warning",
         "Workflow.Jobs": "Warning",
         "Workflow.Runtime": "Warning",
         "Host.Workflow": "None"
      }
   }
}
  1. En Azure Portal, abra el recurso Aplicación lógica estándar.

  2. En el menú de la aplicación lógica, en Herramientas de desarrollo, seleccione Herramientas avanzadas. En la página Herramientas avanzadas, seleccione Ir, que abre las herramientas de Kudu.

  3. En la página Kudu, en el menú Consola de depuración, seleccione CMD. En la tabla de directorios de carpetas, vaya el siguiente archivo y seleccione Editar: sitio/wwwroot/host.json

  4. En el archivo host.json, agregue el objeto JSON de registro con los valores logLevel establecidos en los niveles de detalle que desee:

    {
       "logging": {
          "logLevel": {
             "Workflow.Operations.Actions": "<verbosity-level>",
             "Workflow.Operations.Triggers": "<verbosity-level>"
          }
       }
    }
    

Visualización de métricas de flujo de trabajo en Application Insights

Con las mejoras de telemetría en Application Insights, también obtendrá información de flujo de trabajo en el panel Métricas.

Apertura del panel Métricas y configuración de filtros básicos

  1. Abra el recurso de Application Insights en Azure Portal, si no está abierto todavía.

  2. En el menú de recursos de Application Insights, en Supervisión, seleccione Métricas.

  3. En la lista Ámbito, seleccione la instancia de Application Insights.

  4. En la lista Espacio de nombres de métrica, seleccione workflow.operations.

  5. En la lista Métrica, seleccione una métrica, por ejemplo, Ejecuciones completadas.

  6. En la lista Agregación, seleccione un tipo, por ejemplo, Recuento o Promedio.

    Cuando haya terminado, el panel Métricas muestra un gráfico con las ejecuciones de flujo de trabajo finalizadas.

    Captura de pantalla que muestra Application Insights con el panel de métricas y un gráfico que muestra el número de ejecuciones de flujo de trabajo finalizadas a lo largo del tiempo.

Filtrado por un flujo de trabajo específico

Al habilitar métricas multidimensionales en el panel Métricas, puede tener como destino un subconjunto de los eventos generales capturados en Application Insights y filtrar eventos en función de un flujo de trabajo específico.

  1. En el recurso de Application Insights, habilite las métricas multidimensionales.

  2. En Application Insights, abra el panel Métricas.

  3. En la barra de herramientas de gráficos, seleccione Agregar filtro.

  4. En la lista Propiedad, seleccione Flujo de trabajo.

  5. En la lista Operador, seleccione el signo igual (=).

  6. En la lista Valores, seleccione los flujos de trabajo que desee.

    Captura de pantalla que muestra Application Insights con el panel de métricas y el gráfico con métricas multidimensionales.

Visualización de métricas y datos de registro "dinámicos"

Con la telemetría mejorada de Application Insights habilitada, puede ver datos de registro casi en tiempo real y otras métricas de la instancia de Application Insights en Azure Portal. Puede usar esta visualización para trazar las solicitudes entrantes, las solicitudes salientes y el estado general. También se obtiene una tabla para los diagnósticos de nivel de seguimiento.

  1. Abra el recurso de Application Insights en Azure Portal, si no está abierto todavía.

  2. En el menú de recursos de Application Insights, en Investigar, seleccione Métricas activas.

    En la página Métricas activas se muestran los datos de registro y otras métricas, por ejemplo:

    Captura de pantalla que muestra el menú de Azure Portal y Application Insights con el elemento seleccionado denominado Métricas activas.

Para obtener más información, consulte Live Metrics: supervisión y diagnóstico con 1 segundo de latencia.

Nota:

Como los flujos de trabajo de aplicaciones lógicas estándar se basan en Azure Functions, las métricas activas admiten estos flujos de trabajo de aplicación lógica.

Transmisión y visualización de la salida de depuración de archivos de registro de aplicaciones

Con la telemetría mejorada de Application Insights habilitada, puede transmitir información detallada de depuración en Azure Portal para los archivos de registro de la aplicación. Esta información es equivalente a la salida generada a partir de la depuración del flujo de trabajo en el entorno local de Visual Studio Code.

  1. En Azure Portal, abra el recurso Aplicación lógica estándar.

  2. En el menú del recurso de la aplicación lógica, en Supervisión, seleccione Flujo de registro.

    La página Flujo de registro se conecta a la instancia de Application Insights y muestra la salida de depuración. Por ejemplo, la salida siguiente incluye llamadas de solicitud y respuesta entre otras informaciones:

    Captura de pantalla que muestra el menú de Azure Portal y el menú de la aplicación lógica estándar con el elemento seleccionado denominado Transmisión de registro.

Pasos siguientes

Habilitación o apertura de Application Insights