Recomendações para projetar uma estratégia confiável de monitoramento e alerta
Aplica-se a esta recomendação da lista de verificação de confiabilidade do Azure Well-Architected Framework:
RE:10 | Meça e publique os indicadores de integridade da solução. Capture continuamente o tempo de atividade e outros dados de confiabilidade de toda a carga de trabalho e também de componentes individuais e fluxos principais. |
---|
Este guia descreve as recomendações para projetar uma estratégia confiável de monitoramento e alerta. Implemente essa estratégia para manter suas equipes de operações informadas sobre o status de integridade do ambiente e garantir que você atenda às metas de confiabilidade estabelecidas para sua carga de trabalho.
Definições
Termo | Definição |
---|---|
Métricas | Valores numéricos coletados em intervalos regulares. As métricas descrevem alguns aspectos de um sistema em um determinado momento. |
Logs de recursos | Dados gerados por um sistema. Ele fornece informações sobre o estado do sistema. |
Rastreamentos | Dados que fornecem informações sobre o caminho que uma solicitação percorre por meio de serviços e componentes. |
Principais estratégias de design
Antes de criar uma estratégia de monitoramento e alerta, execute as seguintes tarefas para sua carga de trabalho como parte do planejamento de confiabilidade:
Identifique fluxos críticos e não críticos.
Execute a análise do modo de falha (FMA) para seus fluxos.
Identifique metas de confiabilidade.
Projete para confiabilidade implementando redundância, dimensionamento, autopreservação e autocorreção.
Projete uma estratégia de teste robusta.
Modele a integridade de sua carga de trabalho e seus componentes.
Crie uma estratégia de monitoramento e alerta para garantir que sua carga de trabalho opere de forma confiável. Uma estratégia de monitoramento e alerta fornece conscientização às suas equipes de operações para que elas sejam notificadas sobre alterações na condição da carga de trabalho e possam resolver problemas rapidamente. Crie uma estratégia de monitoramento robusta e confiável criando um modelo de integridade para seus fluxos críticos e os componentes que esses fluxos críticos compreendem. O modelo de integridade define estados íntegros, degradados e não íntegros. Projete sua postura operacional para detectar imediatamente as mudanças nesses estados. Quando os estados de integridade mudam de íntegro para degradado ou não íntegro, os mecanismos de alerta acionam as medidas corretivas automáticas e notificam as equipes apropriadas.
Implemente as recomendações a seguir para criar uma estratégia de monitoramento e alerta que atenda aos requisitos do seu negócio.
Implementar uma estratégia global de monitorização
Entenda a diferença entre métricas, logs e rastreamentos.
Habilite o registro em log para todos os recursos de nuvem. Use a automação e a governança em suas implantações para habilitar o log de diagnóstico em todo o ambiente.
Encaminhe todos os logs de diagnóstico para um coletor de dados centralizado e uma plataforma de análise, como um workspace do Log Analytics. Se você tiver requisitos regionais de soberania de dados, deverá usar coletores de dados locais nas regiões sujeitas a esses requisitos.
Compensação: há implicações de custo para armazenar e consultar logs. Observe como a análise e a retenção de logs afetam seu orçamento e determine o melhor equilíbrio de utilização para atender às suas necessidades. Para obter mais informações, consulte Práticas recomendadas para otimização de custos.
Se suas cargas de trabalho estiverem sujeitas a uma ou mais estruturas de conformidade, alguns dos logs de componentes que lidam com informações confidenciais também estarão sujeitos a essas estruturas. Envie os logs de componentes relevantes para um sistema SIEM (gerenciamento de eventos e informações de segurança), como o Microsoft Sentinel.
Crie uma política de retenção de log que incorpore os requisitos de retenção de longo prazo que as estruturas de conformidade impõem à sua carga de trabalho.
Use o log estruturado para todas as mensagens de log para otimizar a consulta dos dados de log.
Configure alertas para serem disparados quando os valores ultrapassarem limites críticos que se correlacionam com uma alteração de estado do modelo de integridade, como verde para amarelo ou vermelho.
A configuração de limite é uma prática de melhoria contínua. À medida que sua carga de trabalho evolui, os limites definidos podem mudar. Em alguns casos, os limites dinâmicos são uma boa opção para sua estratégia de monitoramento.
Considere o uso de alertas quando os estados melhorarem, como vermelho para amarelo ou vermelho para verde, para que as equipes de operações possam acompanhar esses eventos para referência futura.
Visualize a integridade em tempo real do seu ambiente.
Use os dados coletados durante os incidentes para melhorar continuamente seus modelos de integridade e sua estratégia de monitoramento e alerta.
Incorpore serviços de monitoramento e alerta de plataforma de nuvem, incluindo:
Integridade no nível da plataforma, como a Integridade do Serviço do Azure.
Integridade no nível do recurso, como Azure Resource Health.
Incorpore monitoramento e análise avançados criados especificamente que seu provedor de nuvem oferece, como as ferramentas de insight do Azure Monitor.
Implemente o monitoramento de backup e recuperação para capturar:
O status de replicação de dados para garantir que sua carga de trabalho atinja a recuperação dentro do RPO (objetivo de ponto de recuperação) de destino.
Backups e recuperações bem-sucedidos e com falha.
A duração da recuperação para informar seu planejamento de recuperação de desastre.
Monitorar aplicativos
Crie investigações de integridade ou funções de verificação e execute-as regularmente de fora do aplicativo. Certifique-se de testar em vários locais geograficamente próximos de seus clientes.
Registre dados enquanto o aplicativo é executado no ambiente de produção. Você precisa de informações suficientes para diagnosticar a causa dos problemas no estado de produção.
Registre em log os eventos nos limites dos serviços. Inclua uma ID de correlação que flua nos limites dos serviços. Se uma transação fluir por vários serviços e um deles falhar, a ID de correlação ajudará você a rastrear solicitações em seu aplicativo e identificar por que a transação falhou.
Use logs assíncronos. Às vezes, as operações de log síncronas bloqueiam o código do aplicativo, o que faz com que as solicitações sejam feitas à medida que os logs são gravados. Use o log assíncrono para preservar a disponibilidade durante o registro em log do aplicativo.
Separe o registro em log do aplicativo da auditoria. Os registros de auditoria geralmente são mantidos para conformidade ou requisitos regulatórios e devem ser concluídos. Para evitar transações descartadas, mantenha logs de auditoria separados dos logs de diagnóstico.
Use a correlação de telemetria para garantir que você possa mapear transações por meio do aplicativo de ponta a ponta e dos fluxos críticos do sistema. Esse processo é vital para realizar a análise de causa raiz (RCA) para falhas. Colete métricas e logs no nível da plataforma, como porcentagem de CPU, entrada de rede, saída de rede e operações de disco por segundo, do aplicativo para informar um modelo de integridade e detectar e prever problemas. Essa abordagem pode ajudar a distinguir entre falhas transitórias e não transitórias.
Use o monitoramento de caixa branca para instrumentar o aplicativo com logs semânticos e métricas. Colete métricas e logs no nível do aplicativo, como consumo de memória ou latência de solicitação, do aplicativo para informar um modelo de integridade e detectar e prever problemas.
Use o monitoramento de caixa preta para medir os serviços da plataforma e a experiência do cliente resultante. O monitoramento de caixa preta testa o comportamento do aplicativo visível externamente sem conhecimento dos mecanismos internos do sistema. Essa abordagem é comum para medir SLIs (indicadores de nível de serviço) centrados no cliente, SLOs (objetivos de nível de serviço) e SLAs (contratos de nível de serviço).
Observação
Para obter mais informações sobre o monitoramento de aplicativos, consulte Padrão de monitoramento de ponto de extremidade de integridade.
Monitore dados e armazenamento
Monitore as métricas de disponibilidade de seus contêineres de armazenamento. Quando essa métrica cai abaixo de 100%, ela indica gravações com falha. Quedas transitórias na disponibilidade podem ocorrer quando seu provedor de nuvem gerencia a carga. Acompanhe as tendências de disponibilidade para determinar se há um problema com sua carga de trabalho.
Em alguns casos, uma queda nas métricas de disponibilidade de um contêiner de armazenamento indica um afunilamento na camada de computação associada ao contêiner de armazenamento.
Há muitas métricas a serem monitoradas para bancos de dados. No contexto da confiabilidade, as métricas importantes a serem monitoradas incluem:
Duração da consulta
Tempos limite
Tempos de espera
Demanda de memória
Bloqueios
Facilitação do Azure
O Azure Monitor é uma solução de monitoramento abrangente usada para coletar, analisar e responder a dados de monitoramento de seus ambientes locais e de nuvem.
O Log Analytics é uma ferramenta no portal do Azure usada para editar e executar consultas de log em dados no workspace do Log Analytics.
O Application Insights é uma extensão do Azure Monitor. Ele fornece recursos de monitoramento de desempenho de aplicativos (APM).
Os insights do Azure Monitor são ferramentas de análise avançada que ajudam a monitorar os serviços do Azure, como máquinas virtuais, serviços de aplicativos e contêineres. Os insights são criados com base no Azure Monitor e no Log Analytics.
Azure Monitor para Soluções SAP é um produto de monitoramento nativo do Azure para cenários SAP executados no Azure.
O Azure Policy ajuda a impor padrões organizacionais e a avaliar a conformidade em escala.
O Centro de Continuidade de Negócios do Azure fornece insights sobre sua propriedade de continuidade de negócios. À medida que você aplica as abordagens fornecidas para BCDR (continuidade dos negócios e recuperação de desastre), use o Centro de Continuidade de Negócios do Azure para centralizar o gerenciamento da proteção de continuidade dos negócios no Azure e em cargas de trabalho híbridas. O Centro de Continuidade de Negócios do Azure identifica recursos que não têm proteção adequada (por meio de backup ou recuperação de desastre) e executa ações corretivas. A ferramenta facilita o monitoramento unificado e permite que você estabeleça a governança e a conformidade de auditoria por meio do Azure Policy, tudo convenientemente acessível em um único local.
Para obter várias práticas recomendadas de workspace, consulte Criar uma arquitetura de workspace do Log Analytics.
Exemplo
Para obter exemplos de soluções de monitoramento do mundo real, consulte Monitoramento de aplicativos Web no Azure e Arquitetura de linha de base para um cluster do Serviço de Kubernetes do Azure.
Links relacionados
- Alertas para DevOps
- Alertas para operações
- Diretrizes de monitoramento e diagnóstico
- Monitoramento de aplicativos Web no Azure
Links da comunidade
- Os Alertas de Linha de Base do Azure Monitor (AMBA) são um repositório central de definições de alerta que clientes e parceiros podem usar para melhorar sua experiência de observabilidade por meio da adoção do Azure Monitor.
Lista de verificação de confiabilidade
Consulte o conjunto completo de recomendações.