Editar

Share via


Monitoramento de desempenho e disponibilidade híbrida

Hubs de eventos do Azure
Azure Log Analytics
Azure Monitor
Armazenamento do Azure
Máquinas Virtuais do Azure

Esta arquitetura de referência mostra como usar o Azure Monitor para monitorar o desempenho e a disponibilidade de cargas de trabalho do sistema operacional (SO) executadas em máquinas virtuais (VMs). As VMs podem estar no Microsoft Azure, em ambientes locais ou em nuvens que não sejam do Azure.

Arquitetura

Diagrama ilustrando as funções de monitoramento e disponibilidade do Azure Monitor para cargas de trabalho do sistema operacional no Azure, em ambientes locais e com provedores de nuvem de terceiros. Os dados estão sendo enviados para um espaço de trabalho do Log Analytics. Os dados são usados pelos serviços Application Insights, Análise, Visualização, Alertas e Autoscale como parte do Azure Monitor

Baixe um Arquivo Visio dessa arquitetura.

Workflow

  • Escritório central local - VM 1. Esse componente é um aplicativo Web com acesso à Internet e uma página da Web voltada para o público, e os agentes do Log Analytics e do Dependency instalados. Para obter informações sobre agentes, consulte Visão geral do agente do Log Analytics e Visão geral dos agentes do Azure Monitor, agente de dependência.
  • Escritório central local - VM 2. Esse ambiente de lógica de negócios não tem acesso à internet. No entanto, ele tem agentes de Log Analytics e Dependency instalados.
  • Escritório central local - VM 3. Esse componente é um armazenamento de dados sem acesso à Internet, mas com o Log Analytics e os agentes de dependência instalados.
  • Escritório principal local - gateway do Log Analytics. O gateway do Log Analytics coleta dados de log e métricas das três VMs locais e os entrega no espaço de trabalho do Log Analytics por TCP (Transmission Control Protocol) na porta 443.
  • Escritório principal local - Firewall. O tráfego de e para o ambiente local é roteado pelo firewall.
  • Gateway. O gateway fornece conectividade com a filial.
  • Filial local - VM 4. Esse componente é o aplicativo de negócios que está sendo executado sem acesso à Internet, mas com o Log Analytics e os agentes de dependência instalados. O agente do Log Analytics instalado na VM é configurado para transferir dados diretamente para o espaço de trabalho do Log Analytics sem a necessidade de um gateway do Log Analytics.
  • Filial local - Gateway. Esse gateway conecta a filial ao escritório principal local por meio de uma VPN (Rede Privada Virtual).
  • Provedor de nuvem de terceiros - VM 5. Esse componente é um aplicativo Web com acesso à Internet, uma página da Web voltada para o público e agentes de Log Analytics e Dependência instalados.
  • Provedor de nuvem de terceiros - VM 6. Esse componente é um ambiente de armazenamento de dados sem acesso à Internet, mas com o Log Analytics e os agentes de dependência instalados. Não há conectividade direta dos ambientes de provedores de nuvem de terceiros com os ambientes locais.
  • Azure - VMSS. Este é um conjunto de escala criado usando Conjuntos de Dimensionamento de Máquina Virtual do Azure. Ele executa um aplicativo de negócios com os agentes de análise e diagnóstico de log instalados.
  • Azure - Servidor de aplicativos. Esse servidor tem uma única VM executando um aplicativo de negócios, com o Log Analytics e agentes de diagnóstico instalados.
  • Métricas do Azure Monitor. Os dados coletados pelas métricas do Azure Monitor são armazenados em um banco de dados de série temporal otimizado para analisar dados com carimbo de data/hora. Ele também armazena métricas enviadas de VMs locais e VMs do Azure.
  • Azure Monitor - espaço de trabalho do Log Analytics. Esse espaço de trabalho armazena logs enviados de VMs locais, VMs do Azure e VMs em provedores de nuvem de terceiros. O espaço de trabalho é um recurso do Azure onde os dados são agregados e serve como um limite administrativo para acessar esses dados. Outros serviços do Azure Monitor se conectam ao espaço de trabalho do Log Analytics e usam os dados para várias finalidades. Para saber mais, confira Como criar uma implantação de Logs do Azure Monitor.
  • Azure Monitor - Insights - Application Insights. O Application Insights fornece análises de aplicativos e insights sobre seu uso. Nesta arquitetura de exemplo, um teste de ping de disponibilidade verifica a disponibilidade do aplicativo Web local. As regras de alerta são habilitadas para fornecer notificação de um teste com falha. Para obter mais informações, consulte O que é o Application Insights? e Monitorar a disponibilidade de qualquer site.
  • Azure Monitor - Insights - Azure Monitor para VMs. O Azure Monitor para VMs monitora o desempenho e a integridade de suas máquinas virtuais e conjuntos de dimensionamento de máquina virtual. O monitoramento inclui seus processos em execução e dependências de outros recursos. Nesse cenário, o Monitor do Azure para VMs fornecerá insights sobre suas máquinas virtuais. Para obter mais informações, consulte O que é o Azure Monitor para VMs?.
  • Azure Monitor - Análise. Os dados de log e métricas das VMs são consultados nas métricas do Azure Monitor e no espaço de trabalho do Log Analytics usando a linguagem de consulta Kusto (KQL). Os resultados fornecem insights sobre a infraestrutura, a topologia e os recursos. Para obter mais informações, consulte Kusto: Visão geral e exemplos de consulta de log do Azure Monitor.
  • Azure Monitor - Visualizações. O Azure Monitor usa ferramentas de visualização para revisar componentes de aplicativos e infraestrutura e comunicações entre serviços no Azure Monitor. As ferramentas de visualização incluem o Mapa de Aplicativo no Azure Application Insight, o recurso Mapa do Azure Monitor para VMs, Pastas de Trabalho do Azure Monitor e vários modos de exibição de painel disponíveis no Azure Monitor. Para obter mais informações, consulte Usar o recurso Mapa do Azure Monitor para VMs para entender os componentes do aplicativo, Criar e compartilhar painéis de dados do Log Analytics e Pastas de Trabalho do Azure Monitor.
  • Azure Monitor - Integrações. O Azure Monitor integra-se a uma variedade de ferramentas e extensões de parceiros e terceiros. Essas ferramentas e extensões aprimoram e se baseiam na funcionalidade existente do Azure Monitor, como análise e visualizações.
  • Azure Monitor - Ações - Alertas. Variações nos dados métricos e logarítmicos podem indicar a ocorrência de eventos. As regras definem as variações de dados que disparam alertas, fornecem notificações e iniciam respostas de correção. Nessa arquitetura, quando um alerta é disparado, os runbooks de automação corrigem automaticamente as VMs locais e as VMs do Azure. Ações Webhook, integração de Gerenciamento de Serviços e outros tipos de ação também estão disponíveis. Para obter mais informações, consulte Criar, exibir e gerenciar alertas de métrica usando o Azure Monitor e Criar, exibir e gerenciar alertas de log usando o Azure Monitor.
  • Azure Monitor - Ações - Autoscale. O dimensionamento automático adiciona ou remove instâncias de VM de acordo com o deman, o que mantém o desempenho e aumenta a relação custo-benefício. Nessa arquitetura, o Autoscale tem condições definidas em torno da carga média da CPU (em porcentagem). Quando as condições forem atendidas, o Azure Monitor Autoscale ajustará a escala definida de acordo com a demanda. Para saber mais, confira a Visão geral do dimensionamento automático no Microsoft Azure.

