Configurar o monitoramento automático de aplicativos para cargas de trabalho


É possível economizar tempo e esforço ao configurar e manter aplicativos de monitoramento em execução no Google Kubernetes Engine (GKE) ativando o monitoramento automático de aplicativos para cargas de trabalho com suporte.

Como funciona o monitoramento automático de aplicativos

Quando você ativa o monitoramento automático de aplicativos, o GKE detecta instâncias implantadas de cargas de trabalho com suporte e implanta recursos PodMonitoring para cada instância de carga de trabalho detectada.

O monitoramento automático de aplicativos também instala painéis prontos para uso para monitorar aplicativos. As métricas são coletadas pelo Google Cloud Managed Service para Prometheus.

Cargas de trabalho compatíveis

O monitoramento automático de aplicativos é compatível com as seguintes cargas de trabalho:

Para mais informações sobre outras soluções de observabilidade prontas para uso que podem ser configuradas manualmente, consulte Introdução à configuração do exportador na documentação do Google Cloud Observability.

Antes de começar

Antes de começar, veja se você realizou as seguintes tarefas:

  • Ative a API Google Kubernetes Engine.
  • Ativar a API Google Kubernetes Engine
  • Se você quiser usar a CLI do Google Cloud para essa tarefa, instale e, em seguida, inicialize a CLI gcloud. Se você instalou a gcloud CLI anteriormente, instale a versão mais recente executando gcloud components update.

Requisitos para o monitoramento automático de aplicativos

Para ativar o monitoramento automático de aplicativos, seu cluster do GKE precisa atender aos seguintes requisitos:

  • Seu cluster precisa estar executando o GKE versão 1.28 ou mais recente.
  • É necessário ter a CLI gcloud versão 492.0.0 ou mais recente.
  • O cluster precisa ter a coleta gerenciada do Google Cloud Managed Service para Prometheus ativada. A coleta gerenciada do Google Cloud Managed Service para Prometheus é ativada por padrão em novos clusters.

Ativar o monitoramento automático de aplicativos

É possível ativar o monitoramento automático de aplicativos em clusters novos ou atuais do GKE usando o console do Google Cloud, a Google Cloud CLI ou a API GKE.

O raspagem de métricas leva até 10 minutos para começar em cargas de trabalho com suporte depois que você implanta uma nova carga de trabalho ou ativa o monitoramento automático de aplicativos para um cluster.

Console

Para ativar o monitoramento automático de aplicativos em um novo cluster, faça o seguinte:

  1. Acesse a página Google Kubernetes Engine no console do Google Cloud.

    Acessar o Google Kubernetes Engine

  2. Clique em Criar e, na seção Standard ou Autopilot, clique em Configurar.

  3. Para um cluster no modo Autopilot, clique em Configurações avançadas. Para um cluster no modo padrão, clique em Recursos.

  4. Na seção Operações, selecione Ativar o monitoramento automático de aplicativos.

  5. Clique em Criar.

Também é possível ativar o monitoramento automático de aplicativos em um cluster atual, atualizando o campo Ativar monitoramento automático de aplicativos na seção Operações da guia Detalhes do cluster.

gcloud

Para ativar o monitoramento automático de aplicativos em um novo cluster, use a opção --auto-monitoring-scope=ALL:

gcloud beta container clusters create-auto CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --auto-monitoring-scope=ALL

Substitua:

Também é possível atualizar um cluster usando o comando gcloud beta container clusters update.

API

Para ativar o monitoramento automático de aplicativos em um novo cluster, faça uma solicitação POST para o método clusters.create:

POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters

{
  "cluster": {
    "name": CLUSTER_NAME
    "initialNodeCount": 1,
    "monitoringConfig": {
      "managedPrometheusConfig": {
        "enabled": true,
        "autoMonitoringConfig": {
          "scope": ALL
        }
      }
    }
  }
}

Substitua:

  • PROJECT_ID: é seu ID do projeto no Google Cloud.
  • CLUSTER_NAME: o nome do novo cluster;
  • COMPUTE_LOCATION: a região do Compute Engine para o cluster.

Determinar se o monitoramento automático de aplicativos está ativado

É possível determinar se o monitoramento automático de aplicativos está ativado ou desativado para um cluster usando o console do Google Cloud, a CLI gcloud ou a API do GKE.

