Monitorar o Distributed Cloud conectado

Saiba como monitorar a integridade, o tempo de atividade e os upgrades das cargas de trabalho do Google Distributed Cloud conectado. Para mais informações sobre como configurar o monitoramento e sobre as métricas disponíveis, consulte Registros e métricas.

Monitorar a integridade e o tempo de atividade da carga de trabalho

Você é responsável por monitorar a integridade e o tempo de atividade das cargas de trabalho (contêineres e máquinas virtuais) em execução no Distributed Cloud conectado.

Cargas de trabalho de contêiner

Para monitorar a integridade e o tempo de atividade das cargas de trabalho em contêiner que você implanta, recomendamos o uso da solução de métricas do Prometheus. É possível configurar o Prometheus para coletar métricas dos seus pods e serviços. Os serviços de sistema gerenciados pelo Google são monitorados e gerenciados automaticamente pelo Google. Para mais informações sobre como configurar o Prometheus, consulte Coletar métricas com o Prometheus.

Use as seguintes métricas principais para monitorar cargas de trabalho de contêiner. Se você usa o Prometheus, é responsável por implantar e gerenciar o Kube State Metrics para expor essas métricas específicas para suas cargas de trabalho:

  • kube_pod_status_phase: monitorar pods nas fases Failed ou Unknown.
  • kube_pod_container_status_waiting_reason: identificar pods presos em CrashLoopBackOff ou ImagePullBackOff.
  • container_cpu_usage_seconds_total e container_memory_working_set_bytes (do cAdvisor): monitorar o consumo de recursos para evitar problemas de memória insuficiente (OOM).

Cargas de trabalho de máquinas virtuais

No Distributed Cloud conectado, as máquinas virtuais (VMs) são executadas em pods padrão do Kubernetes, normalmente prefixados com virt-launcher-. Monitore a integridade e o status da VM principalmente verificando o status do recurso personalizado VirtualMachine ou monitorando as métricas do aplicativo na VM.

Use as métricas de pod virt-launcher subjacentes como indicadores secundários para os seguintes detalhes:

  • Uso de recursos: monitore o consumo de CPU e memória dos pods do inicializador para garantir que as VMs tenham recursos suficientes.
  • Fase do pod: acompanhe as fases do pod do inicializador para identificar VMs que não são iniciadas ou falham.

Para ajustar os recursos atribuídos a uma VM, modifique a especificação do recurso personalizado da VM. Não modifique os YAMLs do pod virt-launcher subjacente diretamente, porque eles são gerenciados pela plataforma. Qualquer mudança direta será substituída ou levará a erros de reconciliação.

Para solucionar problemas de VMs presas em um estado pendente, consulte Solucionar problemas de máquinas virtuais presas no estado pendente.

Monitorar upgrades do Distributed Cloud conectado

Monitore o progresso e o status dos upgrades de software do Distributed Cloud conectado usando as métricas do Cloud Monitoring e os comandos gcloud. Os upgrades são programados e executados pelo Google. O monitoramento é estritamente para visibilidade e planejamento da migração da carga de trabalho.

Para instruções detalhadas sobre como verificar se um upgrade está em andamento, monitorar o status e solucionar problemas de upgrades com falha, consulte Solucionar problemas de upgrades de software.

Monitoramento de vários clusters

Se você gerencia muitos clusters do Distributed Cloud conectado, recomendamos o uso do Cloud Monitoring para agregar e filtrar métricas.

  • Usar identificadores de recursos: as métricas exportadas para o Cloud Monitoring incluem identificadores que identificam a origem. Os identificadores disponíveis dependem do tipo de recurso:

    • Para métricas de cluster e contêiner, como k8s_container, os identificadores principais incluem os seguintes valores:

      • project_id: O Google Cloud projeto que hospeda o cluster.
      • location: A Google Cloud região em que o cluster está registrado.
      • cluster_name: o nome do cluster.
    • Para métricas de hardware, como edgecontainer.googleapis.com/machine, os identificadores principais incluem os seguintes valores:

      • resource_container: O Google Cloud projeto associado ao hardware.
      • location: aregião em que a zona do Distributed Cloud conectado está registrada. Google Cloud
      • machine_id: o identificador da máquina.

      As métricas de hardware não incluem um identificador cluster_name diretamente.

  • Criar painéis personalizados: crie painéis que mostrem os principais indicadores de integridade em toda a frota. Os principais indicadores de integridade incluem conectividade, status da VM e uso de recursos. Para mostrar dados de vários clusters em um único gráfico, use curingas ou operações de agrupamento.

  • Configurar alertas de vários clusters: configure políticas de alertas que se aplicam a vários clusters. Por exemplo, é possível criar um alerta que é acionado se alguma máquina em qualquer cluster perder a conectividade.

