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.
Dica
Esse conteúdo é um trecho do eBook, Architecting Cloud Native .NET Applications for Azure, disponível no .NET Docs ou como um PDF para download gratuito que pode ser lido offline.
O registro interno do Kubernetes é primitivo. No entanto, há algumas opções excelentes para extrair os logs do Kubernetes e direcioná-los a um local onde possam ser analisados corretamente. Se você precisar monitorar seus clusters do AKS, configurar o Elastic Stack para Kubernetes é uma ótima solução.
Azure Monitor para Contêineres
O Azure Monitor para Contêineres dá suporte ao consumo de logs não apenas do Kubernetes, mas também de outros mecanismos de orquestração, como DC/OS, Docker Swarm e Red Hat OpenShift.
Figura 7-10. Consumindo logs de vários contêineres
O Prometheus é uma solução popular de monitoramento de métrica de software livre. Ele faz parte do Cloud Native Compute Foundation. Normalmente, o uso do Prometheus requer o gerenciamento de um servidor Prometheus com seu próprio repositório. No entanto, o Azure Monitor para Contêineres fornece integração direta com endpoints de métricas do Prometheus, portanto, um servidor separado não é necessário.
As informações de log e métrica são coletadas não apenas dos contêineres em execução no cluster, mas também dos próprios hosts do cluster. Ele permite correlacionar informações de log dos dois, tornando muito mais fácil rastrear um erro.
A instalação dos coletores de log difere em clusters Windows e Linux . Mas, em ambos os casos, a coleção de logs é implementada como um DaemonSet do Kubernetes, o que significa que o coletor de logs é executado como um contêiner em cada um dos nós.
Não importa qual orquestrador ou sistema operacional esteja executando o daemon do Azure Monitor, as informações de log são encaminhadas para as mesmas ferramentas do Azure Monitor com as quais os usuários estão familiarizados. Essa abordagem garante uma experiência paralela em ambientes que combinam diferentes fontes de log, como um ambiente híbrido do Kubernetes/Azure Functions.
Figura 7-11. Um painel de exemplo mostrando informações de logs e métricas de muitos contêineres em execução.
Log.Finalizar()
O registro de logs é uma das partes mais negligenciadas e, ainda assim, mais importantes da implantação de qualquer aplicativo em grande escala. À medida que o tamanho e a complexidade dos aplicativos aumentam, a dificuldade de depurá-los também aumenta. Ter logs de alta qualidade disponíveis torna a depuração muito mais fácil e a move da esfera do "quase impossível" para a de "uma experiência agradável".