Console

Faça o seguinte:

  1. Acesse a página do Google Kubernetes Engine no Console do Google Cloud:

    Acessar o Google Kubernetes Engine

  2. Na lista de clusters, clique no nome do cluster.

  3. Na seção Recursos, o campo Monitoramento automático de aplicativo indica se o monitoramento automático de aplicativo está ativado ou desativado.

gcloud

Descreva o cluster:

gcloud container clusters describe CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --format='value(monitoringConfig.managedPrometheusConfig.autoMonitoringConfig.scope)'

Substitua:

O resultado será assim:

autoMonitoringConfig.scope: ALL

Na saída, se o valor do campo autoMonitoringConfig.scope for ALL, o monitoramento automático do aplicativo será ativado. Caso contrário, o monitoramento automático de aplicativos será desativado.

API

Faça uma solicitação GET ao método clusters.get:

GET https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME

Substitua:

  • PROJECT_ID: é seu ID do projeto no Google Cloud.
  • CLUSTER_NAME: o nome do cluster.
  • COMPUTE_LOCATION: a região do Compute Engine para o cluster.

O resultado será assim:

autoMonitoringConfig.scope: ALL

Na saída, se o valor do campo autoMonitoringConfig.scope for ALL, o monitoramento automático do aplicativo será ativado. Caso contrário, o monitoramento automático de aplicativos será desativado.

Ver painel

Quando você ativa o monitoramento automático de aplicativos, o GKE instala painéis prontos para uso no monitoramento de aplicativos para cargas de trabalho com suporte implantadas no cluster. Os painéis de cargas de trabalho com suporte que nunca foram executadas em um cluster não aparecem.

Para conferir os painéis com a telemetria das cargas de trabalho monitoradas automaticamente na página do Google Kubernetes Engine, faça o seguinte:

  1. Acesse a página do Google Kubernetes Engine no Console do Google Cloud:

    Acessar o Google Kubernetes Engine

  2. Clique no nome do cluster em que você quer acessar os painéis de cargas de trabalho monitoradas automaticamente.

  3. Clique na guia Observabilidade. A seção Integrations mostra os painéis configurados para cargas de trabalho com suporte em execução no cluster.

Para conferir os painéis com a telemetria de cargas de trabalho monitoradas automaticamente na página do Cloud Monitoring, faça o seguinte:

  1. Acesse a página Painéis.

    Ir para "Painéis"

  2. Clique na guia Lista de painéis.

  3. Selecione a categoria Integrações.

  4. Clique no nome do painel. Por exemplo, Visão geral do RabbitMQ Prometheus.

Desativar o monitoramento automático de aplicativos

Se você desativar o monitoramento automático de aplicativos em um cluster, os recursos PodMonitoring criados pelo GKE vão permanecer intactos, e o GKE vai continuar monitorando as cargas de trabalho com suporte. O GKE para de monitorar automaticamente novas instâncias de cargas de trabalho com suporte que você implanta no cluster. Para interromper o monitoramento das cargas de trabalho com suporte, é necessário excluir os recursos PodMonitoring criados pelo GKE. Se você reativar o monitoramento automático de aplicativos para um cluster, o GKE vai detectar e reconciliar os recursos PodMonitoring que criou anteriormente.

É possível desativar o monitoramento automático de aplicativos em um cluster usando o console do Google Cloud, a CLI gcloud ou a API GKE.

Console

  1. Acesse a página do Google Kubernetes Engine no Console do Google Cloud:

    Acessar o Google Kubernetes Engine

  2. Clique no nome do cluster.

  3. Na lista Recursos, encontre o campo Monitoramento automático de aplicativos.

  4. Clique em Editar.

  5. Desmarque a opção Ativar monitoramento automático de aplicativo.

  6. Clique em Salvar.

gcloud

Atualize o cluster usando a opção --auto-monitoring-scope=NONE:

gcloud beta container clusters update CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --auto-monitoring-scope=NONE

Substitua:

API

Faça uma solicitação PUT ao método clusters.update:

PUT https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME

{
  "update": {
    "desiredMonitoringConfig": {
      "managedPrometheusConfig": {
        "autoMonitoringConfig": {
          "scope": NONE
        }
      }
    }
  }
}

