Resolver problemas de monitores sintéticos e verificações de tempo de atividade

Neste documento, você encontra informações sobre como encontrar dados de registro e como solucionar problemas de monitoramento sintético e verificação de tempo de atividade:

Encontrar registros

Nesta seção, fornecemos informações sobre como encontrar registros para seus monitores sintéticos e verificações de tempo de atividade:

  1. No console do 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.

  2. Execute um dos seguintes procedimentos:

    • Para encontrar todos os registros associados aos monitores sintéticos ou às 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 de verificação de tempo de atividade ou insira a consulta a seguir no editor 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 seguinte consulta no editor de consultas e clique em Executar consulta:

      resource.type="cloud_run_revision"
      
    • Os registros de localização que contêm informações sobre a resposta recebida durante um monitoramento sintético ou uma execução de verificação de tempo de atividade realizam uma das seguintes ações:

      • Para consultar usando o ID do monitor sintético ou da verificação de tempo de atividade, use o seguinte formato ao inserir o ID no editor de consultas e clique em Executar consulta.

        labels.check_id="my-check-id"
        
      • Para consultar registros que contenham dados de resposta para solicitações emitidas por monitores sintéticos e verificações de tempo de atividade, digite 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, que é armazenada no campo resource.labels.service_name.

      • Quando os dados de trace são coletados, o ID de um trace associado, que é armazenado no campo trace.

    • Para verificar se o serviço recebeu solicitações dos servidores do 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 você pode encontrar ao configurar políticas de alertas e fornece informações para resolvê-los.

Você recebeu uma notificação e quer depurar a falha

  1. Para identificar quando a falha começou, siga um destes procedimentos:

    • Para verificações de tempo de atividade, para determinar quando a falha ocorreu, consulte a página Detalhes do tempo de atividade:

      1. No console do 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 Monitoramento.

      2. Encontre e selecione a verificação de tempo de atividade.

        O gráfico Verificações aprovadas mostra o histórico de verificações. Para identificar quando a verificação de tempo de atividade falhou pela primeira vez, talvez seja necessário modificar o intervalo de tempo 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, para determinar quando a falha ocorreu, consulte a página Detalhes do tempo de atividade:

      1. No console do Google Cloud, acesse a página  Monitoramento sintético:

        Acesse Monitoramento sintético

        Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

      2. Encontre e selecione o monitor sintético.
  2. Para informações sobre como encontrar dados de registro associados, consulte a seção desta página intitulada Como encontrar registros.

Você não vai receber uma notificação de que uma verificação de tempo de atividade falhou

Você configurou uma verificação de tempo de atividade e está visualizando a página Detalhes do tempo de atividade dessa verificação. Observe 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 para 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 usar a configuração padrão, que reduz o número de notificações que você pode receber devido a falhas temporárias.

Para visualizar ou editar uma política de alertas, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Alertas:

    Acessar Alertas

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Clique em Ver todas as políticas no painel Políticas.
  3. Encontre a política que você quer visualizar ou editar e clique no nome dela.

    É possível consultar e editar a política na página Detalhes da política.

Resolver problemas de verificações de tempo de atividade públicas

Esta seção descreve alguns erros que você pode encontrar ao usar verificações de tempo de atividade públicas e fornece informações para resolvê-los.

Suas verificações de tempo de atividade públicas estão falhando

Você configura uma verificação de tempo de atividade pública, mas recebe um erro ao executar 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. Pode ocorrer um erro de conexão 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. Para 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 Tempo esgotado da solicitação 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 a solucionar problemas de verificações de tempo de atividade públicas com falha, configure as verificações para enviar até três pings de ICMP durante a verificação. Os pings podem ajudar a distinguir entre falhas causadas, por exemplo, por problemas de conectividade de rede e 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 você pode encontrar ao usar verificações de tempo de atividade particulares e fornece informações para resolvê-los.

Falha na criação de verificação de tempo de atividade

