Stackdriver Monitoring

Nesta página, explicamos como usar o Stackdriver Monitoring para monitorar seus clusters do Google Kubernetes Engine (GKE).

Visão geral

É possível usar o Monitoring para monitorar sinais e criar operações nos clusters do GKE.

O Stackdriver monitora métricas do sistema e métricas personalizadas. As métricas do sistema são medidas da infraestrutura do cluster, como o uso da CPU ou da memória. As personalizadas são métricas específicas do aplicativo que você mesmo define, como o número total de sessões de usuários ativos ou de páginas renderizadas.

Nas métricas do sistema, o Stackdriver cria uma implantação que se conecta periodicamente a cada nó, coleta métricas sobre os pods e contêineres e, em seguida, as envia ao Stackdriver.

As métricas para uso dos recursos do sistema são coletadas das seguintes fontes:

  • CPU: container/cpu/usage_time
  • Memória: container/memory/bytes_used, coletada de memory.usage_in_bytes no cgroup
  • Memória evictable: container/memory/bytes_used, coletada do campo total_inactive_file da memory.stat
  • Memória non-evictable: medida por memory.usage_in_bytes - memory.total_inactive_file
  • Disco: container/disk/bytes_used

Para conseguir uma lista de outras métricas do sistema coletadas do GKE, consulte a lista de Métricas na documentação do Stackdriver.

Para saber como configurar métricas personalizadas, consulte Como usar métricas personalizadas ou siga o tutorial Como fazer escalonamento automático de implantações com métricas personalizadas.

Antes de começar

Prepare-se para a tarefa tomando as seguintes medidas:

  • Verifique se você ativou a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Verifique se o SDK do Cloud está instalado.
  • Defina o ID do projeto padrão:
    gcloud config set project [PROJECT_ID]
  • Se você estiver trabalhando com clusters zonais, defina a zona de computação padrão:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • Se você estiver trabalhando com clusters regionais, defina a região de computação padrão:
    gcloud config set compute/region [COMPUTE_REGION]
  • Atualize a gcloud para a versão mais recente:
    gcloud components update

Como ativar o Monitoring

É possível criar um cluster com o Monitoring ativado ou ativá-lo em um cluster atual.