Estratégia de alertas

O monitoramento e a manutenção do Distributed Cloud conectado são uma responsabilidade compartilhada. Esta seção explica o que o Google alerta e como você pode configurar suas próprias políticas de alertas.

O que o Google alerta

O Google monitora continuamente a infraestrutura subjacente. Ele toma medidas e notifica você, se necessário, nas seguintes situações:

  • Falhas de hardware: falhas de fonte de alimentação, falhas de ventoinha, superaquecimento, ou falhas de disco, como um disco que atinge o limite de reserva ou o fim da vida útil.
  • Problemas de conectividade: perda completa de conexão entre a zona do Distributed Cloud conectado e Google Cloud.
  • Integridade do plano de controle: falhas no plano de controle do Kubernetes ou nos serviços de sistema gerenciados pelo Google.
  • Falhas de upgrade: processos de upgrade automatizados que ficam presos ou falham.

Configurar alertas

Configure suas próprias políticas de alertas no Cloud Monitoring ou no Prometheus para problemas que afetam suas cargas de trabalho ou ambiente local.

É possível configurar alertas para os seguintes problemas:

Problema Descrição sistema de monitoramento Detalhes
Inatividade da carga de trabalho Pods ou VMs que não são iniciados ou que falham Prometheus Para cargas de trabalho de contêiner, crie alertas em kube_pod_status_phase para detectar pods nas fases Failed ou Unknown. Também é possível alertar em kube_pod_container_status_waiting_reason quando ele é igual a CrashLoopBackOff ou ImagePullBackOff.
Cloud Monitoring Para cargas de trabalho de VM em execução em pods, configure alertas usando métricas de contêiner padrão do Kubernetes no Cloud Monitoring para acompanhar o status dos pods virt-launcher.
Esgotamento de recursos da carga de trabalho Uso de disco se aproximando da capacidade ou uso alto de memória ou CPU em cargas de trabalho Prometheus Para cargas de trabalho de contêiner, defina alertas de limite em container_cpu_usage_seconds_total e container_memory_working_set_bytes (do cAdvisor) para identificar pods que se aproximam dos limites de recursos.
Cloud Monitoring Para o armazenamento da máquina, monitore a métrica de utilização do disco da máquina edgecontainer.googleapis.com/machine/disk/utilization para detectar quando o armazenamento do nó está se aproximando da capacidade.
Problemas de rede local Quedas de interface de rede em máquinas Cloud Monitoring Monitore se a métrica de rede da máquina edgecontainer.googleapis.com/machine/network/up é false.
Perda de conectividade com a Internet Cloud Monitoring Monitore se a métrica de conectividade de rede edgecontainer.googleapis.com/machine/network/connectivity é false.
Reinicializações de máquinas Reinicializações ou desligamentos inesperados de máquinas Cloud Monitoring Configure alertas com as métricas edgecontainer.googleapis.com/machine/uptime e edgecontainer.googleapis.com/machine/restart_count. Para mais informações, consulte Solucionar problemas de reinicializações de máquinas.

O hardware do Distributed Cloud conectado é gerenciado pelo Google. Você não tem acesso SSH às máquinas nem controle sobre o sistema operacional do host. Se os alertas com base em métricas no nível da máquina forem acionados, como conectividade de rede ou reinicializações, seus itens de ação serão limitados à verificação da energia física, da fiação e das configurações de rede local e firewall ou à escalonamento do problema para o suporte do Google.