Rótulos de metadados de recursos obsoletos

Os recursos monitorados no Cloud Monitoring vêm com um conjunto de rótulos usados para identificar uma instância específica do tipo de recurso monitorado. Esses rótulos são documentados para cada tipo de recurso monitorado na lista de recursos monitorados.

Além disso, o Monitoring pode criar outros rótulos para capturar metadados sobre um recurso monitorado. Esses rótulos de metadados do sistema estão disponíveis para os usuários como valores somente leitura. Os usuários também podem criar os próprios rótulos de metadados de recursos. Para mais informações, consulte Rótulos de metadados de recursos.

Um grupo de rótulos de metadados de recursos monitorados foi suspenso. Os rótulos no conjunto são redundantes e podem ser substituídos por rótulos equivalentes existentes ou representam conceitos obsoletos que não são mais compatíveis com políticas de alertas, gráficos, visões gerais ou grupos de recursos do Cloud Monitoring.

Efeitos da suspensão de uso

Todas as políticas de alertas, gráficos, visões gerais e grupos de recursos que especificam um recurso monitorado e usam rótulos de metadados para os quais os rótulos de substituição podem ser determinados foram migrados automaticamente para serem substituídos até 31 de julho de 2020. Todos os outros usos de rótulos obsoletos precisam ser migrados manualmente. Nesta página, você encontra informações sobre como migrá-los.

As políticas de alertas, gráficos, visões gerais e grupos de recursos que usam rótulos de metadados e não foram migrados automaticamente ou manualmente até 31 de julho de 2020 não são mais compatíveis e podem parar de funcionar.

Ação necessária

Para reparar políticas de alertas, gráficos, visões gerais ou grupos de recursos que deixaram de funcionar devido a rótulos de metadados obsoletos, é necessário realizar alguma ação. É possível remover as políticas de alerta, gráficos, visões gerais ou grupos ou modificar qualquer filtro que use esses rótulos obsoletos para usar rótulos que fornecem comportamento semelhante.

Da mesma forma, se você tiver filtros que usam rótulos de metadados, mas não especificam recursos monitorados, não é possível determinar automaticamente se esses rótulos estão obsoletos. Você precisa avaliá-los e resolvê-los manualmente.

Nesta página, foi incluído um script para ajudar você a identificar os usos de rótulos de metadados obsoletos.

Rótulos de metadados obsoletos

Na tabela a seguir, mostramos uma lista dos rótulos de metadados de recursos que estão sendo suspensos e as substituições deles, se houver.


Tipo de recurso monitorado Rótulo obsoleto Rótulo equivalente
Todos os tipos do Google Cloud metadata.system_labels.cloud_account* resource.labels.project_id
cloud_tasks_queue metadata.system_labels.name
metadata.system_labels.state
resource.labels.queue_id
nenhum
dataflow_job metadata.system_labels.name
metadata.system_labels.state
resource.labels.job_name
nenhum
gae_app metadata.system_labels.gaeapp

metadata.system_labels.gaemodule

metadata.system_labels.gaeversion
nenhum
considere resource.labels.project_id
nenhum
considere resource.labels.module_id
nenhum
considere resource.labels.version_id
gce_disk metadata.user_labels.name metadata.system_labels.name
gce_instance metadata.user_labels.name metadata.system_labels.name
l7_lb_rule metadata.system_labels.state nenhum
pubsub_topic metadata.system_labels.name# metadata.system_labels.name
pubsub_subscription metadata.system_labels.name#
metadata.system_labels.name
vpn_gateway metadata.system_labels.region resource.labels.region

* A sintaxe do filtro do Cloud Monitoring não permite que o rótulo resources.labels.project_id seja usado de forma tão flexível quanto o rótulo metadata.system_labels.cloud_account pode ser usado. Por exemplo, não é possível fazer o seguinte:

  • Usar OR para combinar uma expressão usando o rótulo project_id e uma expressão usando rótulos de metadados.
  • Usar operação != com o rótulo project_id.
  • Usar as funções starts_with ou has_substring com o rótulo project_id.

Para recursos gae_app: os rótulos de recursos indicados são semelhantes aos rótulos de metadados obsoletos. Por isso, eles podem ser boas substituições. Porém, como são semelhantes, eles não foram migrados automaticamente.

Para recursos gce_disk e gce_instance: se você não definir metadata.user_labels.name, ele terá sido preenchido automaticamente com o valor de metadata.system_labels.name. O preenchimento automático também terminou no dia 31 de julho de 2020. Políticas de alertas, gráficos, visões gerais e grupos de recursos que filtram o valor metadata.user_labels.name preenchido automaticamente foram migrados para usar metadata.system_labels.name.

# Para recursos pubsub_topic e pubsub_subscription: corrigimos um bug antigo que fazia metadata.system_labels.name ser convertido automaticamente para minúsculas (por exemplo, "My-Subscription" tornava-se "my-subscription"). Isso gerava um comportamento inesperado quando os usuários tinham vários recursos com nomes idênticos em minúsculas. Esse comportamento também terminou em 31 de julho de 2020. Após essa data, o rótulo do sistema de metadados name refletirá o nome real do tópico ou da assinatura (por exemplo, "My-Subscription").

