Como migrar para o Stackdriver Kubernetes Engine Monitoring

Opções do Stackdriver

Atualmente, existem duas opções para suporte do Stackdriver no GKE. Elas são fornecidas por todas as versões do GKE disponíveis para novos clusters e atualizações feitas em clusters atuais:

A página Como instalar o suporte do Stackdriver explica como atualizar os clusters do GKE para o Stackdriver Kubernetes Engine Monitoring. Essa página explica as diferenças vistas no Stackdriver quando você atualiza e o que precisa alterar ao usar o Stackdriver Monitoring e o Stackdriver Logging com o Stackdriver Kubernetes Engine Monitoring.

Quando preciso migrar?

Você precisa migrar as configurações atuais do Stackdriver ao começar a usá-las com o Stackdriver Kubernetes Engine Monitoring. Haverá uma versão futura do GKE que vai remover o suporte do Stackdriver anterior e vai exigir que você use o Stackdriver Kubernetes Engine Monitoring.

A tabela a seguir resume as versões futuras do GKE esperadas com suas opções de suporte do Stackdriver:

Versão GKE Escolha sem suporte Stackdriver legado Stackdriver Kubernetes Engine Monitoring
1.10, 1.11, 1.12.5 opcional padrão (GA) opcional (Beta)
1.12.7 opcional padrão (GA) opcional (GA)
1.13 opcional padrão (GA) opcional (GA)
1.14 opcional opcional (GA) padrão (GA)

O que está mudando?

O Stackdriver Kubernetes Engine Monitoring usa um modelo de dados diferente para organizar métricas, registros e metadados. Aqui estão algumas alterações específicas dos clusters usando o Stackdriver Kubernetes Engine Monitoring:

  • Os painéis do Stackdriver Monitoring estão em um novo menu chamado Recursos > NOVO Kubernetes Engine. Esse painel não vai ser exibido se você não tiver clusters usando o Stackdriver Kubernetes Engine Monitoring.

  • Os nomes dos tipos de recursos monitorados são diferentes. Por exemplo, os nós do Kubernetes são listados sob o tipo de recurso monitorado k8s_node (nó do Kubernetes), em vez de gce_instance (instância de VM do Compute Engine).

  • Os nomes das métricas do Kubernetes são diferentes. Agora, os nomes do tipo de métrica começam com o prefixo kubernetes.io/ (métricas do Stackdriver Kubernetes), em vez de container.googleapis.com/.

A seguinte tabela resume as alterações anteriores:

Alteração Stackdriver legado (antigo) Stackdriver Kubernetes Engine Monitoring (novo)
Menus do painel Recursos > Kubernetes Engine Recursos > NOVO Kubernetes Engine
Prefixos métricos container.googleapis.com kubernetes.io
Tipos de recursos gke_container (métricas)
container (registros)
gce_instance
(nenhum)
gke_cluster
k8s_container
k8s_container
k8s_node
k8s_pod
k8s_cluster

O que preciso fazer?

Esta seção contém informações mais específicas sobre as alterações feitas no modelo de dados no Stackdriver Kubernetes Engine Monitoring e o impacto nas configurações do Stackdriver atuais.

Como usar o painel de status da migração

Para identificar muitas das configurações do Stackdriver que você precisa migrar como parte do upgrade para o Stackdriver Kubernetes Engine Monitoring, o Stackdriver fornece um painel de status da migração.

Para visualizar o painel, escolha um espaço de trabalho que contenha um cluster do Kubernetes a ser atualizado para o Stackdriver Kubernetes Engine Monitoring. Selecione Workspace Settings > Kubernetes Migration Status no menu suspenso da seleção do projeto:

Acessar o painel de status da migração do Kubernetes

No seguinte painel de amostra, não há ações pendentes:

Painel de migração

Alterações no tipo de recurso

O Stackdriver Kubernetes Engine Monitoring tem novos nomes de tipo de recurso, novos nomes de exibição de tipo de recurso e novos nomes dos rótulos que identificam recursos específicos. Essas alterações estão listadas na tabela a seguir.

Alterações no tipo de recurso
Tipo de recurso do Stackdriver legado (antigo) Tipo de recurso do Stackdriver Kubernetes Engine Monitoring (novo)
Notas de rodapé da tabela:
1 No novo tipo de recurso usado no monitoramento (apenas), instance_id se torna node_name em metadata.system_labels.
2 zone refere-se ao local desse contêiner ou dessa instância. location refere-se ao local do nó mestre do cluster.
3 metadata.system_labels.node_name não está disponível em tipos de recursos k8s_container usados no registro. Não é possível pesquisar registros por nome de nó.
4 O tipo de recurso gce_instance pode representar nós do Kubernetes, bem como instâncias de VM que não sejam do Kubernetes. Durante o upgrade para o Stackdriver Kubernetes Engine Monitoring, os usos relacionados ao nó são alterados para usar o novo tipo de recurso, k8s_node, inclusive registros no nível do nó com os seguintes nomes: kubelet, docker, kube-proxy, startupscript e node-problem-detector.
5 Os nós k8s_pod e k8s_cluster podem incluir registros não presentes no suporte do Stackdriver legado.
Somente Monitoring:
gke_container (contêiner do GKE)