Componentes

Essa arquitetura consiste nos seguintes componentes:

Recomendações

As práticas recomendadas a seguir são recomendações que se aplicam à maioria dos cenários. Siga essas práticas, a menos que você tenha um requisito específico que as substitua.

Espaço de Trabalho do Log Analytics

Considere as seguintes recomendações ao criar o espaço de trabalho do Log Analytics:

  • Coloque o espaço de trabalho e os recursos na mesma região do Azure, se a latência for um fator importante.
  • Comece com um único espaço de trabalho do Log Analytics e aumente o número de espaços de trabalho à medida que os requisitos mudam.
  • Se você tiver equipes e recursos geograficamente dispersos, talvez precise de um espaço de trabalho por região.
  • Seu espaço de trabalho não precisa estar na mesma assinatura que os recursos que você está executando.

Alertas

Para cenários mais simples, você pode usar métricas para sinalizar alertas em vez de logs. Métricas:

  • Forneça uma contagem, ou valor numérico, para eventos como uso da CPU, memória disponível ou espaço lógico em disco.
  • Possuem baixa latência.
  • Ofereça maior granularidade, por exemplo, intervalos por segundo ou por minuto.
  • Notifique-o sobre um problema rapidamente.

Para coletar indicadores de desempenho personalizados ou métricas específicas de negócios para fornecer insights mais profundos, use métricas personalizadas. Para obter mais informações, consulte Métricas personalizadas no Azure Monitor (visualização).

