Monitoramento para DevOpsMonitoring for DevOps

O que você não pode ver, não é possível medir.What you cannot see, you cannot measure. O que você não pode medir, não pode melhorar.What you cannot measure, you cannot improve. Esse axioma de gerenciamento clássico também é verdadeiro na nuvem.This classic management axiom is true in the cloud as well. O monitoramento tradicional de aplicativos e infraestruturas se baseia no fato de o aplicativo estar em execução ou não ou em qual tempo de resposta ele está dando.Traditional application and infrastructure monitoring is based on whether the application is running or not, or what response time it is giving. No entanto, o monitoramento baseado em nuvem oferece muitas outras oportunidades que você deve aproveitar para dar aos usuários a melhor experiência.However, cloud-based monitoring offer many more opportunities that you should be leveraging in order to give your users the best experience.

Monitoramento de AplicativosApplication Monitoring

Application Insights é o serviço do Azure que permite não apenas verificar se o aplicativo está sendo executado corretamente, mas facilita a solução de problemas do aplicativo e pode ser usado para telemetria de negócios personalizada que informará se seu aplicativo está sendo usado como pretendido.Application Insights is the Azure Service that allows not only to verify that your application is running correctly, but it makes application troubleshooting easier, and can be used for custom business telemetry that will tell you whether your application is being used as intended.

Certifique-se de aproveitar todas as informações avançadas que Application Insights podem fornecer sobre seu aplicativo.Make sure you leverage all the rich information that Application Insights can provide about your application. Esta lista não é exaustiva, mas aqui você pode encontrar algumas das visibilidade que Application Insights podem lhe dar:This list is not exhaustive, but here you can find some of the visibility that Application Insights can give you:

  • O Application Insights oferece um painel padrão com uma estimativa informada das métricas mais importantes nas quais você terá interesse.Application Insights offers you a default dashboard with an educated guess of the most important metrics you will be interested in. Em seguida, você pode modificá-lo e personalizá-lo para suas próprias necessidades.You can then modify it and customize it to your own needs.
  • Ao instrumentar seu aplicativo corretamente, Application Insights dará estatísticas de desempenho tanto de uma perspectiva de cliente quanto de um servidorBy instrumenting your application correctly, Application Insights will give you performance statistics both from a client and a server perspective
  • O mapa do aplicativo mostrará as dependências de aplicativo em outros serviços, como APIs de back-end ou bancos de dados, permitindo determinar visualmente onde estão os problemas de desempenhoThe Application Map will show you application dependencies in other services such as backend APIs or databases, allowing to determine visually where performance problems lie
  • A detecção inteligente avisará quando as anomalias nos padrões de desempenho ou utilização ocorreremSmart Detection will warn you when anomalies in performance or utilization patterns happen
  • A análise de uso pode fornecer a você a telemetria sobre quais recursos de seu aplicativo são usados com mais frequência ou se toda a funcionalidade do aplicativo está sendo usada.Usage Analysis can give you telemetry on which features of your application are most frequently used, or whether all your application functionality is being used. Esse recurso é especialmente útil após as alterações na funcionalidade do aplicativo, para verificar se essas alterações foram bem-sucedidasThis feature is especially useful after changes to the application functionality, to verify whether those changes were successful
  • Anotações de versão são indicadores visuais em seus Application Insights gráficos de novas compilações e outros eventos, para que você possa correlacionar visualmente as alterações no desempenho do aplicativo para versões de código, sendo capaz de identificar rapidamente os problemas de desempenho.Release annotations are visual indicators in your Application Insights charts of new builds and other events, so that you can visually correlate changes in application performance to code releases, being able to quickly pinpoint performance problems.
  • O diagnóstico de transação entre componentes permite que você siga as transações com falha para encontrar o ponto na arquitetura em que a falha foi originada.Cross-component transaction diagnostics allow you to follow failed transactions to find the point in the architecture where the fault was originated.
  • Depurador de Instantâneos, para coletar automaticamente um instantâneo de um aplicativo ao vivo em caso de uma exceção, para analisá-lo em um estágio posterior.Snapshot Debugger, to automatically collect a snapshot of a live application in case of an exception, to analyze it at a later stage.

