Este documento fornece informações sobre como encontrar dados de registo e como resolver problemas de falhas de monitorização sintética e de verificação de tempo de atividade:
- Encontrar registos
- Resolva problemas de notificações
- Resolva problemas de verificações de tempo de atividade públicas
- Resolva problemas de verificações de tempo de atividade privadas
- Resolva problemas de monitorizações sintéticas
Encontre registos
Esta secção fornece informações sobre como encontrar registos para os seus monitores sintéticos e verificações de tempo de atividade:
-
Na Google Cloud consola, aceda à página Explorador de registos:
Aceda ao Explorador de registos
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é Registo.
- Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião ou o projeto de gestão do App Hub.
Realize uma das seguintes ações:
Para encontrar todos os registos associados aos seus monitorizadores sintéticos ou verificações de tempo de atividade, consulte por tipo de recurso. Pode usar o menu Recurso ou introduzir uma consulta.
Para verificações de tempo de atividade, no menu Recurso, selecione URL de verificação de tempo de atividade ou introduza a seguinte consulta no editor de consultas e, de seguida, clique em Executar consulta:
resource.type="uptime_url"
Para monitores sintéticos, no menu Recurso, selecione Revisão do Cloud Run ou introduza a seguinte consulta no editor de consultas e, de seguida, clique em Executar consulta:
resource.type="cloud_run_revision"
Para encontrar registos que contenham informações sobre a resposta recebida durante a execução de uma verificação sintética ou de tempo de atividade, faça qualquer uma das seguintes ações:
Para consultar através do ID do monitor sintético ou da verificação de tempo de atividade, use o seguinte formato quando introduzir o ID no editor de consultas, e, em seguida, clique em Executar consulta
labels.check_id="my-check-id"
Para consultar registos que contêm dados de resposta para pedidos emitidos por monitorizações sintéticas e verificações de tempo de atividade, introduza a seguinte consulta no editor de consultas e, de seguida, clique em Executar consulta
"UptimeCheckResult"
A consulta anterior corresponde a todas as entradas de registo que incluem a string
"UptimeCheckResult"
.
Estes registos incluem o seguinte:
O ID da monitorização sintética ou da verificação de tempo de atividade, que é armazenado no campo
labels.check_id
.Para monitores sintéticos, o nome da sua função do Cloud Run, que é armazenado no campo
resource.labels.service_name
.Quando são recolhidos dados de rastreio, o ID de um rastreio associado, que é armazenado no campo
trace
.
Para verificar se o seu serviço recebeu pedidos de servidores, copie a seguinte consulta para o editor de consultas e, em seguida, clique em Executar consulta: Google Cloud
"GoogleStackdriverMonitoring-UptimeChecks"
O campo
protoPayload.ip
contém um dos endereços usados pelos servidores de verificação de tempo de atividade. Para obter informações sobre como listar todos os endereços IP, consulte o artigo Liste endereços IP.
Resolva problemas com notificações
Esta secção descreve alguns erros que pode encontrar ao configurar políticas de alerta e fornece informações para os resolver.
Uma verificação falhou, mas as outras não
Está a rever as métricas de verificação do tempo de atividade e repara que um verificador comunicou uma falha quando todos os outros comunicaram êxito.
Não é necessária nenhuma ação para resolver esta situação.
Quando apenas um verificador comunica uma falha, essa falha pode ser o resultado do tempo limite do comando do verificador devido a um problema de rede. Ou seja, em vez de o comando falhar, o comando não é concluído dentro do limite de tempo especificado.
As políticas de alerta que usam a configuração predefinida requerem falhas de, pelo menos, dois verificadores antes de criarem um incidente e enviarem uma notificação. Uma falha comunicada por um único verificador não resulta numa notificação.
Recebeu uma notificação e quer depurar a falha
Para identificar quando a falha começou, efetue uma das seguintes ações:
Para verificações de tempo de atividade, para determinar quando ocorreu a falha, consulte a página Detalhes do tempo de atividade:
-
Na Google Cloud consola, aceda à página
Verificações de tempo de atividade:
Aceda a Verificações de tempo de atividade
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião ou o projeto de gestão do App Hub.
Encontre e selecione a verificação de tempo de atividade.
O gráfico Verificações aprovadas apresenta o histórico das verificações. Para identificar quando a verificação de tempo de atividade falhou pela primeira vez, pode ter de modificar o intervalo de tempo do gráfico. O seletor do intervalo de tempo encontra-se na barra de ferramentas da página Detalhes do tempo de atividade.
-
Para os monitorizadores sintéticos, para determinar quando ocorreu a falha, consulte a página Detalhes de tempo de atividade:
-
Na Google Cloud consola, aceda à página
Monitorização sintética:
Aceda à monitorização sintética
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião ou o projeto de gestão do App Hub.
- Encontre e selecione a monitorização sintética.
-
Para obter informações sobre como encontrar dados de registo associados, consulte a secção desta página intitulada Encontrar registos.
Não recebe uma notificação a indicar que uma verificação de tempo de atividade falhou
Configurou uma verificação de tempo de atividade e está a ver a página Detalhes do tempo de atividade dessa verificação. Repara que o gráfico Verificações aprovadas mostra que, pelo menos, uma verificação falhou. No entanto, não recebeu uma notificação.
Por predefinição, a política de alertas está configurada para criar um incidente e enviar uma notificação quando os verificadores em, pelo menos, duas regiões não recebem uma resposta a uma verificação de tempo de atividade. Estas falhas têm de ocorrer em simultâneo.
Pode editar a condição da política de alertas para receber uma notificação quando uma única região não receber uma resposta. No entanto, recomendamos que use a configuração predefinida, que reduz o número de notificações que pode receber devido a falhas transitórias.
Para ver ou editar uma política de alertas, faça o seguinte:
-
Na Google Cloud consola, aceda à página notifications Alertas:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião ou o projeto de gestão do App Hub.
- Clique em Ver todas as políticas no painel Políticas.
Encontre a política que quer ver ou editar e, de seguida, clique no nome da política.
Pode ver e editar a política na página Detalhes da política.
Resolva problemas com as verificações de tempo de atividade públicas
Esta secção descreve alguns erros que pode encontrar quando usa verificações de tempo de atividade públicas e fornece informações para os resolver.
As suas verificações de tempo de atividade públicas estão a falhar
Configura uma verificação de tempo de atividade pública, mas recebe um erro quando executa o passo de validação.
Seguem-se algumas possíveis causas de uma falha na verificação do tempo de atividade:
- Erro de ligação – Recusado: se estiver a usar o tipo de ligação HTTP predefinido, verifique se tem um servidor Web instalado que esteja a responder a pedidos HTTP. Pode ocorrer um erro de ligação numa nova instância se não tiver instalado um servidor Web. Consulte o início rápido do Compute Engine. Se usar um tipo de ligação HTTPS, pode ter de realizar passos de configuração adicionais. Para problemas de firewall, consulte o artigo Liste os endereços IP do servidor de verificação de tempo de atividade.
- Nome ou serviço não encontrado: o nome de anfitrião pode estar incorreto.
- 403 Forbidden: o serviço está a devolver um código de erro ao verificador de tempo de atividade. Por exemplo, a configuração predefinida do servidor Web Apache devolve este código no Amazon Linux, mas devolve o código 200 (êxito) noutras versões do Linux. Consulte o tutorial LAMP para o Amazon Linux ou a documentação do seu servidor Web.
- 404 Não encontrado: o caminho pode estar incorreto.
- 408 Pedido excedeu o limite de tempo ou sem resposta: o número da porta pode estar incorreto, o serviço pode não estar em execução, o serviço pode estar inacessível ou o limite de tempo pode ser demasiado baixo. Verifique se a sua firewall permite o tráfego dos servidores de tempo de atividade. Consulte o artigo Liste os endereços IP dos servidores de verificação de tempo de atividade. O limite de tempo limite é especificado como parte das opções de validação de respostas.
Para ajudar a resolver problemas de verificações de tempo de atividade públicas com falhas, pode configurar as verificações de tempo de atividade para enviar até 3 pings ICMP durante a verificação. Os pings podem ajudar a distinguir entre falhas causadas, por exemplo, por problemas de conetividade de rede e por limites de tempo na sua aplicação. Para mais informações, consulte o artigo Use pings ICMP.
Resolva problemas de verificações de tempo de atividade privadas
Esta secção descreve alguns erros que pode encontrar quando usa verificações de tempo de atividade privadas e fornece informações para os resolver.
A criação da verificação de tempo de atividade falha
As definições do seu projeto podem impedir a modificação das funções atribuídas à conta de serviço que as verificações de tempo de atividade usam para gerir as interações com o serviço Service Directory. Google Cloud Nesta situação, a criação da verificação de tempo de atividade falha.
Esta secção descreve como pode conceder as funções que a conta de serviço requer:
Google Cloud consola
Quando usa a Google Cloud consola para criar a verificação de tempo de atividade privada, a Google Cloud consola emite os comandos para conceder as funções do Service Directory à conta de serviço.
Para obter informações sobre como conceder funções a uma conta de serviço, consulte o artigo Autorize a conta de serviço.
API: definição do âmbito do projeto
Quando cria uma verificação de tempo de atividade privada pela primeira vez para um serviço do Service Directory e recursos privados num único Google Cloud projeto, o pedido pode ter êxito ou falhar. O resultado depende de ter desativado as concessões automáticas de funções para contas de serviço no seu projeto:
A primeira criação de uma verificação de tempo de atividade é bem-sucedida se o seu projeto permitir concessões automáticas de funções para contas de serviço. É criada uma conta de serviço para si e são-lhe concedidas as funções necessárias.
A primeira criação de uma verificação de tempo de atividade falha se o seu projeto não permitir concessões automáticas de funções para contas de serviço. É criada uma conta de serviço, mas não são concedidas funções.
Se a criação da verificação de tempo de atividade falhar, faça o seguinte:
- Autorize a conta de serviço.
- Aguarde alguns minutos para que as autorizações se propaguem.
- Tente criar novamente a verificação de tempo de atividade privada.
API: projeto monitorizado
Quando cria uma verificação de tempo de atividade privada que segmenta um serviço do Service Directory num projeto monitorizado ou recursos privados num projeto Google Cloud diferente, o pedido falha e resulta na criação de uma conta de serviço do Monitoring.
A forma como autoriza a conta de serviço depende do número de Google Cloud projetos que está a usar e das respetivas relações. Pode ter até quatro projetos envolvidos:
- O projeto no qual definiu a verificação privada do tempo de atividade.
- O projeto monitorizado no qual configurou o serviço Service Directory.
- O projeto no qual configurou a rede VPC.
- O projeto no qual os recursos de rede, como VMs ou balanceadores de carga, estão configurados. Este projeto não tem nenhuma função na autorização da conta de serviço abordada aqui.
Quando a criação da primeira verificação de tempo de atividade falha, faça o seguinte:
- Autorize a conta de serviço.
- Aguarde alguns minutos para que as autorizações se propaguem.
- Tente criar novamente a verificação de tempo de atividade privada.
Acesso negado
As suas verificações de tempo de atividade estão a falhar com resultados VPC_ACCESS_DENIED
. Este resultado significa que algum aspeto da configuração de rede ou da autorização da conta de serviço não está correto.
Verifique a autorização da conta de serviço para usar um projeto de âmbito ou um projeto monitorizado, conforme descrito em A criação da verificação de tempo de atividade falha.
Para mais informações sobre o acesso a redes privadas, consulte o artigo Configure o projeto de rede.
Resultados anómalos de verificações privadas do tempo de atividade
Tem um serviço do Service Directory com várias VMs e a configuração do seu serviço contém vários pontos finais. Quando desliga uma das VMs, a verificação do tempo de atividade continua a indicar êxito.
Quando a configuração do serviço contém vários pontos finais, é escolhido um aleatoriamente. Se a VM associada ao ponto final escolhido estiver em execução, a verificação de tempo de atividade é bem-sucedida, mesmo que uma das VMs esteja inativa.
Cabeçalhos predefinidos
As verificações de tempo de atividade estão a devolver erros ou resultados inesperados. Isto pode ocorrer se tiver substituído os valores predefinidos dos cabeçalhos.
Quando é enviado um pedido de verificação de tempo de atividade privada para um ponto final de destino, o pedido inclui os seguintes cabeçalhos e valores:
Cabeçalho | Valor |
---|---|
HTTP_USER_AGENT |
GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring) |
HTTP_CONNECTION |
keep-alive |
HTTP_HOST |
IP do ponto final do Service Directory |
HTTP_ACCEPT_ENCODING |
gzip , deflate , br |
CONTENT_LENGTH |
Calculado a partir dos dados de publicação do tempo de atividade |
Se tentar substituir estes valores, podem ocorrer as seguintes situações:
- A verificação de tempo de atividade comunica erros
- Os valores de substituição são ignorados e substituídos pelos valores na tabela
Não existem dados visíveis
Não vê dados no painel de controlo da verificação de tempo de atividade quando a verificação de tempo de atividade está num projeto diferente do serviço Service Directory. Google Cloud
Certifique-se de que o Google Cloud projeto que contém a verificação de tempo de atividade monitoriza o Google Cloud projeto que contém o serviço Service Directory.
Para mais informações sobre como listar projetos monitorizados e adicionar outros, consulte o artigo Configure um âmbito de métricas para vários projetos.
Resolva problemas com monitores sintéticos
Esta secção fornece informações que pode usar para ajudar a resolver problemas dos seus monitores sintéticos.
Mensagem de erro após ativar as APIs
Abre o fluxo de criação de um monitor sintético e é-lhe pedido que ative, pelo menos, uma API. Depois de ativar as APIs, é apresentada uma mensagem semelhante à seguinte:
An error occurred during fetching available regions: Cloud Functions API has not been used in project PROJECT_ID before or it is disabled.
A mensagem de erro recomenda que verifique se a API está ativada e, em seguida, aconselha a aguardar e repetir a ação.
Para verificar se a API está ativada, aceda à página APIs e serviços do seu projeto:
Depois de verificar se a API está ativada, pode continuar com o fluxo de criação. A condição resolve-se automaticamente depois de a ativação da API ser propagada através do back-end.
Os pedidos HTTP de saída não estão a ser rastreados
Configura o monitor sintético para recolher dados de rastreio para pedidos HTTP de saída. Os dados de rastreio mostram apenas um intervalo, semelhante à seguinte captura de ecrã:
Para resolver esta situação, certifique-se de que à sua conta de serviço foi concedida a função de agente do Cloud Trace (roles/cloudtrace.agent
).
Uma função de editor (roles/editor
) também é suficiente.
Para ver as funções concedidas à sua conta de serviço, faça o seguinte:
-
Na Google Cloud consola, aceda à página IAM:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cuja legenda é IAM e administração.
- Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião ou o projeto de gestão do App Hub.
- Selecione Incluir concessões de funções fornecidas pela Google.
Se a conta de serviço usada pelo seu monitor sintético não estiver listada ou não lhe tiver sido concedida uma função que inclua as autorizações na função de agente do Cloud Trace (
roles/cloudtrace.agent
), conceda esta função à sua conta de serviço.Se não souber o nome da sua conta de serviço, no menu de navegação, selecione Contas de serviço.
Estado em curso
A página Monitorizações sintéticas apresenta uma monitorização sintética com o estado In progress
. O estado In progress
significa que
o monitor sintético foi criado recentemente e não existem dados para apresentar,
ou que a implementação da função falhou.
Para determinar se a implementação da função falhou, experimente o seguinte:
Certifique-se de que o nome da função do Cloud Run não contém um caráter de sublinhado. Se estiver presente um caráter de sublinhado, remova-o e volte a implementar a função do Cloud Run.
Abra a página Detalhes do monitor sintético para o monitor sintético.
Se vir a seguinte mensagem, elimine o monitor sintético.
Cloud Function not found for this Synthetic monitor. Please confirm it exists or delete this monitor.
A mensagem de erro indica que a função foi eliminada e, por isso, o monitor sintético não consegue executar a função.
Abra a página de funções do Cloud Run para a função. Para abrir esta página a partir da página Detalhes do monitor sintético, clique em Código e, de seguida, clique no nome da função.
Se vir uma mensagem semelhante à seguinte, significa que a implementação da função falhou.
This function has failed to deploy and will not work correctly. Please edit and redeploy
Para resolver esta falha, reveja o código da função e corrija os erros que estão a impedir a criação ou a implementação da função.
Quando cria um monitor sintético, a função pode demorar vários minutos a ser implementada e executada.
Estado de aviso
A página Monitorizações sintéticas apresenta uma monitorização sintética
com o estado Warning
. Um estado de Warning
significa que os resultados da execução são inconsistentes. Isto pode indicar um problema de design com o seu teste ou que o que está a ser testado tem um comportamento inconsistente.
Estado de falha
A página Monitorizações sintéticas apresenta uma monitorização sintética com o estado
Failing
. Para ver mais informações sobre o motivo da falha,
consulte o histórico de execuções mais recente.
Se for apresentada a mensagem de erro
Request failed with status code 429
, significa que o destino do pedido HTTP rejeitou o comando. Para resolver esta falha, tem de alterar o destino da sua monitorização sintética.O ponto final
https://www.google.com
rejeita pedidos feitos por monitores sintéticos.Se a falha estiver a devolver um tempo de execução de
0ms
, a função do Cloud Run pode estar a ficar sem memória. Para resolver esta falha, edite a sua função do Cloud Run e, em seguida, aumente a memória para, pelo menos, 2 GiB e defina o campo de CPU como1
.
A eliminação falha para uma monitorização sintética
Usa a API Cloud Monitoring para eliminar um monitor sintético, mas a chamada da API falha com uma resposta semelhante à seguinte:
{ "error": { "code": 400, "message": "Request contains an invalid argument.", "status": "INVALID_ARGUMENT", "details": [ { "@type": "type.googleapis.com/google.rpc.DebugInfo", "detail": "[ORIGINAL ERROR] generic::invalid_argument: Cannot delete check 1228258045726183344. One or more alerting policies is using it.Delete the alerting policy with id projects/myproject/alertPolicies/16594654141392976482 and any other policies using this uptime check and try again." } ] } }
Para resolver a falha, elimine as políticas de alerta que monitorizam os resultados do monitor sintético e, em seguida, elimine o monitor sintético.
Não é possível editar a configuração de um verificador de links quebrados
Criou um verificador de links quebrados através da Google Cloud consola e quer alterar os elementos HTML que são testados ou quer modificar o tempo limite do URI, as novas tentativas, a espera pelo seletor e as opções por link. No entanto, quando edita o verificador de links quebrados, a Google Cloud consola não apresenta os campos de configuração.
Para resolver esta falha, faça o seguinte:
-
Na Google Cloud consola, aceda à página
Monitorização sintética:
Aceda à monitorização sintética
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião ou o projeto de gestão do App Hub.
- Localize o monitor sintético que quer editar, clique em more_vert Mais opções e, de seguida, selecione Editar.
- Clique em Editar função.
Edite o objeto
options
no ficheiroindex.js
e, de seguida, clique em Aplicar função.Para obter informações sobre os campos e a sintaxe deste objeto, consulte
broken-links-ok/index.js
.Clique em Guardar.
AGoogle Cloud consola apresenta que as capturas de ecrã não são guardadas
Criou um verificador de links quebrados e configurou-o para guardar capturas de ecrã. No entanto, a Google Cloud consola apresenta uma das seguintes mensagens de aviso juntamente com informações mais detalhadas:
InvalidStorageLocation
StorageValidationError
BucketCreationError
ScreenshotFileUploadError
Para resolver estas falhas, experimente o seguinte:
Se vir a mensagem
InvalidStorageLocation
, valide a existência do contentor do Cloud Storage especificado no campo com o nomeoptions.screenshot_options.storage_location
.Veja os registos relacionados com a sua função do Cloud Run. Para mais informações, consulte o artigo Encontrar registos.
Verifique se a conta de serviço que está a ser usada na função do Cloud Run correspondente tem uma função de gestão de identidades e acessos que lhe permite criar, aceder e escrever em contentores do Cloud Storage.