Configurar o monitoramento, os alertas e a geração de registros

Last reviewed 2024-09-02 UTC

Este documento no Framework da arquitetura do Google Cloud mostra como configurar o monitoramento, os alertas e a geração de registros para que você possa agir com base no comportamento do seu sistema. Isso inclui identificar métricas significativas para rastrear e criar painéis para facilitar a visualização de informações sobre seus sistemas.

O programa de pesquisa DevOps Resource and Assessment (DORA) define o monitoramento como:

"Monitoramento é o processo de coleta, análise e uso de informações para acompanhar aplicativos e infraestrutura, permitindo orientar as decisões de negócios. O monitoramento é um recurso importante, porque fornece informações sobre seus sistemas e trabalho."

O Monitoring permite que os proprietários de serviços:

  • Tome decisões embasadas quando as mudanças no serviço afetarem o desempenho
  • Aplicar uma abordagem científica à resposta a incidentes
  • Avaliar o alinhamento do seu serviço com as metas de negócios

Com o monitoramento, a geração de registros e os alertas ativados, é possível fazer o seguinte:

  • analisar tendências de longo prazo;
  • comparar experiências ao longo do tempo;
  • definir alertas sobre métricas importantes;
  • criar painéis relevantes em tempo real;
  • realizar análises retroativas;
  • monitorar métricas de negócios e de integridade do sistema
    • As métricas de negócios ajudam a entender o suporte que os sistemas oferecem ao seu negócio. Por exemplo, use métricas para monitorar os seguintes elementos:
      • O custo de um aplicativo para atender a um usuário
      • Mudança no volume de tráfego do site após uma reformulação
      • Quanto tempo leva para um cliente comprar um produto no seu site
    • As métricas de integridade do sistema ajudam a entender se os sistemas estão funcionando corretamente e dentro de níveis de desempenho aceitáveis.

Use os quatro sinais de ouro a seguir para monitorar seu sistema:

  • Latência. O tempo necessário para atender uma solicitação.
  • Tráfego. Quanto está sendo demandado do seu sistema.
  • Erros. A taxa de solicitações que falham. A falha pode ser explícita (por exemplo, HTTP 500s), implícita (por exemplo, uma resposta de sucesso HTTP 200 acoplada ao conteúdo errado) ou por política (por exemplo, se você se comprometer com uma resposta de um-segundo, qualquer solicitação acima de um segundo será um erro).
  • Saturação. A capacidade do serviço. Saturação é uma medida da fração do sistema, enfatizando os recursos mais restritos (ou seja, em um sistema restrito a memória, mostre memória em um sistema restrito por E/S, mostre I/O).

Criar um plano de monitoramento

Crie um plano de monitoramento que esteja alinhado à missão e à estratégia de operações da sua organização. Incluir planejamento de monitoramento e observabilidade durante o desenvolvimento do aplicativo. A inclusão de um plano de monitoramento no início do desenvolvimento do aplicativo pode levar uma organização a alcançar a excelência operacional.

Inclua os seguintes detalhes no plano de monitoramento:

  • Inclua todos os seus sistemas, incluindo recursos locais e na nuvem.
  • Inclua o monitoramento dos custos da nuvem para garantir que o escalonamento de eventos não faça com que o uso ultrapasse os limites do orçamento.
  • Crie diferentes estratégias de monitoramento para medir o desempenho da infraestrutura, a experiência do usuário e os indicadores principais de desempenho (KPIs, na sigla em inglês) do negócio. Por exemplo, limites estáticos podem funcionar bem para medir o desempenho da infraestrutura, mas não refletem verdadeiramente a experiência do usuário.

Atualize o plano de acordo com as estratégias de monitoramento. Repetir o plano para melhorar a integridade dos sistemas.

Definir métricas que avaliam todos os aspectos da organização

Defina as métricas necessárias para medir o comportamento da implantação. Para fazer isso, siga estas etapas:

  • Defina seus objetivos de negócio.
  • Identifique as métricas e os KPIs que podem fornecer informações quantificáveis para medir o desempenho. Certifique-se de que suas definições de métrica sejam traduzidas para todos os aspectos da sua organização, de necessidades empresariais a custos técnicos, incluindo custos de nuvem.
  • Use essas métricas para criar indicadores de nível de serviço (SLIs) para os aplicativos. Para mais informações, consulte Escolher SLIs apropriadas.

