Estou tentando criar uma verificação de uptime no Google Cloud Platform usando o cliente de linha de comando gcloud. Este é um exemplo:
gcloud monitoring uptime create 'example uptime check' --resource-labels=host=...,project_id=... --resource-type=uptime-url --protocol=https --port=443 "--path=..." --request-method=get --validate-ssl=true --status-codes=200 --matcher-type=contains-string "--matcher-content=..." --period=5 --timeout=30 --user-labels=instance-group=production,instance-type=authentication,monitoring-type=uptime
Isso geralmente funciona, ou seja, a verificação de uptime é criada e nenhum erro é relatado. No entanto, meus rótulos de usuário são silenciosamente ignorados.
Acredito que estou seguindo a documentação ( https://cloud.google.com/sdk/gcloud/reference/monitoring/uptime/create ) corretamente:
--user-labels=[KEY=VALUE,…]
List of label KEY=VALUE pairs to add.
Keys must start with a lowercase character and contain only hyphens (-),
underscores (_), lowercase characters, and numbers. Values must contain only
hyphens (-), underscores (_), lowercase characters, and numbers.
Adicionei com sucesso rótulos de usuário muito semelhantes para calcular instâncias, discos etc.
Também tentei adicionar rótulos de usuário às verificações de tempo de atividade existentes via gcloud monitoring uptime update
, mas isso também não funcionou.
Atualização: Criei um relatório de bug conforme sugerido por Daniel T.: https://issuetracker.google.com/issues/393989630
Consegui reproduzir isso, e parece ser um bug no gcloud sdk. Executá-lo com o modo de depuração e log-http mostra que a CLI está capturando os user-lables passados pelo usuário, mas não os está enviando para a Cloud Monitoring API. Em 30 de janeiro de 2025 com a versão mais recente do Google Cloud SDK 508.0.0. Você pode registrar o bug aqui - https://cloud.google.com/sdk/docs/getting-support
Aqui as bandeiras estão sendo capturadas com precisão -
Mas --log-http mostra que o userLabels não está sendo enviado para a API de monitoramento -
Uma alternativa é usar curl ou ferramentas similares para criar as verificações de uptime acessando diretamente a API de monitoramento do Cloud. Aqui está um script de shell de exemplo simples,