Configure a monitorização automática de aplicações para cargas de trabalho


Pode poupar tempo e esforço na configuração e manutenção de aplicações de monitorização executadas no Google Kubernetes Engine (GKE) ativando a monitorização automática de aplicações para cargas de trabalho suportadas.

Como funciona a monitorização automática de aplicações

Quando ativa a monitorização automática de aplicações, o GKE deteta instâncias implementadas de cargas de trabalho suportadas e implementa recursos PodMonitoring para cada instância de carga de trabalho detetada.

A monitorização automática de aplicações também instala painéis de controlo prontos a usar para monitorizar aplicações. As métricas são recolhidas pelo serviço gerido do Google Cloud para o Prometheus.

Cargas de trabalho suportadas

A monitorização automática de aplicações suporta as seguintes cargas de trabalho:

O intervalo de recolha de métricas para servidores de modelos de IA é de 15 segundos. Para cargas de trabalho não relacionadas com IA, o intervalo de obtenção de dados é de 30 segundos.

Para mais informações sobre outras soluções de observabilidade prontas a usar que pode configurar manualmente, consulte a Introdução à configuração do exportador na documentação do Google Cloud Observability.

Antes de começar

Antes de começar, certifique-se de que realizou as seguintes tarefas:

  • Ative a API Google Kubernetes Engine.
  • Ative a API Google Kubernetes Engine
  • Se quiser usar a CLI gcloud para esta tarefa, instale-a e, em seguida, inicialize-a. Se instalou anteriormente a CLI gcloud, execute gcloud components update para obter a versão mais recente.

Requisitos para a monitorização automática de aplicações

Para ativar a monitorização automática de aplicações, o cluster do GKE tem de cumprir os seguintes requisitos:

  • O cluster tem de estar a executar a versão 1.28 do GKE ou posterior.
  • Tem de ter a versão 492.0.0 ou posterior da CLI gcloud.
  • O cluster tem de ter a recolha gerida do Google Cloud Managed Service for Prometheus ativada. A recolha gerida do Google Cloud Managed Service for Prometheus está ativada por predefinição para novos clusters.

Ative a monitorização automática de aplicações

Pode ativar a monitorização automática de aplicações para clusters do GKE novos ou existentes através da Trusted Cloud consola, da CLI Google Cloud ou da API GKE.

A extração de métricas demora até 10 minutos a iniciar para as cargas de trabalho suportadas depois de implementar uma nova carga de trabalho ou depois de ativar a monitorização automática de aplicações para um cluster.

Consola

Para ativar a monitorização automática de aplicações para um novo cluster, faça o seguinte:

  1. Na Trusted Cloud consola, aceda à página Criar um cluster do Autopilot.

    Aceda a Crie um cluster do Autopilot

    Também pode concluir esta tarefa criando um cluster padrão.

  2. Para um cluster no modo Autopilot, clique em Definições avançadas. Para um cluster do modo padrão, clique em Funcionalidades.

  3. Na secção Operações, selecione Ativar monitorização automática de aplicações.

  4. Clique em Criar.

Também pode ativar a monitorização automática de aplicações para um cluster existente atualizando o campo Ativar monitorização automática de aplicações na secção Operações do separador Detalhes do cluster.

gcloud

Para ativar a monitorização automática de aplicações para 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 o seguinte:

Também pode atualizar um cluster existente através do comando gcloud container clusters update.

API

Para ativar a monitorização automática de aplicações para um novo cluster, faça um POST pedido ao 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 o seguinte:

Determine se a monitorização automática de aplicações está ativada

Pode determinar se a monitorização automática de aplicações está ativada ou desativada para um cluster através da consola, da CLI gcloud ou da API GKE. Trusted Cloud

Consola

Faça o seguinte:

  1. Aceda à página do Google Kubernetes Engine na Trusted Cloud consola:

    Aceda ao Google Kubernetes Engine

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

  3. Na secção Funcionalidades, o campo Monitorização automática de aplicações indica se a monitorização automática de aplicações está ativada ou desativada.

gcloud

Descreva o cluster:

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

Substitua o seguinte:

O resultado é semelhante ao seguinte:

autoMonitoringConfig.scope: ALL

Na saída, se o valor do campo autoMonitoringConfig.scope for ALL, a monitorização automática da aplicação está ativada. Caso contrário, a monitorização automática de aplicações está desativada.

API

Faça um pedido GET ao método clusters.get:

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

Substitua o seguinte:

O resultado é semelhante ao seguinte:

autoMonitoringConfig.scope: ALL

Na saída, se o valor do campo autoMonitoringConfig.scope for ALL, a monitorização automática da aplicação está ativada. Caso contrário, a monitorização automática de aplicações está desativada.

Ver o painel de controlo

Quando ativa a monitorização automática de aplicações, o GKE instala painéis de controlo prontos a usar para monitorizar aplicações para cargas de trabalho suportadas implementadas no seu cluster. Não verá painéis de controlo para cargas de trabalho suportadas que nunca foram executadas num cluster.

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

  1. Aceda à página do Google Kubernetes Engine na Trusted Cloud consola:

    Aceda ao Google Kubernetes Engine

  2. Clique no nome do cluster onde quer ver os painéis de controlo para cargas de trabalho monitorizadas automaticamente.

  3. Clique no separador Observabilidade. A secção Integrações mostra painéis de controlo configurados para cargas de trabalho suportadas em execução no cluster.

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

  1. Aceda à página Painéis de controlo.

    Aceder a Painéis de controlo

  2. Clique no separador Lista de painéis de controlo.

  3. Selecione a categoria Integrações.

  4. Clique no nome do painel de controlo. Por exemplo, o artigo Vista geral do RabbitMQ Prometheus.

