Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a esta recomendação da lista de verificação de Excelência Operacional do Azure Well-Architected Framework:
| OE:07 | Conceba uma pilha de monitorização que recolha telemetria operacional, métricas e registos da infraestrutura e do código da carga de trabalho, para validar decisões de conceção e orientar melhorias futuras. |
|---|
A observabilidade, ou monitorização, é uma prática operacional chave que dá à equipa de carga de trabalho a capacidade de compreender o estado interno de um sistema com base nos dados externos que este produz. Ao contrário da pilha funcional, que implementa lógica de negócio e funcionalidades essenciais, a pilha de monitorização corre em paralelo. Recolhe e analisa métricas, registos, traços e eventos que mostram como as cargas de trabalho se comportam em condições reais.
A conceção da pilha de monitorização requer um planeamento cuidadoso, pois dá visibilidade a aspetos transversais como a fiabilidade, o desempenho, a segurança e o custo. Uma pilha de monitorização bem estruturada permite a deteção precoce de problemas, resposta eficaz a incidentes e decisões operacionais informadas. Constitui a base para uma gestão proativa e melhoria contínua.
Este guia descreve estratégias-chave para desenhar uma pilha de monitorização que suporte funções de monitorização, deteção e alerta. Para orientações de implementação, incluindo processos por etapas e playbooks, consulte o artigo complementar: Construa um sistema de monitorização para cargas de trabalho Azure.
Definições
| Termo | Definição |
|---|---|
| Telemetria | Um termo coletivo para registos, métricas, vestígios e eventos. A telemetria fornece a base para a observabilidade. |
| Registos | Foram registados eventos do sistema que captam o que aconteceu no sistema. Os registos podem ser estruturados ou texto livre com carimbos de data. São úteis para detetar e investigar anomalias. |
| Metrics | Valores numéricos recolhidos a intervalos regulares que descrevem o desempenho do sistema. As métricas ajudam a identificar tendências no desempenho e fiabilidade da carga de trabalho. |
| Observabilidade | Uma prática que ajuda as equipas a detetar problemas, acompanhar tendências de desempenho e tomar decisões operacionais. |
| IDs de correlação | Identificadores únicos que acompanham eventos relacionados em múltiplos componentes para permitir o rastreio de ponta a ponta das transações em sistemas distribuídos. |
| Instrumentação | Adicionar capacidades de monitorização às aplicações e infraestruturas para captar telemetria. A telemetria capturada inclui registos, recolha de métricas e rastreio. |
| Modelo de saúde | Uma estrutura para medir a saúde da carga de trabalho utilizando indicadores, KPIs e métricas que refletem objetivos empresariais e operacionais. |
| Indicadores-chave de desempenho (KPIs) | Valores mensuráveis que mostrem quão eficazmente uma carga de trabalho alcança os objetivos empresariais e operacionais. Os KPIs orientam a recolha e análise de telemetria. |
| Gestão de desempenho de aplicações (APM) | Ferramentas e práticas para monitorizar o desempenho, disponibilidade e experiência do utilizador das aplicações. As ferramentas APM fornecem visibilidade em tempo real e histórica sobre métricas importantes. |
| Traces | Registos que mostram os caminhos dos pedidos através de sistemas distribuídos. Os rastreios ajudam a diagnosticar problemas que se estendem por vários serviços. |
Alinhar a telemetria com modelos de saúde e KPI
Defina indicadores de saúde da carga de trabalho, KPIs e métricas de desempenho para que as estratégias de recolha de telemetria reflitam estes objetivos. Acompanhe estes indicadores para detetar anomalias e assim possa tomar decisões sobre ações corretivas.
Liga a telemetria aos fluxos do sistema e do utilizador, e modela esses fluxos como entidades no teu modelo de saúde. Esta abordagem liga a saúde ao nível da aplicação aos sinais ao nível dos recursos e à saúde geral da carga de trabalho, pelo que a degradação numa dependência surge no nível onde o impacto no negócio é visível.
Oportunidade de IA: As equipas passam tempo a definir manualmente KPIs e telemetria. As ferramentas assistidas por IA podem sugerir telemetria comummente usada com base na arquitetura, dependências de serviços e código. Ferramentas como o GitHub Copilot ou o Claude Code também podem ajudar a adicionar instrumentação e gerar consultas ou modelos de infraestrutura como código (IaC). Incluir supervisão humana para garantir que a observabilidade impulsionada pela IA se mantém precisa e alinhada com os padrões.
Emitir telemetria a partir dos componentes da carga de trabalho
Captar sinais significativos da aplicação, infraestrutura e operações. Registar as exceções críticas com detalhe suficiente, mas permitir o ajuste da verbosidade para controlar o ruído.
Prefira telemetria estruturada para que os dados sejam consultáveis e pesquisáveis. Utilize esquemas consistentes e inclua informação contextual, tais como o componente de origem, marcas temporais e assim por diante. Procure a consistência, pois isso permite uma análise mais precisa dos eventos e uma correlação mais clara com os pedidos dos utilizadores. Para alcançar isto, adote uma estrutura de registo configurável que padronize a forma como a informação é captada em todo o sistema.
Compromisso: Aumente o detalhe dos registos para melhorar a depurabilidade e a rastreabilidade, mas esteja ciente de que os custos de armazenamento e processamento são mais elevados. Para gerir este compromisso, utilize logging detalhado no desenvolvimento e redução da verbosidade em produção, e confie em IDs de correlação para preservar a visibilidade das transações de ponta a ponta sem volume excessivo de log.
Ter uma forma de classificar a telemetria por preocupação operacional, como auditoria, segurança, depuração e desempenho, para simplificar o filtragem e impor controlos de acesso adequados. Certifica-te de que os dados da carga de trabalho não se misturam com telemetria. Limpe informações sensíveis do sistema ou do utilizador antes de realizar o registo, preservando contexto suficiente para fins de diagnóstico.
Garantir que as práticas de instrumentação são operacionalmente seguras. O registo deve ser realizado de forma não bloqueante, para não obstruir as operações do negócio, exceto em cenários críticos de auditoria. Mantenha a instrumentação extensível e desacoplada de backends específicos, e assegure que falhas na telemetria não se transformem em falhas de aplicação.
Trate a instrumentação como uma disciplina iterativa. Reveja e aperfeiçoe regularmente a telemetria para manter a clareza, relevância e desempenho à medida que o sistema evolui.
Observação
O perfil de aplicações pode ser outra forma de analisar como uma aplicação em execução utiliza recursos do sistema, como CPU, memória, E/S de disco e rede. Um perfilador liga-se à sua aplicação (durante o desenvolvimento ou em produção) e recolhe dados detalhados em tempo de execução. Existem duas abordagens: perfilação completa ou baseada em amostras. O perfil completo é mais preciso, mas pode acrescentar uma carga significativa e atrasar o sistema. Opte por amostras, onde os dados são recolhidos com base no tempo, como uma vez a cada n segundos, ou na frequência, como uma vez a cada n pedidos. Se os eventos forem frequentes, use amostragem para reduzir a sobrecarga. Se os eventos forem raros, use um perfil mais completo para não os perder.
Recolha telemetria ao longo da carga de trabalho
Os sistemas de telemetria utilizam dois modelos fundamentais de recolha. Num modelo de pull, um componente recolhe telemetria ao consultar um sistema alvo. Num modelo push, os componentes emitem telemetria à medida que enviam dados para fora. Escolha um modelo com base nos fatores que se aplicam à sua carga de trabalho. Por exemplo, os instantâneos periódicos são suficientes ou necessita de dados em tempo quase real? Qual é o volume de telemetria esperado? Qual é o tipo de dado: baseado em estados ou registos, eventos e vestígios?
É comum usar uma abordagem combinada. Por exemplo, agentes de monitorização podem usar um modelo de pull, que corre localmente juntamente com cada instância de aplicação para recolher periodicamente dados e escrevê-los em armazenamento partilhado. Ao mesmo tempo, pode utilizar um modelo push para telemetria de aplicações, em que cada instância emite registos, rastreios e métricas para uma fila de mensagens ou fluxo de eventos, à medida que ocorrem.
Prioriza a transferência de dados com base na importância. Dados menos urgentes podem ser transferidos em lotes, mas a informação sensível ao tempo deve ser enviada imediatamente.
Padronizar a consolidação de dados
Tirar a telemetria dos silos locais e consolidá-la num repositório central, se isso for exigido pela organização. Para soluções multirregional, recolha e armazena dados regionalmente primeiro, e depois agrega-os centralmente. No entanto, para cargas de trabalho críticas para o negócio, recomendamos o armazenamento autónomo dos dados.
Use formatos e métodos de recolha consistentes para que os dados possam ser acedidos para análise, painéis, alertas e relatórios. Evite a recuperação manual dos componentes, porque isso acrescenta sobrecarga e inconsistências.
Utilizar serviços de consolidação de dados para:
- Desduplicar dados.
- Fusão eventos relacionados usando IDs de correlação.
- Filtra informações desnecessárias.
Risco: Esteja ciente de que existem implicações de custos em ter armazenamentos de dados regionais e centralizados.
Adaptar o armazenamento e retenção para padrões de utilização
Selecione soluções de armazenamento principalmente com base nas necessidades de consulta e nos padrões de acesso. Por exemplo, os dados que geram alertas devem ser acedidos rapidamente, pelo que devem ser armazenados rapidamente e indexados ou estruturados para otimizar as consultas.
Use persistência poliglota para armazenar diferentes tipos de dados em tecnologias adequadas para o seu uso:
- Bases de dados SQL para contadores de desempenho
- Registos do Azure Monitor ou do Azure Data Explorer para registos de rastreio
- Sistema de Ficheiros Distribuídos Hadoop (HDFS) para informação de segurança
Além disso, separe o armazenamento de dados por ambiente. Esta separação impede que os dados não críticos do ambiente compliquem a monitorização da produção.
Planeia a retenção com base em como vais usar os dados. Mantém dados de alta resolução para análise e depuração de curto prazo, e conserva agregados de resolução inferior para tendências de longo prazo. Transferir dados antigos ou acessados com pouca frequência para armazenamento mais barato e manter dados recentes em sistemas mais rápidos para uma análise rápida. Isto equilibra desempenho com custo. Defina períodos de retenção para corresponder às necessidades operacionais e aos requisitos de conformidade, de modo a que os dados estejam disponíveis quando necessário, sem sobrecarga desnecessária de armazenamento.
Trate os dados de monitorização como qualquer outro dado crítico. Aplique a proteção adequada — controlo de acesso, eliminação suave e salvaguardas contra alterações acidentais.
Correlacionar dados para obter insights de ponta a ponta
Conceber a observabilidade para conectar a telemetria de métricas, logs e rastreamentos em todos os componentes. Este design permite o rastreamento distribuído das operações entre serviços, o que ajuda a diagnosticar problemas que abrangem vários níveis.
Use IDs de correlação de forma consistente para acompanhar transações nas camadas de apresentação, intermédia e de dados.
Agregar registos a nível de aplicação e de recurso para melhorar a resolução de problemas e acelerar a deteção de problemas. Considere uma solução unificada, como o Azure Log Analytics, para consultar e analisar dados entre níveis.
Alinhar a telemetria com os fluxos do sistema e do utilizador para correlacionar a saúde do fluxo com a saúde global da carga de trabalho. Compreender estes fluxos ajuda-o a garantir que a sua estratégia de observabilidade reflete tanto o comportamento ao nível dos componentes como o de ponta a ponta do sistema.
Analisar e visualizar para apoiar decisões acionáveis
Desenhar painéis e relatórios sobre modelos de saúde operacional. As visualizações devem permitir às equipas identificar rapidamente problemas, compreender tendências e priorizar respostas.
Um modelo de saúde fornece a camada semântica entre a telemetria e as decisões operacionais. Em vez de painéis baseados em métricas, visualize estados de saúde que analisam desde o nível da carga de trabalho até aos recursos individuais. Aproveite os modelos de saúde do Azure Monitor para obter visualizações integradas do estado de saúde em toda a hierarquia da entidade e acesso à API para integrar dados de saúde em ferramentas como o Grafana.
Use padrões e arquiteturas de monitorização comprovadas em vez de implementações personalizadas ou soluções ad hoc. Garanta que os dashboards são significativos e acionáveis. Os analistas podem usar painéis de controlo parametrizados para explorar os dados subjacentes.
Para cargas de trabalho de bases de dados, avalie os painéis de monitorização incorporados que os serviços cloud fornecem. Por exemplo, Azure Database para PostgreSQL oferece dashboards integrados do Grafana no portal Azure através da integração com o Azure Monitor. Estes painéis mostram o uso da CPU, armazenamento, ligações ativas e taxa de consultas com correlação de logs, reduzindo a necessidade de implementações de monitorização separadas.
Oportunidade de IA: Os dashboards focam-se frequentemente em métricas de negócio ou de engenharia. A IA pode analisar dados de todas as fontes relevantes e ajudá-lo a desenhar painéis integrados com as configurações e visualizações certas. Este design reduz o esforço manual e revela perceções que, de outra forma, poderiam passar despercebidas.
Defina alertas em torno de condições operacionais significativas
Defina alertas com base na saúde da carga de trabalho, não em valores arbitrários. Os alertas devem ser acionáveis e fornecer contexto. Estabeleça um processo de alerta claro e responsável que defina os proprietários, ações e o âmbito. Configure alertas com granularidade e verbosidade adequadas para minimizar o ruído, garantindo que os problemas críticos são detetados rapidamente.
Use um modelo de saúde que agregue múltiplos sinais correlacionados em estados de saúde e depois alerte sobre transições de estado, não sobre limiares de métricas isolados.
Valide os limites com base na experiência passada e nos testes regulares. Use armazenamento rápido para gerar dados de alertas e permitir notificações rápidas. Configure alertas para escopos bem definidos e ajuste a verbosidade para minimizar o ruído.
Automatize os alertas e ligue os alertas aos sistemas de tickets. Monitorizar a saúde dos serviços da plataforma cloud, as interrupções, a manutenção e os avisos.
Ferramentas de operações baseadas em IA, como Azure SRE Agent podem analisar padrões de alerta e diagnosticar problemas comuns como loops de colisão de pods ou taxas de erro elevadas. Estas ferramentas suportam autonomia configurável, começando pelas ações recomendadas e permitindo progressivamente respostas automatizadas dentro de limites definidos.
Oportunidade de IA: Pode usar IA para definir dinamicamente o comportamento "saudável" do sistema. Use IA para aprender padrões em contextos empresariais, como picos de tráfego, promoções, períodos calmos e variações regionais. A IA pode então analisar métricas, registos e dados de incidentes para prever problemas e recomendar limiares.
Conceba pipelines de telemetria escaláveis e duráveis
Os sistemas de observabilidade devem lidar com grande escala sem gargalos ou perda de dados. Para manter o fluxo de telemetria sob carga, inclua buffering, queueamento e caminhos de ingestão escaláveis.
Use mecanismos de fila para ambientes de grande escala para lidar com picos. Implemente redundância para evitar perder dados importantes. Planeie escalabilidade durante o design para garantir que os sistemas de monitorização crescem com as exigências de carga de trabalho.
Para cargas de trabalho complexas, utilize filas de mensagens com semântica de pelo menos uma vez. Execute múltiplos serviços de escrita em armazenamento para lidar com volumes elevados. Considere usar Hubs de Eventos do Azure para distribuir o processamento de telemetria e evitar estrangulamentos de I/O de ponto único.
Use a observabilidade para apoiar a melhoria contínua
Trate a observabilidade como um ciclo de retroalimentação. Use dados de produção para refinar o design da carga de trabalho, captura de telemetria e limiares de monitorização.
Equilibrar a automação e a supervisão humana para garantir a precisão. Reveja e evolua continuamente as abordagens de monitorização à medida que as cargas de trabalho mudam. Use a telemetria para identificar oportunidades de otimização, validar decisões de arquitetura e orientar projetos futuros.
Incluir monitorização e alertas nos testes de carga de trabalho em geral. Automatizar funções mantendo a capacidade de analisar tendências para prever questões operacionais e capacidade de planeamento.
Cuidado com os antipadrões
Muitas falhas de monitorização resultam de más escolhas arquitetónicas do que de limitações das ferramentas.
Não se limita a corrigir os sintomas, analisa porque surgiu o antipadrão e aborda a fraqueza subjacente ao design. Depois, aplicar mitigação, seja usando padrões claros de telemetria, avançando para métricas alinhadas com o negócio ou consciência de custos.
Recomendamos a leitura desta secção no guia de implementação complementar: Antipadrões e como os evitar.
Facilitação Azure
Azure Monitor é uma solução de monitorização para recolher, analisar e responder a dados de monitorização provenientes da sua cloud e ambientes locais.
Modelos de estado de funcionamento do Azure Monitor ajudam-no a definir, medir e visualizar o estado de funcionamento da carga de trabalho, correlacionando métricas, registos e rastreios em estados de funcionamento acionáveis nos recursos e componentes do Azure.
Log Analytics é uma ferramenta no portal Azure que pode usar para editar e executar consultas de registo sobre dados no espaço de trabalho Log Analytics.
Se estiver a usar múltiplos espaços de trabalho, consulte o guia de arquitetura do Log Analytics Workspace
para as melhores práticas. Application Insights é uma extensão de Azure Monitor. Ele fornece recursos de APM.
Azure Monitor Insights são ferramentas avançadas de análise para tecnologias Azure específicas (como VMs, serviços de aplicações e containers). Estas ferramentas fazem parte do Azure Monitor e do Log Analytics.
Azure Monitor para soluções SAP é uma ferramenta de monitorização Azure para paisagens SAP que funcionam em Azure.
Azure Policy pode ajudá-lo a fazer cumprir normas organizacionais e avaliar a conformidade em larga escala.
Observador de Rede do Azure é uma ferramenta que monitoriza, gere e audita a sua rede para garantir segurança, conformidade e desempenho.
Connection troubleshoot é uma ferramenta de diagnóstico em Observador de Rede. Ele fornece diagnóstico sob demanda e captura de pacotes (PCAP) para ajudar a investigar problemas de conectividade.
Connection Monitor é uma ferramenta de monitorização em Observador de Rede. Ele executa testes sintéticos contínuos e envia alertas em tempo real para problemas de conectividade e desempenho.
Análise de tráfego é uma solução de análise de tráfego em Observador de Rede. Ele visualiza a distribuição do tráfego, identifica os principais comunicadores e revela as tendências de utilização da largura de banda. Esses recursos fornecem uma visão unificada da integridade da rede.
Os registos de fluxo de rede virtual têm agora um conector Microsoft Sentinel nativo que exporta a telemetria de rede para o SIEM da sua organização. Esta integração passa a integrar os dados de fluxo na mesma camada de análise que os sinais de identidade e dos dispositivos finais, melhorando a correlação durante as investigações de segurança. Controle o volume de registos e os custos de análise à medida que dimensiona a ingestão.
Os alertas de log do Azure Monitor podem usar limiares dinâmicos derivados de comportamentos históricos. Utilize-as para escalar a deteção de anomalias através das linhas de base em mudança, mas valide padrões sazonais e certifique-se de que os intervenientes conhecem a ação esperada.
O Funções do Azure inclui dashboards Grafana integrados que fornecem vistas de saúde imediatas sem necessidade de configuração personalizada. Use-os para acelerar a visibilidade inicial, mas ainda definir alertas, dashboards e runbooks baseados em SLO.
O Azure Container Apps pode exportar dados do OpenTelemetry para backends externos através de integrações geridas. Padronize os destinos de forma deliberada e regule o encaminhamento, retenção e custos de ingestão antes de alargar a distribuição de telemetria.
Ligações relacionadas
- Guia de instrumentação
- Recomendações para a conceção de uma estratégia fiável de monitorização e alerta
- Recomendações para monitorização e deteção de ameaças
- Recomendações para a recolha de dados de desempenho
Ligações da comunidade
- Azure Monitor Alertas de Referência (AMBA) é um repositório central de definições de alertas que clientes e parceiros podem usar para melhorar a sua experiência de observabilidade através da adoção de Azure Monitor.
Lista de verificação de Excelência Operacional
Consulte o conjunto completo de recomendações.