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:
- Apache Airflow
- Istio
- RabbitMQ
- Servidores de modelos de IA:
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.
- Ative a Cloud Monitoring API.
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:
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.
Para um cluster no modo Autopilot, clique em Definições avançadas. Para um cluster do modo padrão, clique em Funcionalidades.
Na secção Operações, selecione Ativar monitorização automática de aplicações.
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:
CLUSTER_NAME
: o nome do novo cluster.COMPUTE_LOCATION
: a localização do Compute Engine para o cluster.
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:
PROJECT_ID
: o ID do seu Trusted Cloud projeto.CLUSTER_NAME
: o nome do novo cluster.COMPUTE_LOCATION
: a localização do Compute Engine para o cluster.
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:
Aceda à página do Google Kubernetes Engine na Trusted Cloud consola:
Na lista de clusters, clique no nome do cluster.
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:
CLUSTER_NAME
: o nome do cluster.COMPUTE_LOCATION
: a localização do Compute Engine para o cluster.
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:
PROJECT_ID
: o ID do seu Trusted Cloud projeto.CLUSTER_NAME
: o nome do cluster.COMPUTE_LOCATION
: a localização do Compute Engine para o cluster.
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:
Aceda à página do Google Kubernetes Engine na Trusted Cloud consola:
Clique no nome do cluster onde quer ver os painéis de controlo para cargas de trabalho monitorizadas automaticamente.
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:
Aceda à página Painéis de controlo.
Clique no separador Lista de painéis de controlo.
Selecione a categoria Integrações.
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
Aceda à página do Google Kubernetes Engine na Trusted Cloud consola:
Clique no nome do cluster.
Na lista Funcionalidades, encontre o campo Monitorização automática de aplicações.
Clique em editEditar.
Desmarque a opção Ativar monitorização automática de aplicações.
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:
CLUSTER_NAME
: o nome do cluster.COMPUTE_LOCATION
: a localização do Compute Engine para o cluster.
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:
PROJECT_ID
: o ID do seu Trusted Cloud projeto.CLUSTER_NAME
: o nome do cluster.COMPUTE_LOCATION
: a localização do Compute Engine para o cluster.
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
Aceda à página Navegador de objetos.
No campo Cluster, introduza o nome do cluster.
No campo Namespace, introduza o nome do namespace.
No filtro Tipos de objetos, selecione PodMonitoring.
Em monitoring.googleapis.com, selecione PodMonitoring.
Clique no nome de um objeto para inspecioná-lo. A etiqueta de metadados
source:gke-auto-monitoring
indica que o GKE criou o recursoPodMonitoring
.
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:
- Exclua a carga de trabalho da monitorização automática de aplicações.
- Identifique o recurso
PodMonitoring
que o GKE criou para a carga de trabalho. Elimine o recurso
PodMonitoring
:kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
Substitua o seguinte:
POD_MONITORING_NAME
: o nome do recursoPodMonitoring
.NAMESPACE
: o espaço de nomes do recursoPodMonitoring
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:
- Desative a monitorização automática de aplicações.
Elimine todos os recursos
PodMonitoring
no cluster com a etiqueta de metadadossource: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?
- Saiba como ver métricas de observabilidade.