Desative a monitorização automática de aplicações

Se desativar a monitorização automática de aplicações num cluster, os recursos PodMonitoring que o GKE criou permanecem intactos e o GKE continua a monitorizar as cargas de trabalho suportadas existentes. O GKE deixa de monitorizar automaticamente novas instâncias de cargas de trabalho suportadas que implementa no cluster. Para parar a monitorização de cargas de trabalho suportadas existentes, tem de eliminar os recursos PodMonitoring criados pelo GKE. Se reativar a monitorização automática de aplicações para um cluster, o GKE deteta e reconcilia os recursos PodMonitoring que criou anteriormente.

Pode desativar a monitorização automática de aplicações para um cluster através da Trusted Cloud consola, da CLI gcloud ou da API GKE.

Consola

  1. Aceda à página do Google Kubernetes Engine na Trusted Cloud consola:

    Aceda ao Google Kubernetes Engine

  2. Clique no nome do cluster.

  3. Na lista Funcionalidades, encontre o campo Monitorização automática de aplicações.

  4. Clique em Editar.

  5. Desmarque a opção Ativar monitorização automática de aplicações.

  6. Clique em Guardar.

gcloud

Atualize o cluster através da opção --auto-monitoring-scope=NONE:

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

Substitua o seguinte:

API

Faça um pedido 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 o seguinte:

Personalize a monitorização automática de cargas de trabalho suportadas

Pode personalizar a configuração de monitorização para instâncias individuais de cargas de trabalho suportadas ou desativar a monitorização de instâncias individuais de cargas de trabalho suportadas.

Para personalizar o recurso PodMonitoring para uma instância implementada de uma carga de trabalho suportada sem afetar a monitorização automática de aplicações de outras cargas de trabalho, tem de excluir a instância da monitorização automática de aplicações e, em seguida, atualizar a configuração ou substituir o recurso PodMonitoring associado à instância da carga de trabalho de destino.

Se atualizar ou eliminar um recurso PodMonitoring que o GKE criou sem excluir a carga de trabalho associada, o GKE restaura o recurso PodMonitoring para garantir a continuidade enquanto monitoriza outras cargas de trabalho suportadas.

Encontre o recurso PodMonitoring para uma carga de trabalho

Pode identificar o recurso PodMonitoring que o GKE criou para uma carga de trabalho através da consola: Trusted Cloud

  1. Aceda à página Navegador de objetos.

    Aceda ao navegador de objetos

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

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

  4. No filtro Tipos de objetos, selecione PodMonitoring.

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

  6. Clique no nome de um objeto para inspecioná-lo. A etiqueta de metadados source:gke-auto-monitoring indica que o GKE criou o recurso PodMonitoring.

Exclua instâncias implementadas da monitorização automática

Se não quiser monitorizar uma instância implementada de uma carga de trabalho suportada ou quiser personalizar a configuração de monitorização de uma carga de trabalho, pode excluir a carga de trabalho da monitorização automática de aplicações.

Para excluir uma carga de trabalho, tem de adicionar a etiqueta de metadados allow-gke-auto-monitoring: false à configuração da carga de trabalho de destino. Por exemplo, o manifesto seguinte descreve um StatefulSet do RabbitMQ que não é monitorizado pela monitorização automática de aplicações:

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, pode eliminar o recurso que o GKE criou para a carga de trabalho.PodMonitoring O GKE não tenta restaurar o recurso PodMonitoring se o eliminar ou modificar. Se implementar uma nova carga de trabalho com a etiqueta de metadados allow-gke-auto-monitoring: false, o GKE não cria um recurso PodMonitoring para a carga de trabalho.

Elimine a configuração de monitorização de uma carga de trabalho

Se quiser parar de monitorizar uma carga de trabalho ou implementar o seu próprio recurso PodMonitoring personalizado para uma carga de trabalho, pode eliminar a configuração de monitorização.

Para eliminar a configuração de monitorização automática de aplicações de uma carga de trabalho individual, faça o seguinte:

  1. Exclua a carga de trabalho da monitorização automática de aplicações.
  2. Identifique o recurso PodMonitoring que o GKE criou para a carga de trabalho.
  3. Elimine o recurso PodMonitoring:

    kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
    

    Substitua o seguinte:

    • POD_MONITORING_NAME: o nome do recurso PodMonitoring.
    • NAMESPACE: o espaço de nomes do recurso PodMonitoring

Para eliminar a configuração de monitorização automática de aplicações de todas as cargas de trabalho num cluster, faça o seguinte:

  1. Desative a monitorização automática de aplicações.
  2. Elimine todos os recursos PodMonitoring no cluster com a etiqueta de metadados source:gke-auto-monitoring:

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

Preços

A configuração e a instalação automáticas da monitorização de aplicações de painéis de controlo prontos a usar para cargas de trabalho suportadas pela monitorização de aplicações automática estão disponíveis sem custo financeiro adicional. No entanto, a monitorização cobra pela carregamento de métricas pelo serviço gerido do Google Cloud para Prometheus de acordo com os preços da monitorização.

O que se segue?