Leer en inglés

Compartir a través de


Supervisión del estado de los flujos de trabajo Estándar en Azure Logic Apps con Comprobación de estado (versión preliminar)

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

Nota

Esta funcionalidad está en versión preliminar y está sujeta a las Condiciones de uso complementarias para las versiones preliminares de Microsoft Azure.

Para ayudar a que los flujos de trabajo de la aplicación lógica Estándar se ejecuten con alta disponibilidad y rendimiento, configure la característica Comprobación de estado en la aplicación lógica para supervisar el estado del flujo de trabajo. Esta característica garantiza que la aplicación permanezca resistente al proporcionar las siguientes ventajas:

  • Supervisión proactiva para que pueda encontrar y solucionar problemas antes de que afecten a sus clientes.

  • Aumento de la disponibilidad mediante la eliminación de instancias incorrectas del equilibrador de carga en Azure.

  • Recuperación automática al reemplazar las instancias incorrectas.

¿Cómo funciona Comprobación de estado en Azure Logic Apps?

Comprobación de estado es una característica de la plataforma de Azure App Service que redirige las solicitudes fuera de las instancias incorrectas y reemplaza esas instancias si permanecen en estado incorrecto. Para una aplicación lógica Estándar, puede especificar una ruta de acceso a un flujo de trabajo de "mantenimiento" que cree para este propósito y para que la plataforma de App Service haga ping a intervalos regulares. Por ejemplo, en el ejemplo siguiente se muestra el flujo de trabajo mínimo básico:

Recorte de pantalla que muestra el flujo de trabajo de aplicación lógica Estándar que se va a usar como flujo de trabajo de mantenimiento.

Después de habilitar la comprobación de estado, la plataforma de App Service hace ping a la ruta de acceso de flujo de trabajo especificada para todas las instancias de aplicación lógica a intervalos de 1 minuto. Si la aplicación lógica requiere el escalado horizontal, Azure crea inmediatamente una nueva instancia. La plataforma de App Service vuelve a hacer ping a la ruta de acceso del flujo de trabajo para asegurarse de que la nueva instancia esté lista.

Si un flujo de trabajo que se ejecuta en una instancia no responde al ping después de 10 solicitudes, la plataforma de App Service determina que la instancia es incorrecta y quita la instancia de esa aplicación lógica específica del equilibrador de carga en Azure. Con un mínimo de dos solicitudes, puede especificar el número necesario de solicitudes con error para determinar que una instancia es incorrecta. Para obtener más información sobre cómo invalidar el comportamiento predeterminado, consulte Configuración: Supervisión de instancias de App Service mediante la comprobación de estado.

Después de que la comprobación de estado quita la instancia incorrecta, la característica continúa haciendo ping a la instancia. Si la instancia responde con un código de estado correcto, comprendido inclusive entre 200 y 299, Comprobación de estado devuelve la instancia al equilibrador de carga. Sin embargo, si la instancia sigue siendo incorrecta durante una hora, Comprobación de estado reemplazará la instancia por una nueva. Para obtener más información, consulte: ¿Qué hace App Service con las comprobaciones de estado?

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.

  • Un recurso de aplicación lógica Estándar con los atributos siguientes:

    • Un plan de App Service que se escala a dos o más instancias.

    • Un flujo de trabajo de "mantenimiento" que ejecuta específicamente la comprobación de estado y los siguientes elementos:

      • Inicia el desencadenador Solicitar denominado Cuando se recibe una solicitud HTTP.

      • Incluye la acción Solicitud denominada Respuesta. Establezca esta acción para devolver un código de estado de forma inclusiva entre 200 y 299.

      También puede hacer que este flujo de trabajo ejecute otras comprobaciones para asegurarse de que los servicios dependientes estén disponibles y funcionen según lo previsto. Como procedimiento recomendado, asegúrese de que la ruta de acceso de comprobación de estado supervise los componentes críticos en el flujo de trabajo. Por ejemplo, si la aplicación depende de una base de datos y un sistema de mensajería, asegúrese de que La comprobación de estado pueda acceder a esos componentes.

Limitaciones

  • La longitud de la ruta de acceso especificada debe tener menos de 65 caracteres.

  • Los cambios en la ruta de acceso especificada para la comprobación de estado hacen que la aplicación lógica se reinicie. Para reducir el impacto en las aplicaciones de producción, configure y use ranuras de implementación.

  • La comprobación de estado no sigue los redireccionamientos para el código de estado 302, por lo tanto, evite redirecciones y asegúrese de seleccionar una ruta de acceso válida que exista en la aplicación.