As configurações do projeto do Google Cloud podem impedir a modificação dos papéis atribuídos à conta de serviço que as verificações de tempo de atividade usam para gerenciar interações com o serviço do Diretório de serviços. Nessa situação, a criação da verificação de tempo de atividade falha.

Nesta seção, descrevemos como conceder os papéis exigidos pela conta de serviço:

Console do Google Cloud

Quando você usa o console do Google Cloud para criar a verificação de tempo de atividade particular, ele emite os comandos para conceder os papéis do Diretório de serviços à conta de serviço.

Para mais informações sobre como conceder papéis a uma conta de serviço, consulte Autorizar a conta de serviço.

API: projeto do escopo

Na primeira vez que você cria uma verificação de tempo de atividade particular para um serviço do Diretório de serviços e recursos particulares em um único projeto do 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 falhará 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:

  1. Autorize a conta de serviço.
  2. Aguarde alguns minutos até que as permissões sejam propagadas.
  3. Tente criar a verificação de tempo de atividade particular novamente.

API: projeto monitorado

Na primeira vez que você cria uma verificação de tempo de atividade particular que segmenta um serviço do Diretório de serviços em um projeto monitorado ou recursos particulares em um projeto diferente do Google Cloud, a solicitação falha e resulta na criação de uma conta de serviço do Monitoring.

A forma como você autoriza a conta de serviço depende do número de projetos do Google Cloud que você está usando e das relações entre eles. É possível ter até quatro projetos envolvidos:

  • O projeto em que você definiu a verificação de tempo de atividade particular.
  • O projeto monitorado em que você configurou o serviço do Diretório de serviços.
  • 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 papel 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:

  1. Autorize a conta de serviço.
  2. Aguarde alguns minutos até que as permissões sejam propagadas.
  3. Tente criar a verificação de tempo de atividade particular novamente.

Acesso negado

Suas verificações de tempo de atividade estão falhando e gerando VPC_ACCESS_DENIED resultados. Esse resultado significa que algum aspecto da sua configuração de rede ou autorização da conta de serviço não está correto.

Verifique a autorização da sua conta de serviço para usar um projeto de escopo ou um projeto monitorado, conforme descrito em Falha na criação da verificação de tempo de atividade.

Para mais informações sobre como acessar redes privadas, consulte Configurar o projeto de rede.

Resultados anômalos de verificações de tempo de atividade particulares

Você tem um serviço do Diretório de serviços com várias VMs e sua configuração de serviço contém vários endpoints. Quando você encerra uma das VMs, a verificação de tempo de atividade ainda indica sucesso.

Quando a configuração de serviço contém vários endpoints, um é 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

As verificações de tempo de atividade estão retornando erros ou resultados inesperados. Isso pode acontecer se você tiver substituído os valores de cabeçalho padrão.

Quando uma solicitação é enviada para uma verificação de tempo de atividade particular para um endpoint de destino, a solicitação 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 da postagem de tempo de atividade

Se você tentar substituir esses valores, o seguinte poderá acontecer:

  • 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 é exibido no painel da verificação de tempo de atividade quando ela está em um projeto do Google Cloud diferente do serviço do Diretório de serviços.

Garanta que o projeto do Google Cloud que contém a verificação de tempo de atividade monitore o projeto do Google Cloud que contém o serviço do Diretório de serviços.

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 de monitores sintéticos

Esta seção fornece informações que podem ser usadas para resolver problemas nos monitores sintéticos.

Mensagem de erro após ativar as APIs

Você abre o fluxo de criação de um monitor sintético e precisa ativar pelo menos uma API. Depois de ativar as APIs, uma mensagem semelhante à seguinte 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 aconselha que você aguarde e tente realizar a ação novamente.

Para verificar se a API está ativada, acesse a página APIs e serviços do seu projeto:

Acessar APIs e serviços

Depois de verificar se a API está ativada, continue 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

