Configuración de registros de Azure Monitor y recopilación de datos de diagnóstico para Azure Logic Apps

Nota:

Este artículo solo se aplica a las aplicaciones lógicas de consumo. Para obtener información sobre la supervisión de aplicaciones lógicas Estándar, consulte Habilitar o abrir Application Insights después de la implementación para aplicaciones lógicas Estándar.

Si necesita información de depuración más completa sobre las aplicaciones lógicas durante el tiempo de ejecución, puede configurar y usar registros de Azure Monitor para registrar y almacenar información sobre los eventos y datos en tiempo de ejecución, como eventos de desencadenador, eventos de ejecución y eventos de acción en un área de trabajo de Log Analytics. Azure Monitor le ayuda a supervisar los entornos locales y en la nube para que pueda mantener más fácilmente su disponibilidad y rendimiento. Mediante los registros de Azure Monitor, puede crear consultas de registro que le ayuden a recopilar y revisar esta información. También puede usar estos datos de diagnóstico con otros servicios de Azure, como Azure Storage y Azure Event Hubs.

Para configurar el registro de la aplicación lógica, puede habilitar Log Analytics al crear la aplicación lógica, o bien instalar la solución de administración de Logic Apps en el área de trabajo de Log Analytics para las aplicaciones lógicas existentes. Esta solución proporciona información agregada para las ejecuciones de aplicaciones lógicas e incluye detalles específicos, como el estado, el tiempo de ejecución, el estado de reenvío y los identificadores de correlación. Luego, para habilitar el registro y la creación de consultas con esta información, configure los registros de Azure Monitor.

En este artículo se muestra cómo habilitar en aplicaciones lógicas nuevas y existentes, cómo instalar y configurar la solución de administración de Logic Apps y cómo configurar y crear consultas para los registros de Azure Monitor.

Prerrequisitos

Habilitación de Log Analytics para nuevas aplicaciones lógicas

Puede activar Log Analytics al crear la aplicación lógica.

  1. En Azure Portal, en el panel Crear aplicación lógica donde se proporciona la información para crear la aplicación lógica basada en el plan de Consumo, siga estos pasos:

    1. En Habilitar Log Analytics, seleccione .

    2. En la lista Área de trabajo de Log Analytics, seleccione el área de trabajo donde quiera enviar los datos de las ejecuciones de aplicación lógica.

      Provide logic app information

  2. Termine de crear la aplicación lógica. Cuando haya terminado, la aplicación lógica se asociará al área de trabajo de Log Analytics. Este paso también instala automáticamente la solución Logic Apps Management en el área de trabajo.

  3. Después de ejecutar la aplicación lógica, siga estos pasos para ver las ejecuciones de la aplicación lógica.

Instalación de la solución Logic Apps Management