Configuración de la comprobación de mantenimiento

  1. En Azure Portal, vaya al recurso Aplicación lógica Estándar.

  2. En el menú de la aplicación lógica, seleccione Diagnosticar y resolver problemas.

  3. En la página Diagnosticar y resolver problemas, en el cuadro de búsqueda, busque y seleccione la característica Comprobación de estado.

    Recorte de pantalla que muestra Azure Portal, la página para Diagnosticar y resolver problemas, el cuadro de búsqueda con la comprobación de estado especificada y la opción para la característica de Comprobación de estado seleccionada.

  4. En la sección Característica de Comprobación de estado, seleccione Ver solución.

  5. En el panel que se abre, seleccione Configurar y habilitar la característica Comprobación de estado.

  6. En la pestaña Comprobación de estado, junto a Comprobación de estado, seleccione Habilitar.

  7. En Ruta de acceso de sondeo de estado, en el cuadro Ruta de acceso, escriba una ruta de acceso de dirección URL válida para el flujo de trabajo, por ejemplo:

    /api/{workflow-name}/triggers/{request-trigger-name}/invoke?api-version=2022-05-01

  8. Guarde los cambios. En la barra de herramientas, seleccione Guardar.

  9. En el recurso de la aplicación lógica, actualice el archivo host.json siguiendo estos pasos:

    1. En el menú de la aplicación lógica, en Herramientas de desarrollo, seleccione Herramientas avanzadas>Ir a.

    2. En la barra de herramientas de KuduPlus, abra el menú Consola de depuración y seleccione CMD.

    3. Vaya a la carpeta site/wwwroot y, junto al archivo host.json, seleccione Editar.

    4. En el editor de archivos host.json, agregue la propiedad Workflows.HealthCheckWorkflowName y el nombre del flujo de trabajo de mantenimiento para habilitar la autenticación y autorización de comprobación de estado, por ejemplo:

      JSON
      "extensions": {
          "workflow": {
              "settings": {
                  "Workflows.HealthCheckWorkflowName" : "{workflow-name}"
              }
          }
      }
      
    5. Cuando termine, seleccione Save (Guardar).

Solución de problemas

Después de establecer la ruta de acceso de mantenimiento, el flujo de trabajo de mantenimiento no se desencadena.

  1. En el menú de la aplicación lógica, seleccione Diagnosticar y resolver problemas.

  2. En Categorías de solución de problemas, seleccione Disponibilidad y rendimiento.

    Recorte de pantalla que muestra Azure Portal, la página para Diagnosticar y resolver problemas y la opción de Disponibilidad y rendimiento seleccionada.

  3. Busque y revise la sección de código de estado.

    Si el código de estado es 401, compruebe los siguientes elementos:

    • Confirme que la propiedad Workflows.HealthCheckWorkflowName y el nombre del flujo de trabajo de mantenimiento aparezcan correctamente.

    • Confirme que la ruta de acceso especificada coincida con el flujo de trabajo y el nombre del desencadenador de Solicitud.

Problemas de estado comunes

Mi recurso de aplicación lógica no tiene ningún flujo de trabajo, pero el recurso se escala a múltiples instancias, lo que incurre en costes.

Este comportamiento puede ocurrir si el recurso de la aplicación lógica no está en buen estado o, normalmente, cuando el recurso no puede acceder a la cuenta de almacenamiento asociada. Intente comprobar si la cuenta de almacenamiento tiene una configuración de red que bloquea el acceso, o si tiene una directiva de cortafuegos de red que bloquea el acceso.

Mi recurso de aplicación lógica tiene flujos de trabajo, pero no se ejecutan o se ejecutan mucho. Sin embargo, el recurso sigue ampliándose a múltiples instancias, que incurren en costes.

  1. Compruebe si el recurso puede acceder a la cuenta de almacenamiento asociada.

    Por ejemplo, ¿la cuenta de almacenamiento tiene una configuración de red que bloquea el acceso? ¿Tiene una directiva de firewall de red que bloquea el acceso?

  2. Si su flujo de trabajo comienza con un desencadenador basado en un proveedor de servicios, asegúrese de que el desencadenador funciona correctamente como se espera.

    • Un desencadenador basado en un proveedor de servicios fallido podría crear un escalado innecesario, lo que puede aumentar drásticamente los costes.

      Por ejemplo, un descuido común es establecer un desencadenador sin dar a su aplicación lógica permiso o acceso al destino, como una cola de bus de servicio, un contenedor de blob de almacenamiento, etc.

    • Asegúrese de vigilar estos desencadenadores en todo momento, para poder detectar y solucionar rápidamente cualquier problema.

Mi flujo de trabajo interrumpe intermitentemente el procesamiento de mensajes durante horas, pero funciona bien la mayoría de las otras veces.

Si su aplicación lógica estándar utiliza la opción de hospedaje denominada Plan de servicio de flujo de trabajo y no está hospedada en un entorno de servicio de aplicaciones, asegúrese de que la Supervisión de escalado en tiempo de ejecución esté activada y de que las Instancias siempre listas estén configuradas en al menos 1.

  1. En Azure Portal, busque y abra su aplicación lógica, si no está ya abierta.

  2. En el menú de la aplicación lógica, en Configuración, seleccione Configuración.

  3. En la pestaña Configuración del tiempo de ejecución del flujo de trabajo, junto a Supervisión de la escala de tiempo de ejecución, seleccione Activado.

  4. En la barra de herramientas de la página Configuración, seleccione Guardar.

  5. En el menú de la aplicación lógica, en Configuración, seleccione Ampliación (Plan de App Service).

  6. En la Aplicación Escalado horizontal, asegúrese de que el valor Instancias siempre listas no está establecido en 0.