É 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:
- Apache Airflow
- Istio
- RabbitMQ
- Servidores de modelos de IA:
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
.
- 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 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:
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.
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 monitoramento automático de aplicativos.
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:
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 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:
Acesse a página do Google Kubernetes Engine no Trusted Cloud console:
Na lista de clusters, clique no nome do cluster.
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:
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.
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:
Acesse a página do Google Kubernetes Engine no Trusted Cloud console:
Clique no nome do cluster em que você quer ver os painéis das cargas de trabalho monitoradas automaticamente.
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:
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 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
Acesse a página do Google Kubernetes Engine no Trusted Cloud console:
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 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
: 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 :
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 inspecioná-lo. 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 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:
- 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
no 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 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
- Saiba como ver as métricas de observabilidade.