O que eu preciso fazer?

Há dois passos avançados:

  1. Determine se você está usando rótulos de metadados afetados por essa suspensão de uso. Consulte Encontrar rótulos de metadados obsoletos para informações sobre como executar o script do detector fornecido.

  2. Se você estiver usando os rótulos de metadados afetados, atualize-os ou remova-os. Consulte Atualizar seus filtros para ver passos mais detalhados.

Encontrar rótulos de metadados obsoletos

Use esse script Python para identificar referências a rótulos de metadados obsoletos: metadata_label_detection.py.

Resumo da sintaxe: python3 metadata_label_detection.py PROJECT_ID_OR_NUMBER

PROJECT_ID_OR_NUMBER pode ser um ID de projeto (por exemplo, my-project) ou um número de projeto (por exemplo, 123456789). Não inclua o prefixo projects/.

Os passos a seguir descrevem uma maneira de usar o script:

  1. Acesse o console do Google Cloud.

    Acessar o Console do Google Cloud

  2. Clique em Ativar o Cloud Shell na parte superior da página do console do Google Cloud do seu projeto.

  3. Clique em Abrir Editor na barra de ferramentas do Cloud Shell. Se o espaço de trabalho do seu diretório principal ainda não estiver aberto, abra-o selecionando Arquivo e Abrir espaço de trabalho. Escolha o espaço de trabalho com seu nome de usuário.

  4. Crie um novo arquivo chamado metadata_label_detection.py selecionando Arquivo e, em seguida, Novo arquivo. Cole o texto do metadata_label_detection.py no editor. Salve o arquivo selecionando Arquivo e, em seguida, Salvar.

  5. Volte para o terminal clicando em Abrir terminal na barra de ferramentas do Cloud Shell.

  6. No prompt de linha de comando do Cloud Shell, instale as dependências do script executando o seguinte comando:

    sudo pip3 install google-cloud-monitoring=="1.*" google-cloud-monitoring-dashboards
    
  7. Depois de instalar as dependências, execute o script do detector:

    python3 metadata_label_detection.py $GOOGLE_CLOUD_PROJECT
    

O script gera um relatório como o trecho a seguir:

Alert "Test alert" (projects/PROJECT_ID/alertPolicies/8401129027900817186) is affected.
URL: https://console.cloud.google.com/monitoring/alerting/policies/8401129027900817186?project=PROJECT_ID
        metadata.system_labels.cloud_account is deprecated for non-AWS resource
types. Please manually remove the reference.

Group "Test group" (projects/PROJECT_ID/groups/4518177785663978371) might be affected,
depending on the type of resources it is used for.
URL: https://console.cloud.google.com/monitoring/groups/4518177785663978371?project=PROJECT_ID
        metadata.system_labels.name is deprecated for dataflow_job. Please
manually remove the reference if this group is used for dataflow_job resources.
        metadata.system_labels.name is deprecated for cloud_tasks_queue. Please
manually remove the reference if this group is used for cloud_tasks_queue resources.

Xy_chart "Test chart" in dashboard "Demo dashboard" (projects/PROJECT_ID/dashboards/2826428163455705326) is affected.
URL: https://console.cloud.google.com/monitoring/dashboards/custom/2826428163455705326?project=PROJECT_ID
        metadata.user_labels.name is deprecated for gce_instance. Please
manually remove the reference.

Atualizar os filtros

Para atualizar as políticas de alertas, gráficos, quadros de visão geral e grupos de recursos:

  1. Faça login no console do Google Cloud.

  2. Execute o script do detector conforme descrito em Encontrar rótulos obsoletos.

  3. Inspecione cada uma das políticas de alerta, gráficos e grupos de recursos para verificar se o valor recuperado é proveniente de um dos rótulos obsoletos identificados pelo script.

    Para verificar todos os gráficos, você precisa verificar cada gráfico em cada painel personalizado definido.

    Lembre-se de que os filtros usam o prefixo resource.metadata em vez de metadata.system_labels.

    Para cada rótulo suspenso, siga um destes procedimentos:

    • Se o rótulo não tiver substituição, remova o uso do rótulo ou exclua a política de alertas, o gráfico ou o grupo de recursos.

    • Se o rótulo tiver um substituto, substitua o rótulo suspenso pelo substituto.

    Se você não fizer nada, a política de alertas, o gráfico ou o grupo de recursos afetado não funcionarão.

    Para mais ajuda sobre como fazer atualizações usando o console do Google Cloud, consulte os recursos listados em Edição.

    Em alguns casos, pode ser necessário usar a API Cloud Monitoring em vez do Console do Google Cloud. A API pode expressar algumas consultas que não podem ser construídas de outra forma.

  4. Execute o script do detector novamente para verificar se não há rótulos obsoletos.

Informações adicionais

Para informações sobre rótulos de metadados de recursos, filtros ou tipos específicos de recursos monitorados, consulte:

Edição

Para informações sobre como atualizar políticas de alertas, gráficos, painéis e grupos de recursos, consulte: