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 compatíveis.

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 compatíveis 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:

O intervalo de raspagem de métricas para servidores de modelos de IA é de 15 segundos. Para cargas de trabalho não relacionadas à IA, o intervalo de raspagem é de 30 segundos.

Para mais informações sobre outras soluções de observabilidade prontas para uso que você pode configurar manualmente, consulte Introdução à configuração de exportadores 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 para clusters novos ou atuais do GKE usando o console Trusted Cloud , a Google Cloud CLI ou a API GKE.

A raspagem de métricas leva até 10 minutos para começar em cargas de trabalho compatíveis 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. No Trusted Cloud console, acesse a página Criar um cluster do Autopilot.

    Acessar "Criar um cluster do Autopilot"

    Você também pode concluir essa tarefa criando um cluster padrão.

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

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

  4. Clique em Criar.

Também é possível ativar o monitoramento automático de aplicativos para um cluster 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 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 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: o ID do projeto do Trusted 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 Trusted Cloud , a CLI gcloud ou a API GKE.

Console

Faça o seguinte:

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

    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 aplicativos indica se o recurso 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 de aplicativos estará 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: o ID do projeto do Trusted 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 de aplicativos estará 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 para monitorar aplicativos de cargas de trabalho compatíveis implantadas no cluster. Você não vai encontrar painéis para cargas de trabalho compatíveis que nunca foram executadas em um cluster.

Para conferir os painéis com telemetria de 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 Trusted Cloud console:

    Acessar o Google Kubernetes Engine

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

  3. Clique na guia Observabilidade. A seção Integrações mostra painéis configurados para cargas de trabalho compatíveis em execução no cluster.

Para conferir os painéis com 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 continuará monitorando as cargas de trabalho compatíveis. O GKE para de monitorar automaticamente novas instâncias de cargas de trabalho compatíveis implantadas no cluster. Para interromper o monitoramento das cargas de trabalho compatíveis atuais, é necessário excluir os recursos PodMonitoring criados pelo GKE. Se você reativar o monitoramento automático de aplicativos em um cluster, o GKE vai detectar e reconciliar os recursos PodMonitoring que foram criados anteriormente.

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

Console

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

    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 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: o ID do projeto do Trusted 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 compatíveis

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

Para personalizar o recurso PodMonitoring de uma instância implantada de uma carga de trabalho compatível sem afetar o monitoramento automático de aplicativos de outras cargas de trabalho, 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 criado pelo GKE sem excluir a carga de trabalho associada, o GKE vai restaurar o recurso PodMonitoring para garantir a continuidade enquanto monitora outras cargas de trabalho compatíveis.

Encontrar o recurso PodMonitoring para uma carga de trabalho

É possível identificar o recurso PodMonitoring que o GKE criou para uma carga de trabalho usando o console Trusted 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 inspecioná-lo. 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 compatível ou se quiser personalizar a configuração de monitoramento de uma carga de trabalho, exclua-a 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
  labels:
    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 que o GKE criou para ela. 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 vai criar um recurso PodMonitoring para ela.

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

Se você quiser interromper o monitoramento de 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 específica, 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 no 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 e instalação automáticas do monitoramento de aplicativos de painéis prontos para uso para cargas de trabalho compatíveis pelo monitoramento automático de aplicativos estão disponíveis sem custo adicional. No entanto, o Monitoring cobra pela ingestão de métricas pelo Google Cloud Managed Service para Prometheus de acordo com os preços do Monitoring.

A seguir