Para usar Application Insights você tem duas opções: você pode usar o monitoramento sem código, em que a integração de seu aplicativo ao Application insights não exige nenhuma alteração de código ou monitoramento baseado em código, em que você instrumenta seu código para enviar telemetria para Application insights usando o Software Development Kit para sua linguagem de programação de sua escolha.To use Application Insights you have two options: you can use codeless monitoring, where onboarding your app to Application Insights does not require any code change, or code-based monitoring, where you instrument your code to send telemetry to Application Insights using the Software Development Kit for your programming language of choice.

Você certamente pode usar outras ferramentas de gerenciamento de desempenho de aplicativos para monitorar seu aplicativo no Azure, como NewRelic ou AppDynamics, mas Application Insights fornecerá a experiência mais direta e integrada.You can certainly use other Application Performance Management tools to monitor your application on Azure, such as NewRelic or AppDynamics, but Application Insights will give you the most seamless and integrated experience.

Monitoramento de plataformaPlatform Monitoring

A Application Insights é, na verdade, um dos componentes do Azure Monitor, que fornece métricas e logs avançados para verificar o estado do seu cenário completo do Azure.Application Insights is actually one of the components of Azure Monitor, which gives you rich metrics and logs to verify the state of your complete Azure landscape. Não importa se seu aplicativo está sendo executado em máquinas virtuais, serviços de aplicativos ou kubernetes, Azure Monitor o ajudará a seguir o estado da sua infraestrutura e a reagir imediatamente se houver algum problema.No matter whether your application is running on Virtual Machines, App Services, or Kubernetes, Azure Monitor will help you to follow the state of your infrastructure, and to react promptly if there are any issues.

Certifique-se de não apenas monitorar os elementos de computação que dão suporte ao código do aplicativo, mas também à plataforma de dados: os bancos de dados, as contas de armazenamento ou os data lagos devem ser bastante monitorados, pois um baixo desempenho da camada de dados de um aplicativo pode ter conseqüências sérias.Make sure not only to monitor your compute elements supporting your application code, but your data platform as well: databases, storage accounts, or data lakes should be closely monitored, since a low performance of the data tier of an application could have serious consequences.

Informações de contêinerContainer Insights

Caso seu aplicativo seja executado no serviço kubernetes do Azure, Azure Monitor permite que você monitore facilmente o estado do cluster, nós e pods.Should your application run on Azure Kubernetes Service, Azure Monitor allows you to easily monitor the state of your cluster, nodes, and pods. Fácil de configurar para clusters AKS, o contêiner insights fornece informações rápidas, visuais e acionáveis: da pressão de CPU e de memória de seus nós para os logs de pods kubernetes individuais.Easy to configure for AKS clusters, Container Insights delivers quick, visual, and actionable information: from the CPU and memory pressure of your nodes to the logs of individual Kubernetes pods.

Além disso, para operadores que preferem usar a ferramenta de monitoramento de kubernetes de software livre Prometheus, mas ainda assim como a facilidade de uso de Azure Monitor contêiner insights, ambas as soluções podem ser integradas entre si.Additionally, for operators that prefer using the open-source Kubernetes monitoring tool Prometheus but still like the ease of use of Azure Monitor Container Insights, both solutions can integrate with each other.

GitHub o padrão sidecar adiciona um contêiner separado com responsabilidades exigidas pelo contêiner principal.GitHub The Sidecar Pattern adds a separate container with responsibilities that are required by the main container. Um caso de uso comum é para executar utilitários de registro em log e agentes de monitoramento.A common use case is for running logging utilities and monitoring agents.

Monitoramento de redeNetwork monitoring

