O Google Kubernetes Engine (GKE) inclui a integração com o Cloud Logging e o Cloud Monitoring, incluindo o serviço gerenciado do Google Cloud para o Prometheus.
Essa integração permite monitorar os clusters do GKE em execução, gerenciar o sistema e depurar registros, além de analisar o desempenho do sistema usando recursos avançados de criação de perfil e traces.
Essa integração também fornece um painel para observar seus clusters do GKE.
Os registros de segurança, incluindo registros de auditoria básicos, estão disponíveis para o GKE e a maioria dos outros serviços do Google Cloud mesmo quando o Cloud Logging não está ativado em um cluster do GKE. Saiba mais em Registros de auditoria do Cloud.
Esta página explica como fazer o seguinte:
Crie um novo cluster e configure o Cloud Logging, o Cloud Monitoring e o Google Cloud Managed Service para Prometheus.
Selecione os registros e as métricas a serem coletados.
Desative o Cloud Logging, o Cloud Monitoring e o Google Cloud Managed Service para Prometheus em um cluster.
Em clusters do GKE Autopilot, não é possível desativar a integração do Cloud Logging e Cloud Monitoring.
Antes de começar
Antes de começar, verifique se você realizou as tarefas a seguir:
- Ativar a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Se você quiser usar a Google Cloud CLI para essa tarefa,
instale e, em seguida,
inicialize a
CLI gcloud. Se você instalou a CLI gcloud anteriormente, instale a versão
mais recente executando
gcloud components update
.
Certifique-se de que você é um proprietário do projeto que contém o cluster.
Verifique se você ativou a API Cloud Logging. Verifique o status da API Cloud Logging na página Visão geral.
Registros e métricas
Você tem a opção de enviar ou não registros e métricas do cluster do GKE para o Cloud Logging e o Cloud Monitoring. As seções a seguir descrevem quais registros e métricas estão disponíveis e quais são ativados por padrão no momento da criação do cluster.
Registros disponíveis
Se você optar por enviar registros ao Cloud Logging, será necessário enviar registros do sistema e, opcionalmente, enviar registros de outras fontes.
Saiba mais sobre os preços do Cloud Logging.
A tabela a seguir indica os valores compatíveis com a sinalização --logging
para os comandos
criar e
atualizar.
Origem do registro | valor --logging |
Registros coletados |
---|---|---|
Nenhuma | NONE |
Nenhum registro enviado ao Cloud Logging, nenhum agente de coleta de registros instalado no cluster. Esse valor não é compatível com clusters do Autopilot do GKE. |
Sistema | SYSTEM |
Coleta registros dos seguintes itens:
Além disso, coleta eventos do Kubernetes. Esse valor é obrigatório para todos os tipos de cluster. |
Cargas de trabalho | WORKLOAD |
Todos os registros gerados por contêineres que não são do sistema em execução nos nós do usuário. Esse valor é ativado por padrão, mas opcional para todos os tipos de cluster. |
Servidor de API | API_SERVER |
Todos os registros gerados por kube-apiserver . Esse valor é opcional para todos os tipos de cluster. |
Programador | SCHEDULER |
Todos os registros gerados por kube-scheduler . Esse valor é opcional para todos os tipos de cluster. |
Controller Manager | CONTROLLER_MANAGER |
Todos os registros gerados por kube-controller-manager . Esse valor é opcional para todos os tipos de cluster. |
Métricas disponíveis
Se você decidir enviar métricas ao Cloud Monitoring, será necessário enviar métricas do sistema e, opcionalmente, enviar métricas adicionais.
Saiba mais sobre os preços do Cloud Monitoring, incluindo a lista de métricas que não são cobradas.
A tabela a seguir indica os valores compatíveis com a sinalização --monitoring
para
os comandos criar e
atualizar.
Origem | valor --monitoring |
Métricas coletadas |
---|---|---|
Nenhuma | NONE |
Nenhuma métrica enviada ao Cloud Monitoring, nenhum agente de coleta de métricas instalado no cluster Esse valor não é compatível com clusters do Autopilot do GKE. |
Sistema | SYSTEM |
Métricas de componentes essenciais do sistema necessárias ao Kubernetes. Veja uma lista completa dessas métricas do Kubernetes. |
Servidor de API | API_SERVER |
Métricas de kube-apiserver . Veja uma lista completa de
métricas do servidor de API. |
Programador | SCHEDULER |
Métricas de kube-scheduler . Veja uma lista completa das
métricas do programador. |
Controller Manager | CONTROLLER_MANAGER |
Métricas de kube-controller-manager . Veja uma lista completa de
métricas do Gerenciador de Controladores. |
Volume permanente (armazenamento) | STORAGE |
Métricas de armazenamento de kube-state-metrics . Inclui
métricas para de volume permanente e
de declarações de volume permanente. Veja uma lista completa de
métricas de armazenamento.
|
Pod | POD |
Métricas do pod de kube-state-metrics .
Veja uma lista completa de
métricas de pods.
|
Implantação | DEPLOYMENT |
Métricas de implantação de kube-state-metrics .
Veja a lista completa das
Métricas de implantação.
|
StatefulSet | STATEFULSET |
Métricas de StatefulSet de kube-state-metrics .
Veja uma lista completa de
métricas StatefulSet. |
DaemonSet | DAEMONSET |
Métricas de DaemonSet de kube-state-metrics .
Veja uma lista completa de
métricas de DaemonSet.
|
HorizonalPodAutoscaler | HPA |
Métricas de HPA de kube-state-metrics . Consulte uma lista completa de
métricas do HorizonalPodAutoscaler.
|
Além disso, é possível coletar métricas no estilo do Prometheus expostas por qualquer carga de trabalho do GKE usando o Google Cloud Managed Service para Prometheus, que permite monitorar e alertar sobre suas cargas de trabalho com o Prometheus sem precisar gerenciar e operar manualmente o Prometheus em grande escala.
Registros e métricas ativados por padrão
Quando você cria um novo cluster do GKE no Google Cloud, alguns registros e métricas são ativados por padrão durante a criação do cluster.
- Os registros e as métricas do sistema estão ativados para todos os tipos de clusters e não podem ser desativados.
- Os registros de carga de trabalho são ativados por padrão para todos os clusters do Autopilot, mas podem ser desativados. Não recomendamos desativar os registros de carga de trabalho devido ao impacto no suporte.
- Para projetos da edição GKE Enterprise, outros registros e métricas úteis serão ativados por padrão se você se registrar em uma frota durante a criação do cluster. Se você quiser ativar esses registros e métricas após a criação de um cluster, consulte Modificar o cluster.
Na tabela a seguir, uma marca de seleção ) indica quais registros e métricas são ativados por padrão quando você cria e registra um novo cluster em um projeto com o GKE Enterprise ativado:
Registros
Nome do registro | Autopilot | Standard |
---|---|---|
Sistema | ||
Cargas de trabalho | - |
|
Servidor de API | ||
Programador | ||
Controller Manager |
Os registros do plano de controle (servidor de API, programador e gerenciador do controlador) geram cobranças do Cloud Logging.
Métricas
Nome da métrica | Autopilot | Standard |
---|---|---|
Sistema | ||
Servidor de API | ||
Programador | ||
Controller Manager | ||
Volume permanente (armazenamento) | ||
Pods | ||
Deployment | ||
StatefulState | ||
DaemonSet | ||
HorizonalPodAutoscaler |
Todos os clusters registrados em um projeto com o GKE Enterprise ativado podem usar métricas do plano de controle e Kube State Metrics sem outras cobranças. Caso contrário, essas métricas geram cobranças do Cloud Monitoring.
É possível desativar os registros e as métricas padrão durante a criação do cluster ou após a criação do cluster.
Configurar o monitoramento e a geração de registros para um novo cluster
Nas instruções de criação de cluster desta seção, são abordadas apenas as opções relevantes para o Cloud Logging e o Cloud Monitoring. Para instruções completas sobre como criar um cluster do GKE, consulte a documentação sobre como criar um cluster do Standard ou Autopilot.
Para configurar manualmente a geração de registros e o monitoramento durante a criação de um cluster do GKE, conclua as seguintes etapas:
Console
Para um cluster do Autopilot:
Na página de criação do cluster do Autopilot, clique em Configurações avançadas no painel de navegação.
Na lista Operações, selecione quais registros e métricas você quer coletar.
Na lista Componentes do Cloud Logging, selecione os componentes de que você quer coletar registros.
Na lista Componentes do Cloud Monitoring, selecione os componentes de que você quer coletar métricas.
Observação: os clusters do Autopilot do GKE sempre usam as práticas recomendadas do Google para a coleta de telemetria. Isso significa que a geração de registros do sistema e de cargas de trabalho está sempre ativada e o monitoramento do sistema está sempre ativado.
Clique em Criar.
Para um cluster padrão:
Na página de criação do cluster Standard, clique em Recursos no painel de navegação em Cluster.
Na lista Operações, selecione quais registros e métricas você quer coletar.
Na lista Componentes do Cloud Logging, selecione os componentes de que você quer coletar registros.
Na lista Componentes do Cloud Monitoring, selecione os componentes de que você quer coletar métricas.
Para desativar o Cloud Logging (exceto para registros de auditoria), desmarque a caixa de seleção Ativar o Cloud Logging.
Para desativar o Cloud Monitoring, desmarque a caixa de seleção Ativar o Cloud Monitoring.
Para desativar o Google Cloud Managed Service para Prometheus, desmarque a caixa de seleção Ativar o Google Cloud Managed Service para Prometheus.
gcloud
Para novos clusters, o Cloud Logging e o Cloud Monitoring são ativados por padrão. Para criar o cluster, execute o comando a seguir:
gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION
Substitua:
CLUSTER_NAME
: o nome do cluster.COMPUTE_LOCATION
: a região do Compute Engine para o cluster.
Como alternativa, é possível configurar quais registros serão enviados para o Cloud Logging transmitindo uma lista de valores separados por vírgula para a sinalização
--logging
do comandocreate
. Para não coletar registros, transmita--logging=NONE
. Para coletar registros do sistema, do servidor de API, do programador e do Gerenciador de controladores, transmita--logging=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER
. Para coletar os registros do sistema e de carga de trabalho, transmita--logging=SYSTEM,WORKLOAD
. Exemplo:gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --logging=SYSTEM,WORKLOAD
Da mesma forma, é possível configurar quais métricas serão enviadas ao Cloud Monitoring transmitindo uma lista de valores separados por vírgulas para a flag
--monitoring
. Para não coletar métricas, transmita--monitoring=NONE
. Para coletar métricas do sistema, transmita--monitoring=SYSTEM
. Para coletar todas as métricas, transmita--monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,
DAEMONSET,HPA
. Por exemplo:gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=SYSTEM,API_SERVER,SCHEDULER,CONTROLLER_MANAGER,STORAGE,POD,DEPLOYMENT,STATEFULSET,DAEMONSET,HPA
Separadamente, é possível ativar o Google Cloud Managed Service para Prometheus usando a flag
--enable-managed-prometheus
. Exemplo:gcloud container clusters create CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus
A sinalização
--enable-managed-prometheus
ativa o coletor gerenciado, que precisa ser configurado.
Terraform
Para configurar a coleta de registros e métricas usando o Terraform, consulte os blocos
logging_config
emonitoring_config
no registro do Terraform paragoogle_container_cluster
. Para ativar a coleta de registros do servidor da API, do programador e do gerenciador do controlador, é necessário ter a versão 4.44.0 ou mais recente do provedor do Google Cloud para Terraform.Para informações gerais sobre como usar o Google Cloud com o Terraform, consulte Terraform com o Google Cloud.
Como configurar o monitoramento e a geração de registros para um cluster já existente
A seção a seguir detalha como modificar a integração do Cloud Logging e do Cloud Monitoring em um cluster do GKE existente.
Alterar o suporte de monitoramento e geração de registros e alterar a versão do cluster do Kubernetes são ações distintas. Alterar a versão do cluster do Kubernetes não altera o suporte de monitoramento e geração de registros configurados.
Qual suporte de monitoramento e geração de registros meu cluster usa?
Para ver as configurações de integração do Cloud Logging e do Cloud Monitoring para o seu cluster, siga estes passos:
-
No painel de navegação do console do Google Cloud, selecione Kubernetes Engine e, depois, Clusters:
No painel Detalhes do cluster, consulte o status do Cloud Logging, Cloud Monitoring e do Google Cloud Managed Service para Prometheus.
Modificar o cluster
Para alterar as configurações de integração do Cloud Logging ou do Cloud Monitoring em um cluster existente, siga estas etapas:
Console
-
No painel de navegação do console do Google Cloud, selecione Kubernetes Engine e, depois, Clusters:
Clique no nome do cluster.
Para modificar quais registros serão enviados para o Cloud Logging, quais métricas serão enviadas para o Cloud Monitoring ou se o Google Cloud Managed Service para Prometheus será ativado, clique em Editar edit ao lado do Cloud Logging, Cloud Monitoring ou do Google Cloud Managed Service para Prometheus.
Clique em Save.
gcloud
As seguintes instruções do gcloud
abrangem o upgrade do
suporte a monitoramento e registro do cluster usando o comando
gcloud container clusters update
. Observe que você usa o comando update
, não o comando
upgrade
.
Configure quais registros serão enviados para o Cloud Logging transmitindo uma lista de valores separados por vírgula para a sinalização
--logging
do comandogcloud container clusters update
. Veja uma lista completa das origens de registros disponíveis. Por exemplo, para coletar registros de sistema e carga de trabalho, transmita--logging=SYSTEM,WORKLOAD
. Para coletar apenas registros do sistema, transmita--logging=SYSTEM
. Ou, para não coletar registros, transmita--logging=NONE
:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --logging=NONE
Configure quais métricas são enviadas para o Cloud Monitoring transmitindo uma lista de valores separados por vírgula para a sinalização
--monitoring
do comandogcloud container clusters update
. Veja uma lista completa das origens de métricas disponíveis. Por exemplo, para coletar métricas do sistema, transmita--monitoring=SYSTEM
. Ou, para não coletar métricas, transmita--monitoring=NONE
:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --monitoring=NONE
Configure se o Google Cloud Managed Service para Prometheus será ativado usando a flag
--enable-managed-prometheus
ou--disable-managed-prometheus
. Exemplo:gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus
Terraform
Para configurar a coleta de registros e métricas usando o Terraform, consulte os blocos
logging_config
emonitoring_config
no registro do Terraform paragoogle_container_cluster
. Para ativar a coleta de registros do servidor da API, do programador e do gerenciador do controlador, é necessário ter a versão 4.44.0 ou mais recente do provedor do Google Cloud para Terraform.Para informações gerais sobre como usar o Google Cloud com o Terraform, consulte Terraform com o Google Cloud.
Parâmetros de configuração descontinuados
Se você estiver usando os parâmetros de configuração antigos para configurar a compatibilidade com geração de registros e monitoramento do cluster do GKE, esses parâmetros estão descontinuados. A tabela a seguir mostra os parâmetros de configuração equivalentes para substituir as flags descontinuadas.
Configuração antiga | Argumentos create antigos |
Argumentos update antigos |
Novos argumentos create e
update |
---|---|---|---|
Desativado | --no-enable-stackdriver-kubernetes |
--no-enable-stackdriver-kubernetes |
--logging=NONE --monitoring=NONE |
Somente monitoramento do sistema (Logging desativado) | --enable-stackdriver-kubernetes --no-enable-cloud-logging |
--logging-service=none --monitoring-service=monitoring.googleapis.com/kubernetes |
--logging=NONE --monitoring=SYSTEM |
Somente sistema e registro de carga de trabalho (Monitoring desativado) | --enable-stackdriver-kubernetes --no-enable-cloud-monitoring |
--logging-service=logging.googleapis.com/kubernetes --monitoring-service=none |
--logging=SYSTEM,WORKLOAD --monitoring=NONE |
Apenas monitoramento e geração de registros do sistema (Beta) | --enable-logging-monitoring-system-only |
--enable-logging-monitoring-system-only |
--logging=SYSTEM --monitoring=SYSTEM |
Geração de registros e monitoramento do sistema e de cargas de trabalho | --enable-stackdriver-kubernetes |
--enable-stackdriver-kubernetes |
--logging=SYSTEM,WORKLOAD --monitoring=SYSTEM |
A seguir
- Saiba mais sobre os custos associados ao Cloud Logging, Cloud Monitoring e ao Google Cloud Managed Service para Prometheus na página Preços.