Neste documento, fornecemos informações sobre como encontrar dados de registro e resolver problemas de falhas de monitor sintético e verificação de tempo de atividade:
- Como encontrar registros
- Resolver problemas com notificações
- Resolver problemas com verificações públicas de tempo de atividade
- Resolver problemas com verificações de tempo de atividade privadas
- Resolver problemas de monitores sintéticos
Encontrar registros
Nesta seção, você encontra informações sobre como encontrar registros dos seus monitores sintéticos e verificações de tempo de atividade:
-
No console Google Cloud , acesse a página Análise de registros.
Acessar a Análise de registros
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Logging.
- Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host do App Hub ou o projeto de gerenciamento da pasta com app ativado.
Execute um dos seguintes procedimentos:
Para encontrar todos os registros associados aos seus monitores sintéticos ou verificações de tempo de atividade, consulte por tipo de recurso. Use o menu Recurso ou insira uma consulta.
Para verificações de tempo de atividade, no menu Recurso, selecione URL da verificação de tempo de atividade ou insira a consulta a seguir no editor de consultas e clique em Executar consulta:
resource.type="uptime_url"
Para monitores sintéticos, no menu Recurso, selecione Revisão do Cloud Run ou insira a consulta a seguir no editor de consultas e clique em Executar consulta:
resource.type="cloud_run_revision"
Para encontrar registros que contenham informações sobre a resposta recebida durante a execução de um monitor sintético ou uma verificação de tempo de atividade, faça o seguinte:
Para consultar usando o ID do monitor sintético ou da verificação de disponibilidade, use o formato a seguir ao inserir o ID no editor de consultas e clique em Executar consulta.
labels.check_id="my-check-id"
Para consultar registros que contêm dados de resposta para solicitações emitidas por monitores sintéticos e verificações de tempo de atividade, insira a consulta a seguir no editor de consultas e clique em Executar consulta
"UptimeCheckResult"
A consulta anterior corresponde a todas as entradas de registro que incluem a string
"UptimeCheckResult"
.
Esses registros incluem o seguinte:
O ID do monitor sintético 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 os dados de rastreamento são coletados, o ID de um rastreamento associado é armazenado no campo
trace
.
Para verificar se o serviço recebeu solicitações dos servidores Google Cloud , copie a consulta a seguir no editor de consultas e clique em Executar consulta:
"GoogleStackdriverMonitoring-UptimeChecks"
O campo
protoPayload.ip
contém um dos endereços usados pelos servidores de verificação de tempo de atividade. Para informações sobre como listar todos os endereços IP, consulte Listar endereços IP.
Resolver problemas de notificações
Esta seção descreve alguns erros que podem ocorrer ao configurar políticas de alertas e fornece informações para resolvê-los.
Um verificador falhou, mas outros não
Você está analisando as métricas de verificação de tempo de atividade e percebe que um verificador informou uma falha quando todos os outros informaram sucesso.
Nenhuma ação é necessária para resolver essa situação.
Quando apenas um verificador informa uma falha, ela pode ser resultado do tempo limite do comando do verificador devido a um problema de rede. Ou seja, em vez de falhar, o comando não é concluído dentro do tempo limite especificado.
As políticas de alerta que usam a configuração padrão exigem falhas de pelo menos dois verificadores antes de criar um incidente e enviar uma notificação. Uma falha informada por um único verificador não resulta em uma notificação.
Você recebeu uma notificação e quer depurar a falha
Para identificar quando a falha começou, faça o seguinte:
Para verificações de tempo de atividade, determine quando a falha ocorreu na página Detalhes de tempo de atividade:
-
No console Google Cloud , acesse a página
Verificações de tempo de atividade:
Acesse Verificações de tempo de atividade
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host do App Hub ou o projeto de gerenciamento da pasta com app ativado.
Encontre e selecione a verificação de tempo de atividade.
O gráfico Verificações aprovadas mostra o histórico das verificações. Para identificar quando a verificação de tempo de atividade falhou pela primeira vez, talvez seja necessário mudar o período do gráfico. O seletor de intervalo de tempo está localizado na barra de ferramentas da página Detalhes do tempo de atividade.
-
Para monitores sintéticos, determine quando a falha ocorreu na página Detalhes de tempo de atividade:
-
No console Google Cloud , acesse a página
Monitoramento sintético:
Acessar Monitoramento sintético
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host do App Hub ou o projeto de gerenciamento da pasta com app ativado.
- Encontre e selecione o monitor sintético.
-
Para informações sobre como encontrar dados de registro associados, consulte a seção desta página intitulada Encontrar registros.
Você não recebe uma notificação quando uma verificação de tempo de atividade falha
Você configurou uma verificação de tempo de atividade e está visualizando a página Detalhes de tempo de atividade dessa verificação. Você percebe que o gráfico Verificações aprovadas mostra que pelo menos um verificador falhou. No entanto, você não recebeu uma notificação.
Por padrão, a política de alertas é 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. Essas falhas precisam ocorrer simultaneamente.
É possível 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 você use a configuração padrão, que reduz o número de notificações que você pode receber devido a falhas temporárias.
Para ver ou editar uma política de alertas, faça o seguinte:
-
No console Google Cloud , acesse a página notifications Alertas:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host do App Hub ou o projeto de gerenciamento da pasta com app ativado.
- Clique em Ver todas as políticas no painel Políticas.
Encontre a política que você quer visualizar ou editar e clique no nome dela.
É possível visualizar e editar a política na página Detalhes da política.
Solucionar problemas de verificações de tempo de atividade públicas
Esta seção descreve alguns erros que podem ocorrer ao usar verificações de tempo de atividade públicas e fornece informações para resolvê-los.
Suas verificações públicas de tempo de atividade estão falhando
Você configura uma verificação pública de tempo de atividade, mas recebe um erro ao realizar a etapa de verificação.
Veja a seguir algumas possíveis causas de falha na verificação de tempo de atividade:
- Connection Error - Refused: se você usa o tipo de conexão padrão HTTP, verifique se há um servidor da Web instalado que esteja respondendo a solicitações HTTP. Um erro de conexão pode ocorrer em uma nova instância se você não tiver instalado um servidor da Web. Consulte o Guia de início rápido do Compute Engine. Se você usa um tipo de conexão HTTPS, talvez tenha que executar mais algumas etapas de configuração. Se tiver problemas de firewall, consulte Listar endereços IP do servidor de verificação de tempo de atividade.
- Nome ou serviço não encontrado: o nome do host pode estar incorreto.
- 403 Proibido: o serviço está retornando um código de erro para o verificador de tempo de atividade. Por exemplo, a configuração do servidor da Web Apache padrão retorna esse código no Amazon Linux, mas retorna 200 (Success) em algumas outras versões do Linux. Consulte o Tutorial de LAMP para Amazon Linux (em inglês) ou a documentação do servidor da Web.
- 404 Não encontrado: o caminho pode estar incorreto.
- 408 Request timeout ou sem resposta: o número da porta pode estar incorreto, o serviço pode não estar em execução ou estar inacessível, ou o tempo limite pode estar muito baixo. Verifique se o firewall permite tráfego proveniente dos servidores de tempo de atividade. Consulte Listar endereços IP do servidor de verificação de tempo de atividade. O tempo limite é especificado como parte das opções de Validação de resposta.
Para ajudar você a resolver problemas com verificações de tempo de atividade públicas com falha, configure as verificações para enviar até três pings ICMP durante a verificação. Os pings ajudam a distinguir entre falhas causadas, por exemplo, por problemas de conectividade de rede e por tempos limite no aplicativo. Para mais informações, consulte Usar pings ICMP.
Resolver problemas de verificações de tempo de atividade particulares
Esta seção descreve alguns erros que podem ocorrer ao usar verificações de disponibilidade particulares e fornece informações para resolvê-los.
Falha na criação da verificação de tempo de atividade
As configurações do projeto Google Cloud podem impedir a modificação dos papéis atribuídos à conta de serviço usada pelas verificações de tempo de atividade para gerenciar interações com o serviço do Service Directory. Nessa situação, a criação da verificação de tempo de atividade falha.
Nesta seção, descrevemos como conceder os papéis necessários à conta de serviço:
Google Cloud console
Quando você usa o console Google Cloud para criar a verificação de tempo de atividade privada, o console Google Cloud emite os comandos para conceder os papéis do Diretório de serviços à conta de serviço.
Para informações sobre como conceder papéis a uma conta de serviço, consulte Autorizar a conta de serviço.
API: projeto de escopo
Na primeira vez que você cria uma verificação de disponibilidade privada para um serviço do Diretório de serviços e recursos particulares em um único projeto Google Cloud , a solicitação pode ser bem-sucedida ou falhar. O resultado depende de você ter desativado as concessões automáticas de papéis para contas de serviço no projeto:
A primeira criação de verificação de tempo de atividade será bem-sucedida se o projeto permitir concessões automáticas de papéis para contas de serviço. Uma conta de serviço é criada para você e recebe os papéis necessários.
A primeira criação de verificação de tempo de atividade falha se o projeto não permitir concessões automáticas de papéis para contas de serviço. Uma conta de serviço é criada, mas nenhum papel é concedido.
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 permissões sejam propagadas.
- Tente criar a verificação de tempo de atividade privada novamente.
API: projeto monitorado
A primeira vez que você cria uma verificação de disponibilidade privada que tem como destino um serviço do Service Directory em um projeto monitorado ou recursos particulares em um projeto Google Cloud diferente, a solicitação falha e resulta na criação de uma conta de serviço do Monitoring.
A autorização da conta de serviço depende do número de projetosGoogle Cloud que você está usando e das relações entre eles. Você pode ter até quatro projetos envolvidos:
- O projeto em que você definiu a verificação de tempo de atividade privada.
- O projeto monitorado em que você configurou o serviço do Service Directory.
- O projeto em que você configurou a rede VPC.
- O projeto em que os recursos de rede, como VMs ou balanceadores de carga, são configurados. Esse projeto não tem função na autorização da conta de serviço discutida aqui.
Quando a criação da primeira verificação de tempo de atividade falhar, faça o seguinte:
- Autorize a conta de serviço.
- Aguarde alguns minutos para que as permissões sejam propagadas.
- Tente criar a verificação de tempo de atividade privada novamente.
Acesso negado
Suas verificações de tempo de atividade estão falhando com resultados VPC_ACCESS_DENIED
. Isso significa que algum aspecto 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 escopo ou monitorado, conforme descrito em Falha na criação de uma verificação de disponibilidade.
Para mais informações sobre como acessar redes particulares, consulte Configurar o projeto de rede.
Resultados anômalos de verificações de tempo de atividade particulares
Você tem um serviço do Service Directory com várias VMs, e a configuração do serviço contém vários endpoints. Quando você desliga uma das VMs, a verificação de tempo de atividade ainda indica sucesso.
Quando a configuração do serviço contém vários endpoints, um deles é escolhido aleatoriamente. Se a VM associada ao endpoint escolhido estiver em execução, a verificação de tempo de atividade será bem-sucedida, mesmo que uma das VMs esteja inativa.
Cabeçalhos padrão
Suas verificações de tempo de atividade estão retornando erros ou resultados inesperados. Isso pode acontecer se você tiver substituído os valores padrão do cabeçalho.
Quando uma solicitação de uma verificação de disponibilidade privada é enviada a um endpoint de destino, ela 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 endpoint do Diretório de serviços |
HTTP_ACCEPT_ENCODING |
gzip , deflate , br |
CONTENT_LENGTH |
Calculado com base nos dados de postagem de tempo de atividade |
Se você tentar substituir esses valores, poderá acontecer o seguinte:
- A verificação de tempo de atividade informa erros
- Os valores de substituição são descartados e substituídos pelos valores na tabela.
Nenhum dado visível
Nenhum dado aparece no painel de verificação de tempo de atividade quando a verificação está em um projeto Google Cloud diferente do serviço do Diretório de serviços.
Verifique se o projeto Google Cloud que contém a verificação de tempo de atividade monitora o projeto Google Cloud que contém o serviço do Service Directory.
Para mais informações sobre como listar projetos monitorados e adicionar outros, consulte Configurar um escopo de métricas para vários projetos.
Resolver problemas com monitores sintéticos
Nesta seção, você encontra informações para ajudar a resolver problemas com seus monitores sintéticos.
Mensagem de erro após ativar as APIs
Você abre o fluxo de criação de um monitor sintético e recebe uma solicitação para ativar pelo menos uma API. Depois de ativar as APIs, uma mensagem semelhante a esta será exibida:
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 você verifique se a API está ativada e aguarde para tentar a ação novamente.
Para verificar se a API está ativada, acesse a página APIs e serviços do seu projeto:
Depois de verificar se a API está ativada, continue com o fluxo de criação. A condição é resolvida automaticamente depois que a ativação da API é propagada pelo back-end.
As solicitações HTTP de saída não estão sendo rastreadas
Você configura o monitor sintético para coletar dados de rastreamento de solicitações HTTP de saída. Os dados de rastreamento mostram apenas um período, semelhante à seguinte captura de tela:
Para resolver essa situação, verifique se a conta de serviço tem o papel de agente do Cloud Trace (roles/cloudtrace.agent
). O papel de editor (roles/editor
) também é suficiente.
Para conferir os papéis concedidos à sua conta de serviço, faça o seguinte:
-
No console Google Cloud , acesse a página IAM:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo IAM e administrador.
- Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host do App Hub ou o projeto de gerenciamento da pasta com app ativado.
- Selecione Incluir concessões de papel fornecidas pelo Google.
Se a conta de serviço usada pelo monitor sintético não estiver listada ou não tiver recebido um papel que inclua as permissões do papel de agente do Cloud Trace (
roles/cloudtrace.agent
), conceda esse papel à conta de serviço.Se você não souber o nome da sua conta de serviço, no menu de navegação, selecione Contas de serviço.
Status "Em andamento"
A página Monitores sintéticos lista um monitor sintético
com o status In progress
. Um status In progress
significa que o monitor sintético foi criado recentemente e não há dados para mostrar ou que a implantação da função falhou.
Para determinar se a implantação da função falhou, faça o seguinte:
Verifique se o nome da função do Cloud Run não contém um sublinhado. Se houver um sublinhado, remova-o e implante novamente a função do Cloud Run.
Abra a página Detalhes do monitor sintético.
Se você vir a seguinte mensagem, exclua 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 excluída e, portanto, o monitor sintético não pode executá-la.
Abra a página de funções do Cloud Run para a função. Para abrir essa página na página Detalhes do monitor sintético, clique em Código e depois no nome da função.
Se você vir uma mensagem semelhante a esta, a implantação da função falhou.
This function has failed to deploy and will not work correctly. Please edit and redeploy
Para resolver essa falha, revise o código da função e corrija os erros que estão impedindo a criação ou implantação da função.
Ao criar um monitor sintético, pode levar vários minutos para que a função seja implantada e executada.
Status de alerta
A página Monitores sintéticos lista um monitor sintético
com o status Warning
. Um status Warning
significa que os resultados da execução são inconsistentes. Isso pode indicar um problema de design com seu
teste ou que o que está sendo testado tem um comportamento inconsistente.
Status de falha
A lista Monitores sintéticos mostra um monitor sintético com o status
Failing
. Para mais informações sobre o motivo da falha, consulte o histórico de execução mais recente.
Se a mensagem de erro
Request failed with status code 429
for mostrada, o destino da solicitação HTTP rejeitou o comando. Para resolver essa falha, mude o destino do seu monitor sintético.O endpoint
https://www.google.com
rejeita solicitações feitas por monitores sintéticos.Se a falha estiver retornando um tempo de execução de
0ms
, a função do Cloud Run pode estar ficando sem memória. Para resolver essa falha, edite a função do Cloud Run, aumente a memória para pelo menos 2 GiB e defina o campo "CPU" como1
.
Falha ao excluir um monitor sintético
Você usa a API Cloud Monitoring para excluir um monitor sintético, mas a chamada de API falha com uma resposta semelhante a esta:
{ "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, exclua as políticas de alertas que monitoram os resultados do monitor sintético e, em seguida, exclua o monitor sintético.
Não é possível editar a configuração de um verificador de links quebrados
Você criou um verificador de links quebrados usando o console Google Cloud e quer mudar os elementos HTML testados ou modificar o tempo limite de URI, as novas tentativas, a espera pelo seletor e as opções por link. No entanto, ao editar o verificador de links quebrados, o console Google Cloud não mostra os campos de configuração.
Para resolver essa falha, faça o seguinte:
-
No console Google Cloud , acesse a página
Monitoramento sintético:
Acessar Monitoramento sintético
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do console Google Cloud , selecione seu projeto Google Cloud . Para configurações do App Hub, selecione o projeto host do App Hub ou o projeto de gerenciamento da pasta com app ativado.
- Localize o monitor sintético que você quer editar, clique em more_vert Mais opções e selecione Editar.
- Clique em Editar função.
Edite o objeto
options
no arquivoindex.js
e clique em Aplicar função.Para informações sobre os campos e a sintaxe desse objeto, consulte
broken-links-ok/index.js
.Clique em Salvar.
Google Cloud o console mostra que as capturas de tela não foram salvas
Você criou um verificador de links corrompidos e o configurou para salvar capturas de tela. No entanto, o console Google Cloud está mostrando uma das seguintes mensagens de aviso com informações mais detalhadas:
InvalidStorageLocation
StorageValidationError
BucketCreationError
ScreenshotFileUploadError
Para resolver essas falhas, tente o seguinte:
Se você encontrar a mensagem
InvalidStorageLocation
, verifique a existência do bucket do Cloud Storage especificado no campooptions.screenshot_options.storage_location
.Confira os registros relacionados à sua função do Cloud Run. Para mais informações, consulte Como encontrar registros.
Verifique se a conta de serviço usada na função correspondente do Cloud Run tem um papel do Identity and Access Management que permite criar, acessar e gravar em buckets do Cloud Storage.