Substitua:

  • PROJECT_ID: é seu ID do projeto no Google Cloud.
  • CLUSTER_NAME: o nome do cluster.
  • COMPUTE_LOCATION: a região do Compute Engine para o cluster.

Personalizar o monitoramento automático de cargas de trabalho com suporte

É possível personalizar a configuração de monitoramento para instâncias individuais de cargas de trabalho com suporte ou desativar o monitoramento de instâncias individuais de cargas de trabalho com suporte.

Para personalizar o recurso PodMonitoring de uma instância implantada de uma carga de trabalho com suporte sem afetar o monitoramento automático de outros trabalhos, exclua a instância do monitoramento automático de aplicativos e atualize a configuração ou substitua o recurso PodMonitoring associado à instância de carga de trabalho de destino.

Se você atualizar ou excluir um recurso PodMonitoring que o GKE criou sem excluir a carga de trabalho associada, o GKE vai restaurar o recurso PodMonitoring para garantir a continuidade enquanto monitora outras cargas de trabalho com suporte.

Encontrar o recurso PodMonitoring de uma carga de trabalho

É possível identificar o recurso PodMonitoring que o GKE criou para uma carga de trabalho usando o console do Google Cloud:

  1. Acesse a página Navegador de objetos.

    Acessar o navegador de objetos

  2. No campo Cluster, insira o nome do cluster.

  3. No campo Namespace, insira o nome do namespace.

  4. No filtro Tipos de objeto, selecione PodMonitoring.

  5. Em monitoring.googleapis.com, selecione PodMonitoring.

  6. Clique no nome de um objeto para inspecionar. O rótulo de metadados source:gke-auto-monitoring indica que o GKE criou o recurso PodMonitoring.

Excluir instâncias implantadas do monitoramento automático

Se você não quiser monitorar uma instância implantada de uma carga de trabalho com suporte ou se quiser personalizar a configuração de monitoramento de uma carga de trabalho, exclua a carga de trabalho do monitoramento automático de aplicativos.

Para excluir uma carga de trabalho, adicione o rótulo de metadados allow-gke-auto-monitoring: false à configuração da carga de trabalho de destino. Por exemplo, o manifesto a seguir descreve um StatefulSet do RabbitMQ que não é monitorado pelo monitoramento automático de aplicativos:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rabbitmq
  allow-gke-auto-monitoring: false
spec:
  serviceName: rabbitmq
  replicas: 3

Depois de excluir uma instância de carga de trabalho, é possível excluir o recurso PodMonitoring criado pelo GKE para a carga de trabalho. O GKE não tenta restaurar o recurso PodMonitoring se você o excluir ou modificar. Se você implantar uma nova carga de trabalho com o rótulo de metadados allow-gke-auto-monitoring: false, o GKE não criará um recurso PodMonitoring para a carga de trabalho.

Excluir a configuração de monitoramento de uma carga de trabalho

Se você quiser parar de monitorar uma carga de trabalho ou implantar seu próprio recurso PodMonitoring personalizado para uma carga de trabalho, exclua a configuração de monitoramento.

Para excluir a configuração de monitoramento automático de aplicativos de uma carga de trabalho individual, faça o seguinte:

  1. Exclua a carga de trabalho do monitoramento automático de aplicativos.
  2. Identifique o recurso PodMonitoring que o GKE criou para a carga de trabalho.
  3. Exclua o recurso PodMonitoring:

    kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
    

    Substitua:

    • POD_MONITORING_NAME: o nome do recurso PodMonitoring.
    • NAMESPACE: o namespace do recurso PodMonitoring.

Para excluir a configuração de monitoramento automático de aplicativos de todas as cargas de trabalho em um cluster, faça o seguinte:

  1. Desative o monitoramento automático de aplicativos.
  2. Exclua todos os recursos PodMonitoring do cluster com o rótulo de metadados source:gke-auto-monitoring:

    kubectl delete podmonitorings -l source=gke-auto-monitoring --all-namespaces
    

Preços

A configuração do monitoramento automático de aplicativos e a instalação de painéis prontos para uso para cargas de trabalho com suporte ao monitoramento automático de aplicativos estão disponíveis sem custo extra. No entanto, o monitoramento cobra pela ingestão de métricas pelo Google Cloud Managed Service para Prometheus de acordo com os preços do monitoramento.

A seguir