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ótuloproject_id
e uma expressão usando rótulos de metadados. - Usar operação
!=
com o rótuloproject_id
. - Usar as funções
starts_with
ouhas_substring
com o rótuloproject_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:
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.
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:
Acesse o console do Google Cloud.
Clique em Ativar o Cloud Shell na parte superior da página do console do Google Cloud do seu projeto.
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.
Crie um novo arquivo chamado
metadata_label_detection.py
selecionando Arquivo e, em seguida, Novo arquivo. Cole o texto dometadata_label_detection.py
no editor. Salve o arquivo selecionando Arquivo e, em seguida, Salvar.Volte para o terminal clicando em Abrir terminal na barra de ferramentas do Cloud Shell.
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
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:
Faça login no console do Google Cloud.
Execute o script do detector conforme descrito em Encontrar rótulos obsoletos.
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 demetadata.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.
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:
- Rótulos: rótulos de metadados de recursos
- Filtros: filtros de monitoramento
- Tipos específicos de recursos monitorados: lista de recursos monitorados
Edição
Para informações sobre como atualizar políticas de alertas, gráficos, painéis e grupos de recursos, consulte:
- Políticas de alertas: Como gerenciar políticas
- Painéis e gráficos usando o console do Google Cloud: Como gerenciar painéis
- Painéis usando a API Monitoring: Como atualizar painéis
- Grupos de recursos: Como editar um grupo