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

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

Antes de empezar, necesita un área de trabajo de Log Analytics. Si no tiene una, aprenda a crear un área de trabajo de Log Analytics.

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 donde se proporciona la información para crear la aplicación lógica, siga estos pasos:

    1. En Log Analytics, seleccione Activado.

    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.

      Especificación de información de la aplicación lógica

      Después de realizar este paso, Azure crea la aplicación lógica, que ahora está asociada al área de trabajo de Log Analytics. Además, este paso instala automáticamente la solución Logic Apps Management en el área de trabajo.

  2. Seleccione Crear cuando haya terminado.

  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 log analytics workspaces y, luego, seleccione Áreas de trabajo de Log Analytics.

    Selección de "Áreas de trabajo de Log Analytics"

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

    Selección del área de trabajo de Log Analytics

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

    Selección de "Ver soluciones" en el panel de información general

  4. En Información general, seleccione Agregar.

    Incorporación de una solución nueva en el panel de información general

  5. Después de que se abre Marketplace, en el cuadro de búsqueda, escriba logic apps management y seleccione Logic Apps Management.

    Selección de "Logic Apps Management" en Marketplace

  6. En el panel de descripción de la solución, seleccione Crear.

    Selección de "Crear" para agregar la solución "Logic Apps Management"

  7. Revise y confirme el área de trabajo de Log Analytics donde quiere instalar la solución y vuelva a seleccionar Crear.

    Selección de "Crear" para "Logic Apps Management"

    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.

    Panel de resumen del área de trabajo

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.

    En "Supervisión", seleccionar "Configuración de diagnóstico" > "Agregar configuración de diagnóstico"

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

    1. Proporcione un nombre para la configuración.

    2. 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 el área de trabajo que quiere usar.

    5. En log, seleccione la categoría WorkflowRuntime, que especifica la categoría de eventos que quiere registrar.

    6. Para seleccionar todas las métricas, en metric, seleccione AllMetrics.

    7. Cuando finalice, seleccione Guardar.

    Por ejemplo:

    Selección del área de trabajo de Log Analytics y los datos para el registro

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, seleccione Resumen del área de trabajo > Logic Apps Management.

    Estado y recuento de ejecuciones de aplicación lógica

    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.

    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.

    Resumen de estado de las ejecuciones de aplicación lógica

  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:

    Vista de las ejecuciones y el estado de la aplicación lógica

    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.

    Ver propiedades controladas de una aplicación lógica

  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:

      Ejemplo de filtros de columna

    • 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.

      Cambio de la ventana de tiempo

  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:

    Ver acciones de una ejecución de aplicación lógica

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.

Envío de los datos a una cuenta de Azure Storage o a un centro de eventos

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