Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Aplicativos Lógicos do Azure (Standard)
Para ajudar os fluxos de trabalho do aplicativo lógico Standard a operarem com alta disponibilidade e desempenho, configure o recurso Verificação de Integridade em seu aplicativo lógico para monitorar a integridade do fluxo de trabalho. Esse recurso garante que seu aplicativo permaneça resiliente, oferecendo os seguintes benefícios:
Monitoramento proativo para que você possa localizar e resolver problemas antes que afetem seus clientes.
Aumento da disponibilidade ao remover instâncias não íntegras do balanceador de carga no Azure.
Recuperação automática ao substituir instâncias não íntegras.
Como funciona a Verificação de Integridade nos Aplicativos Lógicos do Azure?
A Verificação de Integridade é um recurso da plataforma do Serviço de Aplicativo do Azure que redireciona solicitações de instâncias não íntegras e as substitui se continuarem nessa condição. Para um aplicativo lógico Standard, você pode especificar um caminho para um fluxo de trabalho de "integridade" criado para essa finalidade, e para que a plataforma do Serviço de Aplicativo execute ping em intervalos regulares. O exemplo a seguir mostra o fluxo de trabalho básico mínimo:
Depois de habilitar a Verificação de Integridade, a plataforma Serviço de Aplicativo executará ping no caminho do fluxo de trabalho especificado para todas as instâncias do aplicativo lógico a cada minuto. Se o aplicativo lógico precisar expandir, o Azure criará uma nova instância imediatamente. A plataforma do Serviço de Aplicativo executa ping no caminho do fluxo de trabalho novamente para garantir que a nova instância esteja pronta.
Se um fluxo de trabalho em execução em uma instância não responder ao ping após 10 solicitações, a plataforma do Serviço de Aplicativo determinará que a instância não está íntegra e a removerá do balanceador de carga no Azure para aquele aplicativo lógico específico. Com um mínimo de duas solicitações, você pode especificar o número necessário de solicitações com falha para determinar que uma instância não está íntegra. Para mais informações sobre como substituir o comportamento padrão, confira o artigo Configuração: monitorar instâncias do Serviço de Aplicativo usando a Verificação de Integridade.
Depois que a Verificação de Integridade remove a instância não íntegra, o recurso continua a executar ping na instância. Se a instância responder com um código de status íntegro, variando de 200 a 299, a Verificação de Integridade a retornará para o balanceador de carga. No entanto, se a instância continuar não íntegra por uma hora, a Verificação de Integridade a substitui por uma nova. Para mais informações, confira o artigo O que o Serviço de Aplicativo faz com as verificações de integridade.
Prerequisites
Uma conta e uma assinatura do Azure. Se você não tem uma assinatura, inscreva-se em uma conta gratuita do Azure.
Um recurso de aplicativo lógico Standard com os seguintes atributos:
Um Plano do Serviço de Aplicativo que é escalonado para duas ou mais instâncias.
Um fluxo de trabalho de "integridade" que executa especificamente a verificação de integridade e os seguintes elementos:
Começa com o gatilho Solicitação chamado Quando uma solicitação HTTP é recebida.
Inclui a ação Solicitação chamada Resposta. Defina essa ação para retornar um código de status inclusivamente entre 200 e 299.
Você também pode optar por fazer com que esse fluxo de trabalho execute outras verificações para garantir que os serviços dependentes estejam disponíveis e funcionando da maneira esperada. Como prática recomendada, certifique-se de que o caminho de Verificação de Integridade monitore componentes críticos em seu fluxo de trabalho. Por exemplo, se seu aplicativo depende de um banco de dados e de um sistema de mensagens, garanta que a Verificação de Integridade possa acessar esses componentes.
Limitations
O comprimento do caminho especificado deve ter menos de 65 caracteres.
Mudanças no caminho especificado para a Verificação de Integridade fazem seu aplicativo lógico reiniciar. Para reduzir o impacto em aplicativos de produção, configure e use slots de implantação.
A Verificação de Integridade não segue redirecionamentos para o código de status 302. Portanto, evite redirecionamentos e selecione um caminho que existe em seu aplicativo.
Configurar a Verificação de Integridade
No portal do Azure, acesse seu recurso de aplicativo lógico Standard.
No menu do aplicativo lógico, em Monitoramento, selecione Verificação de integridade. Na página De verificação de integridade , na guia Verificação de integridade , selecione Habilitar.
Em Caminho da investigação de integridade, na caixa Caminho, insira um caminho de URL válido para seu fluxo de trabalho, por exemplo:
/api/<workflow-name>/triggers/<request-trigger-name>/invoke?api-version=2022-05-01Salve suas alterações. Na barra de ferramentas, selecione Salvar.
No recurso de aplicativo lógico, atualize o arquivo host.json seguindo essas etapas:
No menu do aplicativo lógico, acesse Ferramentas de desenvolvimento e selecione Ferramentas Avançadas>Ir.
Na barra de ferramentas do KuduPlus, a partir do menu do Console de depuração, selecione CMD.
Navegue até a pasta site/wwwroot e, ao lado do arquivo host.json, selecione Editar.
No editor do arquivo host.json, adicione a propriedade Workflows.HealthCheckWorkflowName e o nome do seu fluxo de trabalho de integridade para habilitar a autenticação e autorização da verificação de integridade, por exemplo:
"extensions": { "workflow": { "settings": { "Workflows.HealthCheckWorkflowName" : "<workflow-name>" } } }Quando terminar, selecione Salvar.
Troubleshooting
Após definir o caminho de integridade, se seu fluxo de trabalho de integridade não for disparado.
No menu do aplicativo lógico, selecione Diagnosticar e resolver problemas.
Em Categorias de solução de problemas, escolha Disponibilidade e Desempenho.
Encontre e revise a seção de código de status.
Se o código de status for 401, verifique os seguintes itens:
Confirme que a propriedade Workflows.HealthCheckWorkflowName e o nome do seu fluxo de trabalho de saúde estão corretos.
Verifique se o caminho especificado corresponde ao fluxo de trabalho e ao nome do gatilho Solicitação.
Problemas comuns de saúde
Meu recurso de aplicativo lógico não tem nenhum fluxo de trabalho, mas o recurso ainda é dimensionado para várias instâncias, o que gera custos.
Esse comportamento pode ocorrer se o recurso do aplicativo lógico não estiver íntegro ou, normalmente, quando o recurso não consegue acessar a conta de armazenamento associada. Tente verificar se a conta de armazenamento tem uma configuração de rede que bloqueia o acesso ou se você tem uma política de firewall de rede que bloqueia o acesso.
Meu recurso de aplicativo lógico tem fluxos de trabalho, mas eles não estão em execução ou estão em execução com frequência. No entanto, o recurso ainda é escalável para várias instâncias, o que gera custos.
Verifique se o recurso pode acessar a conta de armazenamento associada.
Por exemplo, a conta de armazenamento tem uma configuração de rede que bloqueia o acesso? Você tem uma política de firewall de rede que bloqueia o acesso?
Se o seu fluxo de trabalho começar com um gatilho baseado em provedor de serviços, certifique-se de que o gatilho funcione conforme o esperado.
Um gatilho com base em provedor de serviços com falha pode criar dimensionamento desnecessário, o que pode aumentar drasticamente os custos.
Por exemplo, um descuido comum é definir um gatilho sem dar ao seu aplicativo lógico permissão ou acesso ao destino, como uma fila do Barramento de Serviço do Microsoft Azure, um contêiner de blobs de armazenamento e assim por diante.
Monitore esses gatilhos o tempo todo para que você possa detectar e corrigir quaisquer problemas imediatamente.
Meu fluxo de trabalho para de processar mensagens intermitentemente por horas, mas funciona bem na maioria das vezes.
Se o seu aplicativo lógico padrão usar a opção de hospedagem chamada Plano de serviço de fluxo de trabalho e não estiver hospedado em um ambiente de Serviço de Aplicativo do Azure, certifique-se de que Monitoramento de escala de tempo de execução esteja ativado e que Instâncias sempre prontas esteja definido como pelo menos1.
No portal do Azure, localize e abra seu aplicativo lógico, caso ainda não esteja aberto.
No menu do aplicativo lógico, acesse Configurações e selecione Configuração.
Na guia Configurações de tempo de execução do fluxo de trabalho, ao lado de Monitoramento de escala de tempo de execução, selecione Ativado.
Na barra de ferramentas da página Configuração, selecione Salvar.
No menu do aplicativo lógico, em Configurações, selecione Escalar horizontalmente (Plano do Serviço de Aplicativo).
Em App Scale out, certifique-se de que o valor Always Ready Instances não esteja definido como 0.