Rótulos:
  cluster_name
  container_name
  instance_id1
  namespace_id
  pod_id
  project_id
  zone2

Somente Logging:
container (contêiner do GKE)

Rótulos:
  cluster_name
  container_name
  instance_id1
  namespace_id
  pod_id
  project_id
  zone2

Monitoring e Logging:
k8s_container (contêiner do Kubernetes)

Rótulos:
  cluster_name
  container_name
  metadata.system_labels.node_name3
  namespace_name
  pod_name
  project_id
  location2

Somente Logging::
gce_instance (instância de VM do Compute Engine)4

Rótulos:
  cluster_name
  instance_id
  project_id
  zone2
Monitoring e Logging
k8s_node4 (nó do Kubernetes)

Rótulos:
  cluster_name
  node_name
  project_id
  location2
 
(nenhum)
Monitoring e Logging:
k8s_pod5 (pod do Kubernetes)

Rótulos:
  cluster_name
  namespace_name
  pod_name
  project_id
  location2

Somente Logging
gke_cluster (GKE_cluster)

Rótulos:
  cluster_name
  project_id
  location

Monitoring e Logging:
k8s_cluster5 (cluster do Kubernetes)

Rótulos:
  cluster_name
  project_id
  location

Alterações nos nomes das métricas

A tabela a seguir mostra algumas amostras dos diferentes nomes de métricas. Você precisa alterar todos os usos de uma métrica com nome começando com container.googleapis.com/ por uma nova métrica com nome iniciando com kubernetes.io/. Os novos nomes de métricas podem ser diferentes de outras maneiras, além do novo prefixo. Procure as novas métricas em kubernetes.io (métricas do Stackdriver Kubernetes).

Alterações nos nomes das métricas
Métricas do Stackdriver legado (antigo) Métricas do Stackdriver Kubernetes Engine (novo)
Métricas do GKE legadas
container.googleapis.com/

Exemplos:
  .../container/cpu/utilization
  .../container/uptime
  .../container/memory/bytes_total
Métricas do Stackdriver Kubernetes
kubernetes.io/

Exemplos:
  .../container/cpu/request_utilization
  .../container/uptime
  .../node/memory/total_bytes
  .../node/cpu/total_cores

Alterações no grupo de recursos

Se você definir os próprios grupos de recursos e usar qualquer um dos tipos de recursos do Stackdriver legado mostrados na tabela de alterações no tipo de recurso anterior ou qualquer métrica do Stackdriver legado mostrada na tabela de alterações no nome da métrica anterior, altere esses tipos e métricas para serem os tipos de recursos e métricas do Stackdriver Kubernetes Engine Monitoring correspondentes. Se o grupo de recursos incluir gráficos personalizados, talvez seja necessário alterá-los.

Dica: verifique se os grupos atualizados contêm o mesmo número de recursos que tinham antes do upgrade. Poucos recursos podem indicar que você perdeu algumas alterações.

Alterações personalizadas no gráfico e no painel

Se você definir os próprios gráficos e painéis personalizados e usar qualquer um dos tipos de recursos do Stackdriver legado mostrados na tabela de alterações do tipo de recurso anterior ou qualquer métrica do Stackdriver legado mostrada na tabela de alterações no nome da métrica anterior, altere esses tipos e métricas para os tipos e métricas do Stackdriver Kubernetes Engine Monitoring correspondentes.

Dica: verifique se os gráficos atualizados estão recebendo dados com carimbo de data/hora após a atualização. Dados não encontrados podem indicar que você deixou de alterar algumas métricas corretamente.

Para os gráficos e painéis personalizados, é possível receber ajuda exibindo o painel do status de migração do Kubernetes:

  1. Na parte superior da página do Stackdriver Monitoring, escolha um espaço de trabalho que contenha um cluster do Kubernetes a ser atualizado para o Stackdriver Kubernetes Engine Monitoring.

  2. Selecione Workspace Settings > Kubernetes Migration Status:

    Acessar o painel de status da migração do Kubernetes

Alterações na política de alerta e tempo de atividade

Se você definir políticas de alerta ou verificações de tempo de atividade e usar qualquer um dos tipos de recursos do Stackdriver legado mostrados na tabela de alterações do tipo de recurso anterior ou qualquer métrica do Stackdriver legado mostrada na tabela de alterações no nome da métrica anterior, altere esses tipos e métricas para os tipos e as métricas do Stackdriver Kubernetes Engine Monitoring correspondentes.

A atualização das políticas de alerta e as verificações de tempo de atividade podem ser as alterações mais difíceis de serem realizadas e verificadas. Você altera a configuração da política antes de atualizar o cluster ou depois? As políticas anteriores falham depois que você atualiza o cluster e as novas falham antes de você atualizá-lo.

