Melhores práticas de monitoramento e diagnóstico para o Azure Service Fabric
O monitoramento e o diagnóstico são críticos para o desenvolvimento, o teste e a implantação de cargas de trabalho em qualquer ambiente de nuvem. Por exemplo, você pode controlar como seus aplicativos são usados, as ações realizadas pela plataforma do Service Fabric, a utilização de recursos com contadores de desempenho e a integridade geral do seu cluster. Você pode usar essas informações para diagnosticar e corrigir problemas e evitar que eles ocorram no futuro.
Monitoramento de aplicativo
O monitoramento de aplicativo controla como os recursos e componentes de um aplicativo estão sendo usados. Monitore seus aplicativos para garantir que os problemas que afetam os usuários sejam capturados. O monitoramento de aplicativo é a responsabilidade daqueles que desenvolvem o aplicativo e seus serviços, pois depende exclusivamente da lógica de negócios do aplicativo. É recomendável que você configure o monitoramento de aplicativo com o Application Insights, a ferramenta de monitoramento de aplicativo do Azure.
Monitoramento do cluster
Uma das metas do Service Fabric é tornar os aplicativos resilientes a falhas de hardware. Esse objetivo é conseguido por meio da capacidade de serviços de sistema da plataforma para detectar problemas de infraestrutura e rápidas failover de cargas de trabalho para outros nós no cluster. Mas e se os próprios serviços do sistema tiverem problemas? Ou se, ao tentar implantar ou mover uma carga de trabalho, as regras para a veiculação de serviços forem violadas? O Service Fabric fornece diagnóstico para esses e outros problemas, a fim de garantir que você seja informado sobre como a plataforma Service Fabric interage com aplicativos, serviços, contêineres e nós.
Para clusters do Windows, é recomendável que você configure o monitoramento de cluster com o Agente do Diagnostics e os logs do Azure Monitor.
Para clusters do Linux, os logs do Azure Monitor também consistem na ferramenta recomendada para o monitoramento da infraestrutura e da plataforma Azure. O diagnóstico da plataforma Linux exige outra configuração, conforme observado em Eventos de cluster do Linux do Service Fabric no Syslog.
Monitoramento da infraestrutura
Os logs do Azure Monitor são recomendados para o monitoramento de eventos no nível do cluster. Depois de configurar o agente do Log Analytics no workspace, conforme descrito no link anterior, você poderá coletar métricas de desempenho como Utilização da CPU, contadores de desempenho do .NET como utilização da CPU no nível do processo, contadores de desempenho do Service Fabric como o número de exceções de um serviço confiável e métricas de contêiner como Utilização da CPU. Você precisará gravar os logs de contêiner no StdOut e em stderr, de modo que eles estejam disponíveis nos logs do Azure Monitor.
Watchdogs
Em geral, um watchdog é um serviço separado que inspeciona a integridade e a carga entre serviços, executa ping em pontos de extremidade e relata eventos de integridade inesperados no cluster. Isso pode ajudar a evitar erros que podem não ser detectados com base apenas no desempenho de um único serviço. Os watchdogs também são um bom local para hospedar o código que executa ações corretivas que não exigem a interação do usuário, como limpeza de arquivos de log no armazenamento em determinados intervalos de tempo. Se você quiser um serviço de watchdog SF de software livre totalmente implementado que inclua um modelo de extensibilidade de watchdog fácil de usar e que seja executado em clusters Windows e Linux, consulte o projeto FabricObserver. O FabricObserver é um software pronto para produção. Incentivamos você a implantar o FabricObserver nos clusters de teste e produção e estendê-lo para atender às suas necessidades, por meio de seu modelo de plug-in ou com a bifurcação e a criação de seus próprios observadores internos. O primeiro (plug-ins) é a abordagem recomendada.
Próximas etapas
- Comece a instrumentar seus aplicativos: Geração de log e evento de nível de aplicativo.
- Siga as etapas para configurar o Application Insights para seu aplicativo com Monitorar e diagnosticar um aplicativo ASP.NET Core no Service Fabric.
- Saiba mais sobre como monitorar a plataforma e os eventos que o Service Fabric fornece para você: Geração de log e evento nível de plataforma.
- Configurar a integração dos logs do Azure Monitor com o Service Fabric: Configurar logs do Azure Monitor para um cluster
- Aprenda como configurar os logs do Azure Monitor para monitorar contêineres: Monitoramento e diagnóstico para contêineres do Windows no Azure Service Fabric.
- Confira os problemas de diagnóstico de exemplo e as soluções com o Service Fabric: Cenários comuns de diagnóstico
- Saiba mais sobre as recomendações gerais de monitoramentos para recursos do Azure: Melhores Práticas – Monitoramento e diagnóstico.