Criar um verificador de links corrompidos

Este documento descreve como configurar um teste periódico dos links contidos em um URI criando um monitor sintético. Especifique as opções do teste, como o URI de origem, o número de links testados e o número de novas tentativas, e implante uma função do Cloud pré-configurada.

Para saber mais, consulte Sobre monitores sintéticos.

Sobre verificadores de links corrompidos

Cada verificador de links corrompidos testa os links em série, e há um tempo limite sintético geral, que é configurável.

Por padrão, um verificador de links corrompidos faz o seguinte:

  • Ela pesquisa o URI de origem em busca de elementos de âncora HTML com atributos href.
  • Ele testa os 10 primeiros links encontrados no URI de origem.
  • Para cada link, o verificador aguarda no máximo 30 segundos e verifica se o status da resposta HTTP é 200, o que indica uma resposta bem-sucedida. O verificador não realiza novas tentativas.

Você especifica o URI de origem. É possível configurar quais elementos HTML são pesquisados pelo verificador de links corrompidos, o número máximo de elementos testados, o tempo limite por teste e se são realizadas novas tentativas. Também é possível configurar verificadores de links corrompidos para aguardar a exibição de um seletor.

Os verificadores de links corrompidos usam o modelo broken-links-ok. A configuração de um verificador de links corrompidos é especificada pelo objeto options do arquivo index.js. Se você criar o verificador usando o Console do Google Cloud, serão solicitadas cada opção de configuração e a função do Cloud será atualizada para você. No entanto, se você usar a API Cloud Monitoring ou o Terraform, será necessário preencher esse objeto.

Depois de criar um verificador de links corrompidos, atualize o objeto options e reimplante a função do Cloud para modificar a configuração.

Antes de começar

  1. Para receber as permissões necessárias para visualizar e modificar monitores sintéticos usando o console do Google Cloud, peça ao administrador para conceder a você os seguintes papéis do IAM no seu projeto:

    Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

    Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

  2. Ative as APIs API Cloud Monitoring, API Artifact Registry, API Cloud Build, API Cloud Functions, API Cloud Logging, API Pub/Sub e API Cloud Run Admin.

    Ative as APIs

  3. Verifique se o projeto do Google Cloud contém a conta de serviço padrão do Compute Engine. Essa conta de serviço é criada quando você ativa a API Compute Engine e tem um nome semelhante a 12345-compute@developer.gserviceaccount.com.

    No painel de navegação do console do Google Cloud, selecione IAM e administrador e, em seguida, Contas de serviço:

    Acesse Contas de serviço

    Se a conta de serviço padrão do Compute Engine não existir, clique em Criar conta de serviço e preencha a caixa de diálogo.

  4. Verifique se a conta de serviço padrão do Compute Engine ou a conta de serviço que você criou recebeu o papel de Editor (roles/editor).

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

    1. No painel de navegação do console do Google Cloud, selecione IAM:

      Acessar o IAM

    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 ele não tiver recebido um papel que inclua as permissões na função do Cloud Trace Agent (roles/cloudtrace.agent), conceda esse papel à sua conta de serviço.
  5. Configure os canais de notificação que você quer usar para receber alertas. Recomendamos que você crie vários tipos de canais de notificação. Para mais informações, consulte Criar e gerenciar canais de notificação e Criar e gerenciar canais de notificação por API.

Criar um verificador de links corrompidos

Console