Os pools de nós do cluster, inclusive o pool padrão, precisam ter o escopo do GCP necessário para interagir com o Monitoring (o escopo https://www.googleapis.com/auth/monitoring). Quando você cria um novo cluster com Monitoring, o Kubernetes Engine define esse escopo automaticamente. No entanto, os clusters atuais podem não ter as permissões necessárias.

Como criar um cluster com o Monitoring

gcloud

Quando você cria um cluster, a sinalização --enable-cloud-monitoring é definida automaticamente, o que ativa o Monitoring no cluster.

Para desativar esse comportamento padrão, configure a sinalização --no-enable-cloud-monitoring.

Console

  1. Acesse o menu do Kubernetes Engine no Console do GCP.

    Acessar o menu do Kubernetes Engine

  2. Clique em Criar cluster.

  3. Configure o cluster como quiser.

  4. Clique em Opções avançadas. Certifique-se de que o serviço Ativar o Stackdriver Monitoring esteja selecionado.

  5. Clique em Criar.

Como ativar o monitoramento para um cluster atual

gcloud

Para ativar o Monitoring para um cluster atual, execute o comando abaixo, em que [CLUSTER_NAME] é o nome do cluster.

gcloud beta container clusters update [CLUSTER_NAME] --monitoring-service monitoring.googleapis.com

Se você criou inicialmente o cluster sem o Monitoring e quer ativá-lo posteriormente, talvez os pools de nós do cluster não tenham o escopo GCP necessário. Como solução alternativa, crie um novo pool de nós com o mesmo número de nós e o escopo necessário da seguinte maneira:

gcloud container node-pools create adjust-scope \
    --cluster [CLUSTER_NAME] \
    --num-nodes [NUM_NODES] \
    --scopes https://www.googleapis.com/auth/monitoring

Depois de criar o novo pool de nós, mova seus Pods atuais para o novo pool de nós de escopo correto para usar o Monitoring. Para mais informações, consulte "Como atualizar escopos de VM sem tempo de inatividade".

Console

Se você criou inicialmente o cluster sem o Monitoring e quer ativá-lo posteriormente, talvez os pools de nós do cluster não tenham o escopo GCP necessário. Veja a seção gcloud antes desta para uma solução alternativa.

  1. Acesse o menu do Kubernetes Engine no Console do GCP.

    Acessar o menu do Kubernetes Engine

  2. Clique no botão de edição do cluster, que tem a forma de um lápis.

  3. Defina o valor da lista suspensa do Stackdriver Monitoring como Ativado.

  4. Clique em Salvar.

Como estender métricas de infraestrutura

Além das métricas do aplicativo, as métricas personalizadas do Stackdriver também podem usar medidas da infraestrutura do cluster não incluídas nas métricas do sistema, como o contêiner de E/S de disco. É possível implantar seus próprios agentes de monitoramento de infraestrutura para coletar e enviar essas métricas ao Stackdriver.

cAdvisor

É possível coletar métricas usando o cAdvisor, o agente de monitoramento de código aberto usado no Kubernetes. Use o prometheus-to-sd para enviar essas métricas para o Stackdriver.

Para executar o cAdvisor em seu próprio cluster, execute estas etapas:

  1. Clone cAdvisor:

    git clone https://github.com/google/cadvisor.git
    cd cadvisor
    
  2. Siga as instruções do cAdvisor DaemonSet (em inglês) para instalar o kustomize. Se você estiver usando o Cloud Shell, execute:

    go get github.com/kubernetes-sigs/kustomize
    
  3. Crie o namespace cAdvisor de exemplo e DaemonSet, que exporta todas as métricas de contêiner:

    kustomize build deploy/kubernetes/overlays/examples | kubectl apply -f -
    

    Agora você verá as métricas do Prometheus no Stackdriver no recurso gke_container.

  4. Siga as instruções de personalização do cAdvisor para fazer alterações no exemplo fornecido para atender às suas necessidades. Aplique suas alterações com:

    kustomize build deploy/kubernetes/overlays/<my_custom_patches> | kubectl apply -f -
    

Como ver métricas

É possível visualizar métricas no Console do Stackdriver Monitoring.

Visão geral do cluster

O Monitoring fornece um menu de visão geral para o GKE. Esse menu exibe informações úteis sobre seus clusters em painéis úteis.

Para acessar o menu de visão geral, execute estas etapas:

  1. Acesse o Console do Stackdriver Monitoring.

    Visitar o menu do Monitoring

  2. Passe o cursor sobre os recursos e, em seguida, selecione Kubernetes Engine.

  3. Selecione o cluster.

O menu de visão geral fornece os painéis padrão abaixo:

  • Incidentes: violações de políticas de alerta.
  • Eventos: lista cronológica de anomalias, incidentes, ciclo de vida, tags, políticas do IAM, implantações, observações, atualizações de provedores de nuvem e de gerenciamento de usuários que ocorrem na suas contas do Cloud.
  • Uso da CPU: exibe porcentagens de uso de CPU por cluster.
  • E/S de disco: exibe as taxas de E/S do disco por cluster em KB/s.
  • Tráfego de rede: exibe o tráfego de rede por cluster em KB/s.
  • Pods: lista de pods e nós (instâncias de VM do Compute Engine) em todos os namespaces. Selecionar qualquer pod ou nó abre a visão geral desse recurso.

Para saber mais sobre como visualizar métricas, consulte a documentação do Monitoring e a página Filtros do Monitoring.

Painéis

É possível criar painéis personalizados para nós e contêineres do GKE.

Para criar um painel, execute estas etapas:

  1. Acesse o Console do Stackdriver Monitoring.

    Visitar o menu do Monitoring

  2. Passe o cursor sobre Painéis, depois selecione Criar painel.

  3. Para criar um novo painel, clique em Adicionar gráfico.

  4. Preencha o campo Título com um nome para o painel.

  5. No campo Localizar tipo de recurso e métrica, pesquise "instância" e/ou "contêiner" e selecione as métricas que você quer.

  6. No campo Tipo de métrica, digite ou selecione no menu de preenchimento automático a métrica que você quer.

  7. Opcionalmente, use o Filtro para filtrar por um valor específico, como aplicativo, nome ou versão.

  8. Configure o painel conforme você quer. Para criar o painel, clique em Salvar.

Metrics Explorer

O Metrics Explorer permite selecionar uma métrica específica sobre os clusters e executar várias agregações.

Para usar o Metrics Explorer, realize estas etapas:

  1. Acesse o Console do Stackdriver Monitoring.

    Visitar o menu do Monitoring

  2. Passe o cursor sobre Recursos e, em seguida, selecione Metrics Explorer.

  3. No menu de pesquisa Encontrar métrica e tipo de recurso, digite gke_container para Tipo de recurso.

  4. Em Métrica, selecione a métrica que você quer.

  5. Opcionalmente, use o menu Filtrar para filtrar por recurso.

  6. Use as opções de Agregação para executar a agregação desejada.

Práticas recomendadas

  • Alerta: é possível configurar políticas de alerta que informam se algo suspeito ocorre em seu cluster.

Como desativar o monitoramento

gcloud

Para desativar o monitoramento de um cluster atual, execute o comando abaixo, em que [CLUSTER_NAME] é o nome do cluster.

gcloud beta container clusters update [CLUSTER_NAME] --monitoring-service none

Console

  1. Acesse o menu do Kubernetes Engine no Console do GCP.

    Acessar o menu do Kubernetes Engine

  2. Clique no botão de edição do cluster, que tem a forma de um lápis.

  3. Defina o valor da lista suspensa do Stackdriver Monitoring como Desativado.

  4. Clique em Salvar.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Stackdriver Monitoring
Precisa de ajuda? Acesse nossa página de suporte.