Independentemente do fator forma ou linguagem de programação em que seu aplicativo se baseia, a rede que conecta seu código aos usuários pode fazer ou interromper a experiência que seu aplicativo fornece.Regardless the form factor or programming language your application is based on, the network connecting your code to your users can make or break the experience that your application provides. Como consequência, o monitoramento e a solução de problemas da rede podem ser decisivos para uma equipe de operações.As a consequence monitoring and troubleshooting the network can be decisive for an operations team. O componente do Azure Monitor que gerencia os componentes de rede é chamado de observador de rede, uma coleção de ferramentas de monitoramento e solução de problemas de rede.The component of Azure Monitor that manages the network components is called Network Watcher, a collection of network monitoring and troubleshooting tools. Algumas dessas ferramentas são:Some of these tools are:

  • Análise de Tráfego fornecerá uma visão geral do tráfego em suas redes virtuais, bem como o percentual proveniente de endereços IP mal-intencionados, aproveitando os bancos de dados de inteligência contra ameaças da Microsoft.Traffic Analytics will give you an overview of the traffic in your Virtual Networks, as well as the percentage coming from malicious IP addresses, leveraging Microsoft Threat Intelligence databases. Essa ferramenta mostrará também os sistemas em suas redes virtuais que geram a maior parte do tráfego, para que você possa identificar visualmente os afunilamentos antes que eles degerem problemas.This tool will show you as well the systems in your virtual networks that generate most traffic, so that you can visually identify bottlenecks before they degenerate into problems.
  • O Gerenciador de desempenho de rede pode gerar tráfego sintético para medir o desempenho de conexões de rede em vários links, dando a você uma perspectiva sobre a evolução das conexões WAN e Internet ao longo do tempo, além de oferecer informações valiosas de monitoramento sobre os circuitos do Microsoft ExpressRoute.Network Performance Manager can generate synthetic traffic to measure the performance of network connections over multiple links, giving you a perspective on the evolution of WAN and Internet connections over time, as well as offering valuable monitoring information about Microsoft ExpressRoute circuits.
  • O diagnóstico de VPN pode ajudar a solucionar problemas de conexões VPN site a site conectando seus aplicativos a usuários locais.VPN diagnostics can help troubleshooting site-to-site VPN connections connecting your applications to users on-premises.
  • O monitor de conexão permite que você meça a disponibilidade da rede entre conjuntos de pontos de extremidade.Connection Monitor allows you to measure the network availability between sets of endpoints.

Outras fontes de informaçõesOther information sources

Não apenas os componentes do aplicativo estão produzindo dados, mas há muitos outros sinais que você precisa controlar para operar com eficiência um ambiente de nuvem:Not only your application components are producing data, but there are many other signals that you need to track to effectively operate a cloud environment:

  • Log de atividades: essa é uma auditoria de trilha que permite que você veja todas as alterações que passaram por meio das APIs do Azure.Activity Log: this is a trail audit that lets you see every change that has gone through Azure APIs. Pode ser essencial entender alterações ou problemas de desempenho repentinos, que podem ter ocorrido devido a uma configuração incorreta da plataforma Azure.It can be critical to understand sudden performance changes or problems, that might have been due to a misconfiguration of the Azure platform.
  • Integridade do serviço do Azure: às vezes, as interrupções são provokeddas por alterações de configuração, mas por falhas na própria plataforma do Azure.Azure Service Health: sometimes outages are provoked not by configuration changes, but by glitches in the Azure platform itself. Você pode encontrar informações sobre qualquer problema relacionado ao Azure que afeta seu aplicativo nos logs de integridade do serviço do Azure.You can find information about any Azure-related problem impacting your application in the Azure Service Health logs.
  • Assistente do Azure: encontre recomendações sobre como otimizar sua plataforma Azure para reduzir custos, melhorar sua postura de segurança ou aumentar a disponibilidade de seu ambiente.Azure Advisor: find here recommendations about how to optimize your Azure platform to reduce costs, improve your security posture, or increase the availability of your environment.
  • Central de segurança do Azure: não se concentra nesse pilar, mas deve ser incluído para fins de integridade: a central de segurança do Azure pode ajudá-lo a entender se os recursos do Azure estão configurados de acordo com as práticas recomendadas de segurançaAzure Security Center: not a focus of this pillar, but to be included for completeness: Azure Security Center can help you to understand whether your Azure resources are configured according to security best practices

Práticas recomendadas de monitoramentoMonitoring best practices

Correlação de eventosEvent correlation

Uma vantagem fundamental do Azure Monitor é que ele é a ferramenta de monitoramento para toda a plataforma do Azure.One critical advantage of Azure Monitor is that it is the monitoring tool for the whole Azure platform. Como as seções anteriores mostraram, Azure Monitor mantém as métricas e os logs relevantes para o código do aplicativo, a plataforma em que ele está sendo executado, os componentes de dados, bem como a rede que conecta o aplicativo aos seus usuários.As the previous sections have shown, Azure Monitor holds metrics and logs relevant to your application code, the platform where it is running, the data components, as well as the network connecting the application to its users. Isso permite que os operadores comparem as métricas de diferentes componentes de aplicativos entre si e descubram as dependências que podem ter sido ocultadas de outra forma.This enables operators to compare metrics of different application components to each other, and find out dependencies that might have been hidden otherwise.