Quando você cria um monitor sintético usando o console do Google Cloud, uma nova função do Cloud (2a geração) é implantada e o monitor dela é criado. Não é possível criar um monitor sintético que monitore uma função do Cloud atual.

  1. Verifique se você ativou as APIs necessárias, se o projeto contém uma conta de serviço padrão do Compute Engine e se essa conta recebeu o papel de editor (roles/editor). Para mais informações, consulte Antes de começar.
  2. No painel de navegação do console do Google Cloud, selecione Monitoramento e  Monitoramento sintético:

    Acesse Monitoramento sintético

  3. Selecione Criar monitor sintético.
  4. Para o modelo, selecione Verificador de links corrompido.
  5. Insira um nome para o monitor sintético.
  6. Opcional: atualize o Tempo limite de resposta, a Frequência de verificação e adicione rótulos definidos pelo usuário.

  7. Configure o URI e os elementos a serem testados:

    1. Clique em URI de origem e insira um URI que você quer testar. O valor inserido precisa ser um endpoint HTTP ou HTTPS. Por exemplo, é possível inserir https://mywebsite.example.com.

    2. Opcional: em Número de links a serem seguidos, atualize o número máximo de links testados. O valor padrão desse campo é 10.

    3. Opcional: no campo Seletor de elemento HTML, insira o elemento HTML que você quer corresponder como uma lista separada por vírgulas. O valor inserido é convertido em uma string e transmitido para o método Document: querySelectorAll().

      Por padrão, esse campo é definido como a, o que corresponde às âncoras. É possível inserir valores como a, img quando você quiser combinar âncoras e imagens.

    4. Opcional: no campo Atributos HTML a serem seguidos, insira os atributos HTML que você quer corresponder. Os valores separados por vírgula que você insere são transmitidos individualmente para o método getAttribute().

      Por padrão, esse campo é definido como href, que especifica o URI do link. É possível inserir vários atributos, como href, src. Neste exemplo, o código pesquisa o atributo href e depois o atributo src.

    5. Opcional: configure a espera para o seletor, o tempo limite por URI, novas tentativas e os códigos de status esperados:

      1. Clique em Mostrar mais opções.
      2. Para configurar o verificador de links corrompidos para esperar que um seletor específico apareça no URI antes que os links sejam copiados, insira os seletores de CSS no campo Aguardar seletor de elemento. O valor inserido é convertido em uma string e transmitido para o método page.waitForSelector().

        Se o seletor não aparecer antes do tempo limite expirar, a falha será gravada nos registros.

      3. Atualize a ordem em que os links são selecionados para o teste.

      4. Configure novas tentativas.

        Por padrão, uma solicitação é enviada para cada link e, se a solicitação inicial falhar por qualquer motivo, por exemplo, se o comando expirar ou o código de status HTTP não for 200, o link será marcado como falha.

        Esse campo especifica o número de vezes que o verificador de links corrompidos pode emitir uma solicitação HTTP para um link antes de marcá-lo como falha.

      5. Configure um tempo limite que se aplique a cada URI. Por padrão, esse valor é definido como 30 segundos.

      6. Para especificar o código de status esperado e o tempo limite para um URI específico, clique em Adicionar opção por link e preencha a caixa de diálogo.

  8. Revise a configuração e verifique se ela está correta e completa. Em seguida, crie a função do Cloud:

    1. Clique em Criar função.

      Os valores nos campos de configuração de URI são copiados para o objeto Options no arquivo index.js quando você clica em Criar função. Depois de clicar em Criar função, para alterar a configuração, edite o objeto Options.

    2. Digite um nome de exibição e selecione uma região. Os nomes precisam ser exclusivos em uma região.

    3. Na seção Configurações de ambiente de execução, build, conexões e segurança, faça o seguinte:

      • Na guia Conexões, verifique se a opção Permitir todo o tráfego está selecionada.

      • Revise as configurações padrão e atualize-as quando necessário.

      • No campo Conta de serviço do ambiente de execução, selecione uma conta.

    4. Clique em Aplicar função.

  9. Configure a política de alertas:

    1. Opcional: atualize o nome da política de alertas e a duração da falha antes do envio das notificações.

    2. Adicione os canais de notificação.

  10. Clique em Criar.

    A função do Cloud que você definiu é criada e implantada como 2a geração, e o monitor sintético é criado.

API

O processo de criação de um verificador de links corrompidos usando a API Cloud Monitoring é idêntico ao processo de criação de qualquer outro monitor sintético. Para informações sobre como usar a API Cloud Monitoring para criar um monitor sintético, consulte Criar um monitor sintético e selecione a guia "Cloud Monitoring".

Os verificadores de links corrompidos usam o modelo broken-links-ok. A configuração de um verificador de links corrompidos é especificada pelo objeto options do arquivo index.js.

Terraform

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform. Para mais informações, consulte a documentação de referência do provedor Terraform.

O processo de criação de um verificador de links corrompidos usando o Terraform é idêntico ao processo de criação de qualquer outro monitor sintético. Para informações sobre como usar o Terraform para criar um monitor sintético, consulte Criar um monitor sintético e selecione a guia do Terraform.

Os verificadores de links corrompidos usam o modelo broken-links-ok. A configuração de um verificador de links corrompidos é especificada pelo objeto options do arquivo index.js.

Conferir os resultados

Para cada execução, um verificador de links corrompidos realiza estas ações:

  • Gera uma tabela em que cada linha fornece informações sobre o teste de um URI específico. As informações resumidas incluem o URI de destino, a latência, o status e o identificador do elemento HTML. Por exemplo, esta coluna lista a quando um elemento de âncora HTML é testado. Quando a linha corresponde ao URI de origem, o valor do identificador do elemento HTML é -.

  • Coleta métricas, dados de trace e dados de registro.

Para mais informações sobre como explorar os dados coletados, consulte Explorar os resultados do monitor sintético.

Resolver problemas

Nesta seção, você encontra informações sobre como resolver problemas dos verificadores de links corrompidos.

Não é possível editar a configuração de um verificador de links corrompido

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, 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 painel de navegação do console do Google Cloud, selecione Monitoramento e  Monitoramento sintético:

    Acesse Monitoramento sintético

  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 Save.

A seguir