Métricas comuns para vários componentes

As métricas são geradas em todos os níveis do serviço, desde infraestrutura e rede até lógica de negócios. Por exemplo:

  • Métricas de infraestrutura:
    • Estatísticas de máquina virtual, incluindo instâncias, CPU, memória, utilização e contagens
    • Estatísticas baseadas em contêiner: incluindo utilização de cluster, capacidade de cluster, utilização de nível de pod e contagens.
    • Estatísticas de rede, incluindo entrada/saída, largura de banda entre componentes, latência e capacidade
    • Solicitações por segundo, conforme medido pelo balanceador de carga.
    • Total de blocos de disco lidos por disco.
    • Pacotes enviados por uma determinada interface de rede.
    • Tamanho do heap de memória para um determinado processo.
    • Distribuição de latências de resposta.
    • Número de consultas inválidas rejeitadas por uma instância de banco de dados.
  • Métricas de aplicação:
    • Comportamento específico do aplicativo, incluindo consultas por segundo, gravações por segundo e mensagens enviadas por segundo
  • Métricas de estatísticas de serviços gerenciados:
    • QPS, capacidade de processamento, latência e utilização para serviços gerenciados pelo Google (APIs ou produtos, como o BigQuery, o App Engine e o Bigtable)
  • Métricas de estatísticas de conectividade de rede:
    • Estatísticas relacionadas à VPN/interconexão sobre a conexão com sistemas no local ou de fora do Google Cloud.
  • SLIs.
    • Métricas associadas à integridade geral do sistema.

Configurar o monitoramento

Configure o monitoramento para monitorar recursos locais e na nuvem.

Escolha uma solução de monitoramento que:

  • A plataforma é independente
  • Fornece recursos uniformes para monitoramento de ambientes locais, híbridos e de várias nuvens

O uso de uma única plataforma para consolidar os dados de monitoramento recebidos de diferentes fontes permite criar métricas uniformes e painéis de visualização.

Ao configurar o monitoramento, automatize as tarefas de monitoramento sempre que possível.

Como monitorar com o Google Cloud

Usar um serviço de monitoramento, como o Cloud Monitoring, é mais fácil do que criar um serviço de monitoramento. Monitorar um aplicativo complexo é um esforço significativo de engenharia por si só. Mesmo com a infraestrutura atual para instrumentação, coleta de dados e exibição e alertas, esse é um trabalho em tempo integral para alguém criar e manter.

Considere usar o Cloud Monitoring para ter visibilidade do desempenho, da disponibilidade e da integridade dos aplicativos e da infraestrutura para recursos locais e na nuvem.

O Cloud Monitoring é um serviço gerenciado que faz parte do Google Cloud Observability. Use o Cloud Monitoring para monitorar os serviços do Google Cloud e métricas personalizadas. O Cloud Monitoring fornece uma API para integração com ferramentas de monitoramento de terceiros.

O Cloud Monitoring agrega métricas, registros e eventos da infraestrutura baseada na nuvem do sistema. Esses dados dão aos desenvolvedores e operadores um conjunto avançado de sinais observáveis que podem acelerar a análise da causa raiz e reduzir o tempo médio para resolução. Use o Cloud Monitoring para definir alertas e métricas personalizadas que atendam aos objetivos da sua empresa e ajudem a agregar, visualizar e monitorar a integridade do sistema.

O Cloud Monitoring conta com painéis padrão para serviços de aplicativos de nuvem e de código aberto. Usando o modelo de métricas, é possível definir painéis personalizados com ferramentas avançadas de visualização e configurar gráficos no Metrics Explorer.

Configurar alerta

Um bom sistema de alertas melhora sua capacidade de lançar recursos. Isso ajuda a comparar o desempenho ao longo do tempo para determinar a velocidade dos lançamentos de recursos ou a necessidade de reverter um lançamento de recurso. Para informações sobre reversões, consulte Restaurar versões anteriores sem problemas.