Os painéis no Azure oferecem uma ótima maneira de expor as informações sofisticadas contidas em Azure Monitor para outros usuários.Dashboards in Azure offer a great way of exposing the rich information contained in Azure Monitor to other users. Certifique-se de criar painéis compartilhados para expor informações relevantes para os diferentes grupos envolvidos em operar seu aplicativo, incluindo desenvolvedores e operadores.Make sure to create shared dashboards in order to expose relevant information to the different groups involved in operating your application, including Developers and Operators. Se forem necessárias visualizações mais complexas, Azure Monitor dados poderão ser exportados para Power BI para análise de dados avançada.If more complex visualizations are required, Azure Monitor data can be exported to Power BI for advanced data analysis.

NotificaçõesNotifications

Seja para monitoramento de aplicativos, de rede ou de plataforma, você não deve esperar que os operadores examinem os painéis constantemente.Whether it is for application, network or platform monitoring, you should not expect operators to constantly look at dashboards. Em vez disso, os alertas devem ser usados para enviar notificações proativas para os indivíduos relevantes que irão reagir neles.Instead, alerts should be used to send proactive notifications to the relevant individuals that will react on them. Os grupos de ação no Azure Monitor podem ser usados para notificar vários destinatários, disparar ações automatizadas ou até mesmo abrir tíquetes automaticamente em ferramentas de gerenciamento de serviços de ti, como ServiceNow.Action groups in Azure Monitor can be used to notify multiple recipients, to trigger automated actions, or even to automatically open tickets in IT Service Management Tools such as ServiceNow.

A automação em relação aos alertas é crítica devido à natureza altamente colaborativa do DevOps e à velocidade inerente necessária para o gerenciamento eficiente de incidentes.Automation around alerts is critical due to the highly collaborative nature of DevOps and the inherent speed needed for effective incident management. No início deste ano, um relatório de DevOps.com voltou a informar que 80% das equipes de ti são alertados sobre incidentes críticos por email.Earlier this year, a report from DevOps.com came out stating that 80% of IT teams are alerted to critical incidents via email. O email é uma forma eficaz de comunicação, mas não deve ser o método de notificação mais comum para um problema crítico.Email is an effective form of communication, but it shouldn’t be the most common notification method for a critical issue. Em vez disso, se você puder definir ações a serem executadas ao receber determinados alertas (como escala vertical ou vertical), o sistema será auto-recuperável.Instead, if you can define actions to be executed upon receiving certain alerts (such as scaling up or down) your system will be self-healing.

Outras tarefas de monitoramentoOther monitoring tasks

Além Azure Monitor, convém ficar atento a determinados eventos para garantir que seu aplicativo esteja funcionando sem problemas:Beyond Azure Monitor, you will want to keep an eye on certain events to make sure that your application is running smoothly:

  • Examine os limites de assinatura do Azure para seus recursos e verifique se você não está chegando muito perto.Review Azure subscription limits for your resources, and make sure you are not coming too close.
  • Entenda os planos de suporte do Azure.Understand Azure support plans. Consulte perguntas frequentes sobre o suporte do Azure.Refer to Azure support FAQs. Familiarize sua equipe com o suporte do Azure.Familiarize your team with Azure support.
  • Certifique-se de monitorar as datas de expiração de certificados digitais, ou ainda melhor, configurar a renovação automática de certificado digital com o Azure Key Vault.Make sure that you monitor expiration dates of digital certificates, or even better, configure automatic digital certificate renewal with Azure Key Vault.

ResumoSummary

Você pode usar qualquer plataforma de monitoramento para gerenciar os recursos do Azure.You can use any monitoring platform to manage your Azure resources. A oferta de primeira parte da Microsoft é Azure Monitor, uma solução abrangente para métricas e logs da infraestrutura para o código do aplicativo, incluindo a capacidade de disparar alertas e ações automatizadas, bem como a visualização de dados.Microsoft's first party offering is Azure Monitor, a comprehensive solution for metrics and logs from the infrastructure to the application code, including the ability to trigger alerts and automated actions as well as data visualization.