O GKE no VMware inclui várias opções de geração de registros e monitoramento de cluster, incluindo serviços gerenciados baseados em nuvem, ferramentas de código aberto e compatibilidade validada com soluções comerciais de terceiros. Neste documento, explicamos essas opções e fornecemos algumas orientações básicas sobre como selecionar a solução adequada para seu ambiente.
Opções para o GKE no VMware
Há várias opções de geração de registros e monitoramento para o GKE no VMware:
- Cloud Logging e Cloud Monitoring
- Google Cloud Managed Service para Prometheus (pré-lançamento)
- Prometheus e Grafana
- Configurações validadas com soluções de terceiros
Cloud Logging e Cloud Monitoring
A observabilidade do Google Cloud (antigo Stackdriver) é a solução de observabilidade integrada do Google Cloud. Ele oferece uma solução de geração de registros totalmente gerenciada, coleta de métricas, monitoramento, uso de painéis e emissão de alertas. O Cloud Monitoring monitora os clusters do GKE no VMware de maneira semelhante aos clusters do GKE baseados na nuvem.
É possível configurar os agentes no cluster para o escopo de monitoramento e geração de registros, bem como o nível de métricas coletadas:
- O escopo de geração de registros e monitoramento só pode ser definido como componentes do sistema (padrão) ou para componentes e aplicativos do sistema.
- O nível das métricas coletadas pode ser configurado para um conjunto otimizado de métricas ou para métricas completas.
Consulte Como configurar agentes do Logging e Monitoring para clusters do Anthos no VMware neste documento para mais informações.
O Cloud Logging e o Cloud Monitoring são ideais para os clientes que querem uma solução de observabilidade única, eficiente, fácil de configurar e baseada na nuvem. Recomendamos o Logging e o Monitoring ao executar cargas de trabalho somente no GKE no VMware ou ao usar também o GKE e o GKE no VMware. Em aplicativos com componentes em execução no GKE no VMware e na infraestrutura local tradicional, considere outras soluções para uma visão completa desses aplicativos.
Para mais informações sobre arquitetura, configuração e quais dados são replicados em seu projeto do Google Cloud, por padrão, para o GKE no VMware, consulte a seção Como funcionam o Logging e o Monitoring para o GKE no VMware.
Para mais informações sobre o Cloud Logging, consulte a documentação do Cloud Logging.
Para mais informações sobre o Cloud Monitoring, consulte a documentação do Cloud Monitoring.
Prometheus e Grafana
O Prometheus e o Grafana são dois produtos de monitoramento de código aberto conhecidos:
O Prometheus coleta métricas de aplicativo e sistema.
O Alertmanager manipula o envio de alertas com vários mecanismos de alerta diferentes.
Grafana é uma ferramenta de painéis.
É possível ativar o Prometheus e o Grafana em cada cluster de administrador e cluster de usuário. O Prometheus and o Grafana são recomendados para equipes de aplicativos que têm experiência prévia com esses produtos ou equipes operacionais que preferem manter as métricas de aplicativo dentro do cluster e para solução de problemas em caso de perda de conectividade de rede.
Soluções de terceiros
O Google trabalhou com vários provedores de solução de monitoramento e geração de registros de terceiros para ajudar os produtos a funcionarem bem com o GKE no VMware. Entre eles, Datadog, Elastic e Splunk. Outros terceiros validados serão adicionados no futuro.
Para mais informações sobre como usar soluções de terceiros com o GKE no VMware, consulte:
- Coletar registros no GKE no VMware com o Splunk Connect
- Como ampliar os recursos do Elastic com análises históricas, backups e monitoramento entre nuvens no Google Cloud Platform
Como funcionam o Logging e o Monitoring para GKE no VMware
Os agentes do Logging e de métricas são instalados e ativados em cada cluster quando você cria um novo cluster de administrador ou usuário. Os agentes coletam dados sobre os componentes do sistema, ou seja, o escopo que você pode configurar.
Para acessar os dados coletados no console do Google Cloud, configure o projeto do Google Cloud que armazena os registros e as métricas que você quer visualizar.
Os agentes do Logging e do Monitoring em cada cluster incluem:
Agente de métricas do GKE (
gke-metrics-agent
). Um DaemonSet que envia métricas para a API Cloud Monitoring.Encaminhamento de registros (
stackdriver-log-forwarder
). Um DaemonSet do Fluent Bit que encaminha os registros de cada máquina para o Cloud Logging. O encaminhador de registros armazena em buffer as entradas de registro no nó localmente e as reenvia por até quatro horas. Se o buffer ficar cheio ou se o encaminhador de registros não conseguir acessar a API Cloud Logging por mais de quatro horas, os registros serão descartados.Agente de métricas globais do GKE (
gke-metrics-agent-global
). Uma implantação que envia métricas para a API Cloud Monitoring.Agente de metadados (
stackdriver-metadata-agent
). Uma implantação que envia metadados de recursos do Kubernetes, como pods, implantações ou nós, para a API Stackdriver Resource Metadata. Esses dados são usados para enriquecer consultas de métricas ao permitir que você consulte por nome da implantação, nome do nó ou até pelo nome do serviço do Kubernetes.
É possível ver todos os agentes de implantação executando o comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG get deployments -l "managed-by=stackdriver" --all-namespaces
CLUSTER_KUBECONFIG é o caminho para o arquivo kubeconfig do cluster.
A saída deste comando é semelhante a:
gke-metrics-agent-global 1/1 Running 0 4h31m stackdriver-metadata-agent-cluster-level 1/1 Running 0 4h31m
É possível ver todos os agentes DaemonSet executando o comando:
kubectl --kubeconfig CLUSTER_KUBECONFIG get daemonsets -l "managed-by=stackdriver" --all-namespaces
A saída deste comando é semelhante a:
gke-metrics-agent 1/1 Running 0 4h31m stackdriver-log-forwarder 1/1 Running 0 4h31m
Como configurar agentes de geração de registros e monitoramento para GKE no VMware
Os agentes instalados com o GKE no VMware coletam dados sobre componentes do sistema, sujeitos às suas definições e configurações, para fins de manutenção e solução de problemas com os clusters.
Somente componentes do sistema (escopo padrão)
Após a instalação, os agentes coletam registros e métricas, incluindo detalhes de desempenho (por exemplo, uso da CPU e da memória) e metadados semelhantes, para os componentes do sistema fornecidos pelo Google. Isso inclui todas as cargas de trabalho no cluster de administrador e, para clusters de usuário, as cargas de trabalho nos namespaces kube-system, gke-system, gke-connect, istio-system e config-management-system. É possível configurar ou desativar os agentes conforme descrito nas seções a seguir.
O escopo dos registros e das métricas coletadas também pode ser expandido para incluir aplicativos. Para instruções sobre como ativar a geração de registros e o monitoramento de aplicativos, consulte Como ativar a geração de registros e o monitoramento para aplicativos do usuário.
Métricas otimizadas (métricas padrão)
Por padrão, os agentes de métricas em execução no cluster coletam e relatam um conjunto otimizado de métricas de contêiner, kubelet e kube-state-metrics para a observabilidade do Google Cloud (antigo Stackdriver).
Menos recursos são necessários para coletar esse conjunto otimizado de métricas, o que melhora o desempenho e a escalonabilidade geral. Isso é especialmente importante para métricas no nível do contêiner e do kube, devido à grande quantidade de objetos a serem monitorados.
Para desativar as métricas otimizadas do kube-state-metrics (não recomendado), defina o campo optimizedMetrics
como false
no recurso personalizado do Stackdriver. Para mais informações sobre como alterar
o recurso personalizado do Stackdriver, consulte
Como configurar recursos de componentes do Stackdriver.
Todas as métricas do GKE no VMware, incluindo as excluídas por padrão, são
descritas em Métricas do GKE Enterprise.
Ativar e desativar o Stackdriver
É possível ativar ou desativar completamente os agentes de geração de registros e monitoramento ativando ou desativando o recurso personalizado do Stackdriver. Esse recurso está na visualização.
Antes de desativar os agentes do Logging e do Monitoring, consulte a página de suporte para detalhes sobre como isso afeta os SLAs de Suporte do Google Cloud.
Os agentes do Logging e Monitoring capturam dados armazenados localmente, dependendo da configuração de armazenamento e retenção. A replicação dos dados no projeto do Google Cloud especificado na instalação é feita com uma conta de serviço autorizada a gravar dados nesse projeto. É possível desativar esses agentes a qualquer momento, conforme descrito anteriormente.
Também é possível gerenciar e excluir dados que os agentes do Logging e do Monitoring enviaram para o Cloud Logging e o Cloud Monitoring. Para mais informações, consulte a documentação do Cloud Monitoring.
Requisitos de configuração do Logging e do Monitoring
Para visualizar os dados do Cloud Logging e do Cloud Monitoring, configure o projeto do Cloud que armazena os registros e as métricas que você quer visualizar. Esse projeto do Cloud é chamado de projeto de geração de registros.
Ative as seguintes APIs em seu projeto de monitoramento de registros:
Conceda os papéis do IAM à sua conta de serviço de monitoramento de registros no projeto de monitoramento de registros.
logging.logWriter
monitoring.metricWriter
stackdriver.resourceMetadata.writer
monitoring.dashboardEditor
opsconfigmonitoring.resourceMetadata.writer
Preços
Os registros e métricas do sistema do GKE Enterprise não são cobrados. Os registros do plano de controle, as métricas do plano de controle e um subconjunto selecionado de métricas de estado do Kube são ativados por padrão para clusters do GKE no Google Cloud registrados no momento da criação do cluster em um projeto ativado do GKE Enterprise. Os registros do plano de controle geram cobranças do Cloud Logging, enquanto as métricas ativadas por padrão são incluídas sem custo extra.
Para conferir a lista de registros e métricas do GKE incluídos, consulte Registros disponíveis e Métricas disponíveis.
Em um cluster do GKE no VMware, os registros e as métricas do sistema do GKE Enterprise incluem o seguinte:
- Registros e métricas de todos os componentes em um cluster de administrador
- Registros e métricas de componentes nesses namespaces em um cluster de usuário:
kube-system
,gke-system
,gke-connect
,knative-serving
,istio-system
,monitoring-system
,config-management-system
,gatekeeper-system
,cnrm-system
Para mais informações, consulte Preços de observabilidade do Google Cloud.
Para saber mais sobre o crédito para métricas do Cloud Logging, entre em contato com a equipe de vendas e receba mais informações sobre preços.
Como funcionam o Prometheus e o Grafana para o GKE no VMware
Cada cluster do GKE no VMware é criado com o Prometheus e o Grafana desativados por padrão. Siga o guia de instalação para ativá-los.
O servidor Prometheus é configurado com alta disponibilidade, tendo duas réplicas em execução em dois nós separados. Os requisitos de recursos são ajustados para aceitar clusters que executam até cinco nós, cada um manipulando até 30 pods que exibem métricas personalizadas. O Prometheus tem um PersistentVolume dedicado com espaço em disco pré-alocado para ajustar os dados por um período de armazenamento de quatro dias, além de um buffer de segurança extra.
O plano de controle do administrador, assim como cada cluster de usuário, tem uma pilha de monitoramento dedicada que pode ser configurada de forma independente. Cada cluster de administrador e usuário inclui uma pilha de monitoramento que oferece um conjunto completo de recursos: servidor Prometheus para monitoramento, Grafana para observabilidade e Prometheus Alertmanager para alertas.
Todos os endpoints de monitoramento, dados de métricas transferidos e APIs de monitoramento são protegidos com componentes do Istio, usando regras mTLS e RBAC. O acesso aos dados de monitoramento é restrito apenas aos administradores do cluster.
Métricas coletadas pelo Prometheus
O Prometheus coleta as métricas e os metadados a seguir do plano de controle do administrador e dos clusters de usuário:
- Uso de recursos, como CPU, em pods e nós
- Métricas do plano de controle do Kubernetes
- Métricas de complementos e componentes de sistema do Kubernetes em execução nos nós, como kubelet
- Estado do cluster, como integridade dos pods em uma implantação
- Métricas de aplicação
- Métricas de máquina, como rede, entropia e inodes
Monitoramento de vários clusters
A instância do Prometheus e do Grafana, instalada no cluster de administrador, é configurada especialmente para fornecer insight em toda a instância do GKE no VMware, incluindo o cluster de administração e cada cluster de usuário. Isso permite:
- usar um painel do Grafana para acessar métricas de todos os clusters de usuário e de administrador;
- ver as métricas de clusters de usuário individuais nos painéis do Grafana (métricas disponíveis para consultas diretas em resolução total);
- acessar métricas de carga de trabalho e nível de nó dos clusters de usuário para consultas, painéis e alertas agregados (as métricas de carga de trabalho são limitadas a cargas de trabalho em execução no namespace kube-system);
- configurar alertas de clusters específicos.