Os alertas de métricas não são a resposta em todas as situações. Talvez você ainda queira usar alertas baseados em log quando precisar de mais personalização ou correlações mais poderosas.

Análise e Diagnóstico

Considere as seguintes recomendações para análise e diagnóstico:

  • Use logs para uma análise mais profunda. Os logs podem:

    • Forneça detalhes detalhados sobre eventos (em comparação com métricas).
    • Acontecem de forma intermitente.
    • Facilite diagnósticos mais profundos após um sinalizador de métrica inicial.
  • Personalize a coleta de dados de log (que é semelhante às métricas) usando a API do Coletor de Dados HTTP para enviar dados de log para um espaço de trabalho do Log Analytics. Para obter mais informações, consulte Enviar dados de log para o Azure Monitor com a API do Coletor de Dados HTTP (visualização pública).

  • Analise seus aplicativos de forma proativa com o recurso de detecção inteligente do Application Insight. A detecção inteligente aplica os recursos de aprendizado de máquina do Azure e a análise estatística para detectar problemas como anomalias de desempenho ou falha, vazamentos de memória ou degradação geral de aplicativos. Para obter mais informações, consulte Detecção inteligente no Application Insights.

  • Use o Azure Monitor para VMs - Mapeie para revisar conexões entre servidores, processos, latência de conexão de entrada e saída e portas em qualquer arquitetura conectada a TCP. Nenhuma configuração é necessária além da instalação de um agente. Com o Azure Monitor para VMs - Mapa, você pode interagir e interagir com seus servidores como sistemas interconectados.

Consultas do Log Analytics

Consulte os dados em um espaço de trabalho do Log Analytics usando o KQL para pesquisar termos, eventos específicos ou estados para identificar tendências e analisar padrões. Use o Gerenciador de consultas para procurar e selecionar consultas pré-escritas, modificá-las ou criar suas próprias. Você pode executar, salvar, compartilhar e exportar consultas de dentro de um espaço de trabalho e fixar suas consultas favoritas em um painel para reutilização.

Instalação do agente

Instale os agentes automaticamente e em escala, em vez de individualmente, usando opções de automação como Política do Azure, Azure PowerShell, modelos do Gerenciador de Recursos ou DSC (Configuração de Estado Desejado). Para obter mais informações, consulte Habilitar o Azure Monitor para VMs usando a Política do Azure, Habilitar o Azure Monitor para VMs usando o Azure PowerShell e Habilitar o Azure Monitor para VMs para uma máquina virtual híbrida - Configuração de Estado Desejado.

Painel

Para aplicativos críticos, crie um modo de exibição do Painel do Azure . Compartilhe ou disponibilize seu painel em uma tela compartilhada, em tempo real, para pessoas que precisam de dados críticos do aplicativo.

Considerações

Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.

Confiabilidade

A confiabilidade garante que seu aplicativo possa cumprir os compromissos que você assume com os seus clientes. Para obter mais informações, confira Visão geral do pilar de confiabilidade.