Si ya activó Log Analytics cuando creó su aplicación lógica, omita este paso. Ya tiene la solución de administración de Logic Apps instalada en el área de trabajo de Log Analytics.

  1. En el cuadro de búsqueda de Azure Portal, escriba áreas de trabajo de Log Analytics. Seleccione Áreas de trabajo de Log Analytics.

    Select

  2. En Áreas de trabajo de Log Analytics, seleccione su área de trabajo.

    Select your Log Analytics workspace

  3. En el panel Información general, en Introducción a Log Analytics>Configurar soluciones de supervisión, elija Ver soluciones.

    On overview pane, select

  4. En Información general, seleccione Agregar.

    On overview pane, add new solution

  5. Después de que se abra Marketplace, en el cuadro de búsqueda, escriba Logic Apps Management. Seleccione Logic Apps Management.

    From Marketplace, select

  6. En el icono de Logic Apps Management, en la lista Crear, seleccione Logic Apps Management.

    Select

  7. En el Create Logic Apps Management (Preview) Solution (Crear solución de Logic Apps Management (versión preliminar), seleccione el área de trabajo de Log Analytics donde desea instalar la solución. Seleccione Revisar y crear, revise la información y seleccione Crear.

    Select

    Una vez que Azure implemente la solución en el grupo de recursos de Azure que contiene el área de trabajo de Log Analytics, la solución aparecerá en el panel de resumen del área de trabajo en Información general.

    Screenshot showing workspace summary pane with Logic Apps Management solution.

Configuración de los registros de Azure Monitor

Al almacenar información sobre eventos y datos en tiempo de ejecución en los registros de Azure Monitor, puede crear consultas de registro que le ayuden a buscar y revisar esta información.

Nota

Después de habilitar la configuración de diagnóstico, es posible que los datos de diagnóstico no fluyan durante un periodo de hasta 30 minutos en el destino especificado, como Log Analytics, el centro de eventos o la cuenta de almacenamiento. Este retraso significa que es posible que los datos de diagnóstico de este período de tiempo no estén disponibles para que los pueda revisar. Los eventos completados y las propiedades de las que se ha realizado un seguimiento podrían no aparecer en el área de trabajo de Log Analytics durante 10-15 minutos.

  1. En Azure Portal, busque y seleccione la aplicación lógica.

  2. En el menú de la aplicación lógica, en Supervisión, seleccione Configuración de diagnóstico>Agregar configuración de diagnóstico.

    Under

  3. Para crear la configuración, siga estos pasos:

    1. En Nombre de configuración de diagnóstico, proporcione un nombre para la configuración.

    2. En Detalles del destino, seleccione Enviar a Log Analytics.

    3. En Suscripción, seleccione la suscripción de Azure que está asociada al área de trabajo de Log Analytics.

    4. En Área de trabajo de Log Analytics, seleccione su área de trabajo.

    5. En Registros>Categorías, seleccione WorkflowRuntime, que especifica la categoría de eventos que quiere registrar.

    6. En Métricas, seleccione AllMetrics.

    7. Cuando finalice, seleccione Guardar.

    Cuando haya terminado, la versión debería tener una apariencia similar a la del siguiente ejemplo:

    Select Log Analytics workspace and data for logging

Visualización del estado de las ejecuciones de aplicación lógica

Una vez ejecutada la aplicación lógica, puede ver los datos sobre esas ejecuciones en el área de trabajo de Log Analytics.

  1. En Azure Portal, busque y abra el área de trabajo de Log Analytics.

  2. En el menú del área de trabajo, en General, seleccione Resumen del área de trabajo>Logic Apps Management.

    Nota

    Si el icono de Logic Apps Management no muestra los resultados inmediatamente después de una ejecución, pruebe a seleccionar Actualizar o espere un poco antes de volver a intentarlo.

    Logic app run status and count

    En este caso, las ejecuciones de aplicación lógica se agrupan por nombre y estado de ejecución. En esta página, también se muestran detalles sobre errores en acciones o desencadenadores de las ejecuciones de aplicación lógica.

    Status summary for your logic app runs

  3. Para ver todas las ejecuciones de una aplicación lógica o un estado específicos, seleccione la fila correspondiente a la aplicación lógica o el estado.

    A continuación se muestra un ejemplo con todas las ejecuciones de una aplicación lógica específica:

    View logic app runs and status

    En el caso de las acciones en las que configura propiedades con seguimiento, también puede verlas seleccionando Ver en la columna Propiedades controladas. Para buscar las propiedades controladas, use el filtro de columna.

    View tracked properties for a logic app

  4. Para filtrar los resultados, puede aplicar un filtro en el cliente y en el servidor.

    • Filtro del lado cliente: por cada columna, seleccione los filtros que prefiera, por ejemplo:

      Example column filters

    • Filtro del lado servidor: para seleccionar un intervalo de tiempo específico o limitar el número de ejecuciones que se muestran, use el control de ámbito de la parte superior de la página. De forma predeterminada, solo aparecen 1000 registros a la vez.

      Change the time window

  5. Para ver todas las acciones de una ejecución específica y sus detalles, seleccione la fila de una ejecución de aplicación lógica.

    A continuación, se muestra un ejemplo de todas las acciones y desencadenadores de una ejecución de aplicación lógica específica:

    View actions for a logic app run

Envío de datos de diagnóstico a Azure Storage y Azure Event Hubs

Además de con registros de Azure Monitor, puede usar los datos de diagnóstico de la aplicación lógica con otros servicios de Azure, por ejemplo:

Luego puede obtener supervisión en tiempo real mediante la telemetría y los análisis de otros servicios, como Azure Stream Analytics y Power BI. Por ejemplo:

En función de las ubicaciones en las que quiera enviar datos de diagnóstico, asegúrese primero de crear una cuenta de almacenamiento de Azure o de crear un centro de eventos de Azure. Después, puede seleccionar los destinos a los que quiere enviar los datos. Solo se aplican períodos de retención cuando se usa una cuenta de almacenamiento.

Send data to Azure storage account or event hub

Eventos de diagnóstico de Azure Monitor

Cada evento de diagnóstico incluye detalles sobre la aplicación lógica y ese evento, por ejemplo, el estado, la hora de inicio, la hora de finalización, etc. Para configurar mediante programación la supervisión, el seguimiento y el registro, puede usar esta información con la API REST para Azure Logic Apps y la API REST para Azure Monitor. También puede usar las propiedades clientTrackingId y trackedProperties, que aparecen en

  • clientTrackingId: si no se ha proporcionado, Azure genera de forma automática este identificador y correlaciona eventos en una ejecución de aplicación lógica, incluidos los flujos de trabajo anidados que se llamen desde la aplicación lógica. Puede especificar manualmente este identificador desde un desencadenador si pasa un encabezado x-ms-client-tracking-id con el valor de identificador personalizado en la solicitud de desencadenador. Puede usar un desencadenador de solicitud, un desencadenador HTTP o un desencadenador de webhook.

  • trackedProperties: Para realizar un seguimiento de las entradas o salidas de los datos de diagnóstico, puede agregar una sección trackedProperties a una acción mediante el Diseñador de aplicación lógica o directamente en la definición JSON de la aplicación lógica. Las propiedades controladas solo pueden realizar el seguimiento de entradas y salidas de acciones individuales, aunque puede usar las propiedades correlation de los eventos para crear correlaciones entre las acciones de una ejecución. Para realizar el seguimiento de más de una propiedad, agregue la sección trackedProperties y las propiedades que quiera a la definición de la acción.

    Este es un ejemplo en el que se muestra el modo en que la definición de acción de la variable de inicialización incluye propiedades controladas de la entrada de la acción donde la entrada es una matriz, no un registro.

    {
       "Initialize_variable": {
          "type": "InitializeVariable",
          "inputs": {
             "variables": [
                {
                   "name": "ConnectorName", 
                   "type": "String", 
                   "value": "SFTP-SSH" 
                }
             ]
          },
          "runAfter": {},
          "trackedProperties": { 
             "myTrackedPropertyName": "@action().inputs.variables[0].value"
          }
       }
    }
    

    En este ejemplo se muestran varias propiedades controladas:

    "HTTP": {
       "type": "Http",
       "inputs": {
          "body": "@triggerBody()",
          "headers": {
             "Content-Type": "application/json"
          },
          "method": "POST",
          "uri": "http://store.fabrikam.com",
       },
       "runAfter": {},
       "trackedProperties": {
          "myActionHTTPStatusCode": "@action()['outputs']['statusCode']",
          "myActionHTTPValue": "@action()['outputs']['body']['<content>']",
          "transactionId": "@action()['inputs']['body']['<content>']"
       }
    }
    

En este ejemplo se muestra cómo el evento ActionCompleted incluye los atributos clientTrackingId y trackedProperties:

{
   "time": "2016-07-09T17:09:54.4773148Z",
   "workflowId": "/subscriptions/XXXXXXXXXXXXXXX/resourceGroups/MyResourceGroup/providers/Microsoft.Logic/workflows/MyLogicApp",
   "resourceId": "/subscriptions/<subscription-ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Logic/workflows/MyLogicApp/runs/<run-ID>/actions/Http",
   "category": "WorkflowRuntime",
   "level": "Information",
   "operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
   "properties": {
      "$schema": "2016-06-01",
      "startTime": "2016-07-09T17:09:53.4336305Z",
      "endTime": "2016-07-09T17:09:53.5430281Z",
      "status": "Succeeded",
      "code": "OK",
      "resource": {
         "subscriptionId": "<subscription-ID>",
         "resourceGroupName": "MyResourceGroup",
         "workflowId": "<logic-app-workflow-ID>",
         "workflowName": "MyLogicApp",
         "runId": "08587361146922712057",
         "location": "westus",
         "actionName": "Http"
      },
      "correlation": {
         "actionTrackingId": "e1931543-906d-4d1d-baed-dee72ddf1047",
         "clientTrackingId": "<my-custom-tracking-ID>"
      },
      "trackedProperties": {
         "myTrackedPropertyName": "<value>"
      }
   }
}

Pasos siguientes