Ao configurar os alertas, mapeie-os diretamente para métricas importantes. Essas métricas críticas incluem:

  • Os quatro sinais de ouro:
    • Latência
    • Tráfego
    • Erros
    • Saturação
  • Integridade do sistema
  • Service Usage
  • Ocorrências de segurança
  • Experiência do usuário

Torne os alertas práticos para reduzir o tempo de resolução. Para fazer isso, siga estas etapas para cada alerta:

  • Inclua uma descrição clara, incluindo o que é monitorado e o impacto nos negócios.
  • Forneça todas as informações necessárias para agir imediatamente. Se alguns cliques e a navegação forem necessários para entender os alertas, a pessoa de plantão terá dificuldade para agir.
  • Defina níveis de prioridade para vários alertas.
  • Identifique claramente a pessoa ou a equipe responsável por responder ao alerta.

Para aplicativos e serviços essenciais, crie ações de recuperação automática nos alertas acionados devido a condições de falha comuns, como falhas de integridade do serviço, alterações de configuração ou picos de capacidade.

Ao configurar os alertas, tente eliminar o trabalho. Por exemplo, elimine o trabalho eliminando erros frequentes ou automatizando correções para esses erros, o que evita que um alerta seja acionado. Eliminar o trabalho permite que as pessoas que estão de plantão se concentrem em tornar os componentes operacionais do seu aplicativo confiáveis. Para mais informações, consulte Criar uma cultura de automação.

Criar painéis de monitoramento e alerta

Quando o monitoramento estiver em vigor, crie painéis relevantes e descomplicados que incluam informações dos seus sistemas de monitoramento e alerta.

A escolha de uma maneira adequada de visualizar seu painel pode ser difícil agrupar suas metas de confiabilidade. Crie painéis para visualizar ambos:

  • Análise de curto prazo e em tempo real
  • Análise de longo prazo

Para saber mais sobre como implementar o gerenciamento visual, consulte o artigo do recurso Gerenciamento visual.

Ativar a geração de registros para aplicativos essenciais

Os serviços de geração de registros são essenciais para monitorar sistemas. Embora as métricas sejam a base de itens específicos para monitorar, os registros contêm informações valiosas necessárias para depuração, análise relacionada à segurança e requisitos de conformidade.

Registrar os dados gerados pelos sistemas ajuda a garantir uma postura de segurança eficaz. Para mais informações sobre registros e segurança, consulte Implementar controles de detecção e geração de registros na categoria de segurança do framework de arquitetura.

O Cloud Logging é um serviço integrado de geração de registros que pode ser usado para armazenar, pesquisar, analisar, monitorar e criar alertas sobre eventos e dados de registros. O Logging coleta automaticamente os registros dos serviços do Google Cloud e de outros provedores de nuvem. Esses registros podem ser usados para criar métricas para monitoramento e exportações de registros para serviços externos, como Cloud Storage, BigQuery e Pub/Sub.

Configurar uma trilha de auditoria

Para responder a perguntas como "quem fez o quê, onde e quando" nos seus projetos do Google Cloud, use os Registros de auditoria do Cloud.

Os registros de auditoria do Cloud capturam vários tipos de atividade, como os seguintes:

  • Os Registros de atividade do administrador contêm entradas de registros para chamadas de API ou de outras ações administrativas que modificam a configuração ou os metadados de recursos. Os registros de atividades do administrador estão sempre ativados.
  • Os registros de auditoria de acesso a dados gravam chamadas de API que criam, modificam ou leem dados fornecidos pelo usuário. Os registros de auditoria de Acesso a dados estão desativados por padrão porque podem ser bem grandes. É possível configurar quais serviços do Google Cloud geram registros de acesso a dados.

Para uma lista dos serviços do Google Cloud que gravam registros de auditoria, consulte serviços do Google com registros de auditoria. Use os controles de gerenciamento de identidade e acesso (IAM) para limitar quem tem acesso para visualizar os registros de auditoria.

A seguir