Configure seu monitor sintético para coletar dados de rastreamento para solicitações HTTP de saída. Seus dados de trace mostram apenas um período, semelhante à seguinte captura de tela:

Cloud Trace exibindo apenas um trace.

Para resolver essa situação, verifique se sua conta de serviço recebeu o papel de Agente do Cloud Trace (roles/cloudtrace.agent). Um papel de Editor (roles/editor) também é suficiente.

Para ver os papéis concedidos à conta de serviço, faça o seguinte:

  1. No console do Google Cloud, abra a página IAM.

    Acessar o IAM

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo IAM e administrador.

  2. Selecione Incluir concessões de papel fornecidas pelo Google.
  3. Se a conta de serviço usada pelo monitor sintético não estiver listada ou se não tiver recebido um papel que inclua as permissões no 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 exibir ou que a implantação da função falhou.

Para determinar se a implantação da função falhou, tente o seguinte:

  • Verifique se o nome da função do Cloud não contém um sublinhado. Se um sublinhado estiver presente, remova-o e reimplante a função do Cloud.

  • Abra a página Detalhes do monitor sintético no monitor.

    Se a mensagem a seguir aparecer, 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 executar a função.

  • Abra a página do Cloud Functions para a função. Para abrir essa página na página Detalhes do monitor sintético, clique em Código e no nome da função.

    Se aparecer uma mensagem semelhante à seguinte, significa que 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.

Quando você cria um monitor sintético, pode levar vários minutos para a função ser implantada e executada.

Status de alerta

Os Monitores sintéticos listam um monitor sintético com status Warning. Um status Warning significa que os resultados da execução são inconsistentes. Isso pode indicar um problema de design com o teste ou que o que está sendo testado tem um comportamento inconsistente.

Status de falha

Os Monitores sintéticos listam um monitor sintético com 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, é necessário alterar o destino do 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 pode estar ficando sem memória. Para resolver essa falha, edite a função do Cloud, aumente a memória para pelo menos 2 GiB e defina o campo "CPU" como 1.

Falha na exclusão de 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 à 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, exclua as políticas de alertas que monitoram os resultados do monitor sintético e, em seguida, exclua o monitor sintético.

Não foi possível editar a configuração de um verificador de links corrompidos

Você criou um verificador de links corrompidos usando o console do Google Cloud e quer alterar os elementos HTML testados ou modificar o tempo limite do URI, fazer novas tentativas, aguardar o seletor e as opções por link. No entanto, quando você edita o verificador de links corrompidos, o console do Google Cloud não exibe os campos de configuração.

Para resolver essa falha, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Monitoramento sintético:

    Acesse Monitoramento sintético

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Localize o monitor sintético que você quer editar, clique em Mais opções e selecione Editar.
  3. Clique em Editar função.
  4. Edite o objeto options no arquivo index.js e clique em Aplicar função.

    Para informações sobre os campos e a sintaxe desse objeto, consulte broken-links-ok/index.js.

  5. Clique em Salvar.

Telas do console do Google Cloud que falham ao salvar capturas de tela

Você criou um verificador de links corrompidos e o configurou para salvar capturas de tela. No entanto, o console do Google Cloud está exibindo uma das seguintes mensagens de aviso com informações mais detalhadas:

  • InvalidStorageLocation
  • StorageValidationError
  • BucketCreationError
  • ScreenshotFileUploadError

Para resolver essas falhas, tente o seguinte:

  • Se você vir a mensagem InvalidStorageLocation, verifique a existência do bucket do Cloud Storage especificado no campo chamado options.screenshot_options.storage_location.

  • Veja os registros relacionados à função do Cloud. Para mais informações, consulte Como encontrar registros.

  • Verifique se a conta de serviço que está sendo usada na função do Cloud correspondente tem um papel do Identity and Access Management que permite criar, acessar e gravar em buckets do Cloud Storage.