As considerações a seguir ajudam a garantir a disponibilidade em seu ambiente.

  • Testes de disponibilidade. O teste de ping de URL usado nessa arquitetura é o teste de disponibilidade externa mais simples. No entanto, outras opções estão disponíveis, como:
    • Teste web em várias etapas. Reproduz gravações de solicitações da Web sequenciadas para testar cenários complexos. Testes da Web de várias etapas são criados no Microsoft Visual Studio Enterprise e, em seguida, carregados no portal para execução.
    • Testes de disponibilidade de faixa personalizados. Use o método para enviar resultados de teste para o TrackAvailability() Application Insights.
  • Alertas. Quando você cria um teste de disponibilidade no Application Insights, as notificações de alerta de evento são habilitadas por padrão. Você pode editar as regras de alerta especificando o tipo de notificação e os detalhes, em Alertas do Azure Monitor>.

Segurança

A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.

Os itens a seguir são considerações para tornar seu ambiente mais seguro.

  • Espaço de Trabalho do Log Analytics. Os modos de acesso são definidos como um dos seguintes contextos:
    • Contexto do espaço de trabalho. Todos os logs que o espaço de trabalho tem permissão para acessar podem ser consultados. Esta é uma abordagem de acesso vertical. Por exemplo, uma equipe de segurança pode precisar acessar todos os dados de recursos de cima para baixo.
    • Contexto do recurso. Somente logs de recursos específicos podem ser consultados. Por exemplo, uma equipe de aplicativo pode receber acesso aos logs do recurso específico em que está trabalhando.
  • Proteja os dados em trânsito para o Log Analytics. Os dados em trânsito são protegidos usando o mínimo TLS (Transport Layer Security) 1.2. Você não precisa habilitar esse recurso explicitamente. Para obter mais informações, consulte Segurança de dados do Log Analytics.
  • Proteja os dados em repouso no Log Analytics. Os dados em repouso no Log Analytics são protegidos, de acordo com o Armazenamento do Azure, usando criptografia AES (Advanced Encryption Standard) de 256 bits por padrão.
  • Detecção Inteligente. Use o Smart Detection no Application Insights para analisar a telemetria gerada pelo seu aplicativo e detectar problemas de segurança. Para obter mais informações, consulte Pacote de detecção de segurança de aplicativo (visualização).
  • Integre o Azure Monitor com ferramentas de SIEM (Gerenciamento de Informações e Eventos de Segurança). Encaminhe seus dados de monitoramento para um hub de eventos com o Azure Monitor para integrar SIEM externo e ferramentas de monitoramento. Para obter mais informações, consulte Transmitir dados de monitoramento do Azure para um hub de eventos ou parceiro externo.

Otimização de custo

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.

Os itens a seguir são considerações para controlar e gerenciar custos em seu ambiente.

  • Azure Monitor. Os custos do Azure Monitor são baseados no consumo, geralmente chamados de pagamento conforme o uso.
  • Log Analytics. Você paga pela ingestão e retenção de dados. Você pode estimar e prever o número de VMs e a quantidade de dados (em gigabytes) que espera coletar de cada VM. Uma VM típica do Azure consome entre 1 gigabyte (GB) e 3 GB de dados por mês. Se você estiver avaliando o uso de dados com logs do Azure Monitor, use as estatísticas de dados de seu próprio ambiente e obtenha um desconto com reservas de capacidade.
  • Application Insights. Esse componente é cobrado de acordo com o volume de dados de telemetria que seu aplicativo envia e o número de testes da Web executados.
  • Consultas métricas. As consultas métricas são cobradas pelo número de chamadas feitas.
  • Alertas. Os alertas são cobrados com base no tipo e no número de sinais monitorados.
  • Notificações. As notificações são cobradas de acordo com o tipo e o número de notificações enviadas.
  • Azure Monitor. A seção Uso e custos estimados do Azure Monitor estima seus custos mensais com base nos 31 dias anteriores de uso.
  • Para obter mais informações, consulte Calculadora de preços e preços do Azure Monitor.

