Introdução
Nesta unidade, vamos examinar o monitoramento dos conceitos de aplicativos Java.
Por que monitorar?
Em um ambiente, é importante acompanhar o modo como as pessoas usam seu sistema, rastrear o uso de recursos e, de maneira geral, monitorar a integridade e o desempenho do sistema. Você pode usar essas informações como um auxílio de diagnóstico para detectar e corrigir problemas e para ajudar a identificar possíveis problemas e impedir que eles ocorram.
Formas de monitoramento
O monitoramento geralmente assume quatro formas:
Logs: Registros permanentes e imutáveis de eventos armazenados em um formato de tabela consistente, caso não estejam em um banco de dados completo. Um evento pode ser um indício de uma das muitas condições, incluindo:
- Uma alteração no status de um componente monitorado (por exemplo, de “ocupado” para “disponível”).
- Conclusão de uma tarefa ou sequência de instruções.
- Um marco na progressão de dados pela rede ou a disponibilidade de unidades em uma rede.
- Um erro, que, neste contexto, é um comportamento que o sistema ou o aplicativo não foi programado para tratar ou mitigar.
Métricas: Valores que representam a integridade, a estabilidade e a disponibilidade relativas de um serviço ou aplicativo ou a infraestrutura que o hospeda.
Rastreamentos: Registros dos caminhos de execução para programas e serviços, especialmente em um sistema altamente distribuído, indicando a sequência de instruções que podem, direta ou indiretamente, ter disparado um evento.
Alertas: Alertas notificam você proativamente quando são encontrados problemas na infraestrutura ou no aplicativo. Eles permitem que você identifique e resolva problemas antes que os usuários do seu sistema os percebam.
Plataformas de monitoramento do Azure
O Azure fornece o Azure Monitor, que inclui um conjunto de serviços que os desenvolvedores e os administradores podem usar para coletar, analisar e agir na telemetria sobre o desempenho de aplicativos e a infraestrutura que os hospeda.
Log Analytics é uma ferramenta do portal do Azure usada para editar e executar consultas de log dos dados coletados pelos logs do Azure Monitor e analisar os resultados de maneira interativa. Use as consultas do Log Analytics para recuperar registros que correspondem a critérios específicos, identificar tendências, analisar padrões e fornecer uma diversos insights sobre seus dados.
O Application Insights, um recurso do Azure Monitor, é um serviço de APM (gerenciamento de desempenho de aplicativos) extensível para desenvolvedores e profissionais de DevOps. Ele detecta automaticamente anomalias de desempenho e inclui ferramentas de análise para ajudar a diagnosticar problemas e entender o que os usuários realmente fazem com o 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 permitem que você tenha um gatilho de alerta quando um limite especificado é excedido. Por exemplo, um alerta de métrica pode notificá-lo quando o uso da CPU é maior que 95%.
- Os alertas de log são baseados em dados gravados nos arquivos de log. Por exemplo, um alerta de log pode notificar você quando um servidor Web retorna muitas respostas 404 ou 500.
Você pode monitorar aplicativos, serviços e infraestrutura do Azure usando qualquer sistema de monitoramento de sua escolha, como pilha elástica, Splunk, New Relic, Dynatrace e App Dynamics. Neste módulo, porém, vamos nos concentrar no Azure Monitor, no Log Analytics e no Application Insights.