Introdução

Concluído

Nesta unidade, analisamos o monitoramento de conceitos de aplicações Java.

Porquê a Monitorização?

Em qualquer ambiente, é importante acompanhar a maneira como as pessoas usam seu sistema, rastrear o uso de recursos e, geralmente, monitorar a integridade e o desempenho do sistema. Pode utilizar estas informações como uma ajuda de diagnóstico para detetar e corrigir problemas, bem como ajudar a detetar potenciais problemas e evitá-los.

Formulários de monitorização

O acompanhamento assume geralmente quatro formas:

  • Logs: registros permanentes e imutáveis de eventos armazenados em um formato tabular consistente, se não em um banco de dados completo. Um evento pode ser indicativo de uma das muitas condições, incluindo:

    • Uma alteração no status de um componente monitorado (por exemplo, de "ocupado" para "disponível").
    • Completar uma tarefa ou sequência de instruções.
    • Um marco na progressão de dados através de uma rede, ou a disponibilidade de unidades em uma rede.
    • Um erro, que neste contexto é um comportamento que o sistema ou aplicativo não foi programado para manipular ou mitigar.
  • Métricas : valores que representam a integridade relativa, a estabilidade e a disponibilidade de um serviço ou aplicativo ou da infraestrutura que o hospeda.

  • Rastreamentos : Registros dos caminhos de execução de programas e serviços, especialmente em um sistema altamente distribuído, indicando a sequência de instruções que podem ter acionado, direta ou indiretamente, um evento.

  • Alertas: os alertas notificam proativamente quando são encontrados problemas com a sua infraestrutura ou aplicação. Eles permitem que você identifique e resolva problemas antes que os usuários do seu sistema percebam.

Plataformas de Monitorização do Azure

O Azure fornece o Azure Monitor, que inclui um conjunto de serviços que os desenvolvedores e administradores podem usar para coletar, analisar e agir de acordo com a telemetria sobre o desempenho de aplicativos e a infraestrutura que os hospeda.

O Log Analytics é uma ferramenta no portal do Azure para editar e executar consultas de log a partir dos dados que o Azure Monitor Logs coleta e para analisar interativamente seus resultados. Você pode usar consultas do Log Analytics para recuperar registros que correspondam a critérios específicos, identificar tendências, analisar padrões e fornecer várias informações sobre seus dados.

O Application Insights, um recurso do Azure Monitor, é um serviço extensível de Gerenciamento de Desempenho de Aplicativo (APM) para desenvolvedores e profissionais de DevOps. Ele deteta automaticamente anomalias de desempenho e inclui ferramentas de análise para ajudá-lo a diagnosticar problemas e entender o que os usuários realmente fazem com seu aplicativo.

Alertas do Azure Monitor: os dados de monitoramento também podem ser enviados para outros locais para dar suporte a determinados cenários, e alguns recursos podem gravar em outros locais antes de serem coletados em Logs ou Métricas.

  • Os alertas de métricas fornecem um acionador de alerta quando um limiar especificado é excedido. Por exemplo, um alerta de métricas pode notificá-lo quando a utilização da CPU for superior a 95%.
  • Os alertas de log são baseados em dados gravados em arquivos de log. Por exemplo, um alerta de log pode notificá-lo quando um servidor Web retornar muitas respostas 404 ou 500.

Você pode monitorar aplicativos, serviços e infraestrutura do Azure usando qualquer sistema de monitoramento de sua escolha, como Elastic Stack, Splunk, New Relic, Dynatrace e App Dynamics. Neste módulo, porém, nos concentraremos no Azure Monitor, no Log Analytics e no Application Insights.