Excelência operacional

A excelência operacional abrange os processos de operações que implantam um aplicativo e o mantêm em execução na produção. Para obter mais informações, confira Visão geral do pilar de excelência operacional.

Capacidade de gerenciamento

A seguir estão considerações para tornar seu ambiente mais gerenciável.

DevOps

A seguir estão considerações para integrar seu ambiente com processos e soluções de DevOps.

  • Application Insights. Integre o Application Insights ao Azure Pipelines para ajudar a fazer melhorias de desempenho e usabilidade. O Application Insights pode detectar anomalias de desempenho automaticamente. Ele se conecta a várias ferramentas de desenvolvimento, como os Serviços de DevOps do Azure e o GitHub.
  • Instrumentação de Aplicação. Instrumente aplicativos modificando o código do aplicativo para habilitar a telemetria com o Application Insights. Os seguintes métodos são maneiras de instrumentar aplicativos:
    • Em tempo de execução. Instrumentar seu aplicativo Web no servidor em tempo de execução é ideal para aplicativos que já estão implantados, pois evita a necessidade de atualizar o código. Os cenários adequados incluem:
      • Aplicativos Microsoft ASP.NET ou ASP.NET Core hospedados nos Aplicativos Web do Azure
      • ASP.NET aplicativos hospedados no Microsoft Internet Information Services (IIS) em uma máquina virtual ou conjunto de dimensionamento de máquina virtual
      • ASP.NET aplicativos hospedados no IIS em uma VM local
      • Azure Functions baseado em Java
      • Node.JS aplicativos nos Serviços de Aplicativos Linux
      • Microsserviços hospedados no AKS
    • Em tempo de desenvolvimento. Adicione o Application Insights ao seu código para personalizar a coleta de telemetria e enviar mais dados. Os idiomas e plataformas suportados incluem:
      • Aplicativos ASP.NET
      • Aplicativos do ASP.NET Core
      • Aplicativos de Console .NET
      • Java
      • Node.js
      • Python
  • Use o IT Service Management Connector (ITSMC) para se conectar a ferramentas externas de ITSM (IT Service Management). O ITSMC conecta o Azure a produtos e serviços de ITSM com suporte, onde normalmente residem itens de trabalho relacionados a problemas. Para obter mais informações, consulte Conectar o Azure a ferramentas de ITSM usando o IT Service Management Connector.

Eficiência de desempenho

A eficiência do desempenho é a capacidade de dimensionar a carga de trabalho de maneira eficiente para atender às demandas exigidas pelos usuários. Para saber mais, confira Visão geral do pilar de eficiência de desempenho.

A seguir estão considerações para dimensionar seu ambiente.

  • Automatize a instalação e a configuração de seus recursos e aplicativos.
  • Aplicações geograficamente dispersas em larga escala. Use o Rastreamento Distribuído no Application Insights para rastrear dependências e chamadas em vários componentes de aplicativos, recursos de back-end e ambientes de microsserviços. Com o Rastreamento Distribuído , você pode depurar aplicativos que chamam além dos limites do processo, fora da pilha local. (Você não precisa habilitar Distributed Tracing, ele está disponível automaticamente como parte do App Insights.)
    • Duas opções para consumir dados de rastreamento distribuídos são:
      • Experiência em diagnóstico de transações. Essa experiência é semelhante a uma pilha de chamadas com uma dimensão de tempo adicionada. A experiência de diagnóstico de transações fornece visibilidade em uma única transação/solicitação. É útil para encontrar a causa raiz de problemas de confiabilidade e gargalos de desempenho de acordo com a solicitação. Para obter mais informações, consulte O que é rastreamento distribuído?
      • Experiência de mapa de aplicação. Isso agrega muitas transações para demonstrar como os sistemas interagem topologicamente e fornecer desempenho médio e taxas de erro. Para obter mais informações, consulte Mapa de aplicativos: aplicativos distribuídos de triagem.

Próximas etapas

Saiba mais sobre as tecnologias dos componentes:

Explorar arquiteturas relacionadas: