É 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
.
- Ative a API Cloud Monitoring.
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:
Acesse a página Google Kubernetes Engine no console do Google Cloud.
Clique em
Criar e, na seção Standard ou Autopilot, clique em Configurar.Para um cluster no modo Autopilot, clique em Configurações avançadas. Para um cluster no modo padrão, clique em Recursos.
Na seção Operações, selecione Ativar o monitoramento automático de aplicativos.
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:
CLUSTER_NAME
: o nome do novo cluster;COMPUTE_LOCATION
: a região do Compute Engine para o cluster.
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:
Acesse a página do Google Kubernetes Engine no Console do Google Cloud:
Na lista de clusters, clique no nome do cluster.
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:
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.
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:
Acesse a página do Google Kubernetes Engine no Console do Google Cloud:
Clique no nome do cluster em que você quer acessar os painéis de cargas de trabalho monitoradas automaticamente.
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:
Acesse a página Painéis.
Clique na guia Lista de painéis.
Selecione a categoria Integrações.
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
Acesse a página do Google Kubernetes Engine no Console do Google Cloud:
Clique no nome do cluster.
Na lista Recursos, encontre o campo Monitoramento automático de aplicativos.
Clique em editEditar.
Desmarque a opção Ativar monitoramento automático de aplicativo.
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:
CLUSTER_NAME
: o nome do cluster.COMPUTE_LOCATION
: a região do Compute Engine para o cluster.
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:
Acesse a página Navegador de objetos.
No campo Cluster, insira o nome do cluster.
No campo Namespace, insira o nome do namespace.
No filtro Tipos de objeto, selecione PodMonitoring.
Em monitoring.googleapis.com, selecione PodMonitoring.
Clique no nome de um objeto para inspecionar. O rótulo de metadados
source:gke-auto-monitoring
indica que o GKE criou o recursoPodMonitoring
.
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:
- Exclua a carga de trabalho do monitoramento automático de aplicativos.
- Identifique o recurso
PodMonitoring
que o GKE criou para a carga de trabalho. Exclua o recurso
PodMonitoring
:kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
Substitua:
POD_MONITORING_NAME
: o nome do recursoPodMonitoring
.NAMESPACE
: o namespace do recursoPodMonitoring
.
Para excluir a configuração de monitoramento automático de aplicativos de todas as cargas de trabalho em um cluster, faça o seguinte:
- Desative o monitoramento automático de aplicativos.
Exclua todos os recursos
PodMonitoring
do cluster com o rótulo de metadadossource: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
- Saiba como ver as métricas de observabilidade.