Em vez de alterar políticas, considere deixar as políticas atuais inalteradas e criar novas com as alterações atualizadas. Isso pode facilitar o acompanhamento das políticas que você espera que falhem e das que você não espera em momentos diferentes durante a atualização.

Aqui estão algumas outras dicas:

  • Examine as políticas e estime por quanto tempo o cluster atualizado precisará ser executado antes de você ter acumulado dados suficientes para que ele esteja operando no "estado estável".

  • Tenha uma ideia do desempenho das políticas ou métricas individuais antes de atualizar. Dessa maneira, é possível comparar esse comportamento com o comportamento pós-atualização.

Como gerar registros de consultas

Se você usar consultas para encontrar e filtrar os registros no Stackdriver Logging e usar qualquer um dos tipos de recursos do Stackdriver legado mostrados na tabela de alterações no tipo de recurso anterior, altere esses tipos para os tipos do Stackdriver Kubernetes Engine Monitoring correspondentes.

Métricas com base em registros

Se você definir as próprias métricas com base em registros e usar métricas do Stackdriver legado ou tipos de recursos mostrados nas tabelas Alterações no nome da métrica ou Alterações no tipo de recurso, altere essas métricas e esses tipos de recurso para os do Stackdriver Kubernetes Engine Monitoring correspondentes.

Dica: se você não vir amostras das métricas com base em registros após a atualização para o Stackdriver Kubernetes Engine Monitoring, talvez esteja usando ainda as métricas ou os tipos de recurso do Stackdriver legado.

Exportações e exclusões de registros

Se você exportar ou excluir algum dos registros e se os filtros de exportação ou exclusão usarem os tipos de recursos do Stackdriver legado mostrados na tabela de alterações no tipo de recurso anterior, altere os filtros de exportação e exclusão para usar os tipos de recursos do Stackdriver Kubernetes Engine Monitoring correspondentes.

Dica: antes de atualizar para o Stackdriver Kubernetes Engine Monitoring, anote o número aproximado de entradas de registro que você está exportando ou excluindo do projeto do GCP. Dessa maneira, é possível verificar se você ainda está recebendo um número apropriado.

Alterações no conteúdo da entrada de registro

Quando você atualiza para o Stackdriver Kubernetes Engine Monitoring, talvez descubra que determinadas informações nas entradas de registro foram movidas para campos com nomes diferentes. Essas informações podem ser exibidas em consultas de registros usadas em métricas baseadas em registros, coletores de registros e exclusões de registros.

A tabela a seguir, Alterações na entrada de registro, lista os novos campos e rótulos. Aqui está um breve resumo:

  • O campo logName pode mudar. As entradas de registro do Stackdriver Kubernetes Engine Monitoring usam stdout ou stderr nos nomes de registro, enquanto o Stackdriver legado usava uma variedade maior de nomes, inclusive o nome do contêiner. O nome do contêiner ainda está disponível como um rótulo de recurso.
  • Verifique o campo labels nas entradas de registro. Esse campo pode conter informações anteriormente nos campos de entrada de registro metadata.
  • Verifique o campo resource.labels nas entradas de registro. Os novos tipos de recursos têm valores de rótulo adicionais.
Alterações na entrada de registro
Entradas de registro do Stackdriver legado (antigo) Entradas de registro do Stackdriver Kubernetes Engine Monitoring (novo)
Notas de rodapé da tabela:
1 Os rótulos de recurso identificam recursos específicos que produzem métricas, como clusters e nós específicos.
2 O campo labels é exibido em entradas de registro novas que fazem parte do Stackdriver Kubernetes Engine Monitoring e, às vezes, em algumas entradas de registro do Stackdriver legado. No Stackdriver Kubernetes Engine Monitoring, ele é usado para armazenar algumas informações anteriormente nos campos de entrada de registro metadata.
Recursos da entrada de registro
resource.labels (rótulos de recurso1)
Recursos da entrada de registro
resource.labels (rótulos de recurso1)
Metadados de entrada de registro
labels (rótulos de entrada de registro2)

rótulos (exemplos)
  compute.googleapis.com/resource_name:
    "fluentd-gcp-v3.2.0-d4d9p"

  container.googleapis.com/namespace_name:
    "kube-system"

  container.googleapis.com/pod_name:
    "fluentd-gcp-scaler-8b674f786-d4pq2"

  container.googleapis.com/stream:
    "stdout"
Metadados de entrada de registro
labels

Alterações em locais de registro

No Stackdriver Logging, os registros são armazenados com o tipo de recurso que os gerou. Como esses tipos foram alterados no Stackdriver Kubernetes Engine Monitoring, não se esqueça de procurar os registros nos novos tipos de recursos como Kubernetes Container, e não nos tipos do Stackdriver legado, como GKE Container.

A seguir

  • Para saber mais sobre o novo painel do Stackdriver Kubernetes Engine Monitoring, consulte Como observar o sistema.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Stackdriver Monitoring
Precisa de ajuda? Acesse nossa página de suporte.