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
En Azure Portal, abra el recurso Aplicación lógica estándar.
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.
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
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.
En Azure Portal, en el menú de la aplicación lógica, en Configuración, seleccione Application Insights.
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.
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:
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.
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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:
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. 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:
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 :
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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"
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"
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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"
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"
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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"
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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"
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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"
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.
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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)
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 :
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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 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"
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:
Eventos de inicio y fin del flujo de trabajo
Esta información se representa como dos eventos distintos debido a la posibilidad de ejecuciones de flujo de trabajo de larga duración.
Envío y recepción de eventos por lotes
Para más información, consulte Uso de operaciones por lotes integradas en Azure Logic Apps (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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
Cree y ejecute una consulta con el valor customDimensions.Category establecido en Workflow.Operations.Runs, por ejemplo:
traces | where customDimensions.Category == "Workflow.Operations.Runs"
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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"
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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"
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:
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
Para ver todos los eventos de excepción, cree y ejecute la consulta siguiente en Application Insights:
exceptions | sort by timestamp desc
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:
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. 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:
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.
Si es necesario, seleccione el intervalo de tiempo que desea revisar. De forma predeterminada, este valor es las últimas 24 horas.
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:
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.
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:
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"
}
}
}
En Azure Portal, abra el recurso Aplicación lógica estándar.
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.
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
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
Abra el recurso de Application Insights en Azure Portal, si no está abierto todavía.
En el menú de recursos de Application Insights, en Supervisión, seleccione Métricas.
En la lista Ámbito, seleccione la instancia de Application Insights.
En la lista Espacio de nombres de métrica, seleccione workflow.operations.
En la lista Métrica, seleccione una métrica, por ejemplo, Ejecuciones completadas.
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.
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.
En el recurso de Application Insights, habilite las métricas multidimensionales.
En Application Insights, abra el panel Métricas.
En la barra de herramientas de gráficos, seleccione Agregar filtro.
En la lista Propiedad, seleccione Flujo de trabajo.
En la lista Operador, seleccione el signo igual (=).
En la lista Valores, seleccione los flujos de trabajo que desee.
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.
Abra el recurso de Application Insights en Azure Portal, si no está abierto todavía.
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:
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.
En Azure Portal, abra el recurso Aplicación lógica estándar.
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: