Criar um verificador de links corrompidos

Este documento descreve como configurar um teste periódico do os links contidos em um URI criando um monitor sintético. Você especifica opções para o teste, como o URI de origem, o número de links testados, e o número de novas tentativas, e implantar uma função pré-configurada do Cloud. Para ajudar na solução de problemas e nos esforços de depuração, os monitores sintéticos salvam detalhes informações sobre cada teste, incluindo capturas de tela. As capturas de tela permitem que você veja a resposta exata vista pelos clientes do seu aplicativo.

Para saber mais sobre monitores sintéticos, consulte Sobre os monitores sintéticos.

Sobre verificadores de links corrompidos

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

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

  • Pesquisa o URI de origem de elementos âncora HTML com atributos href.
  • Testa os 10 primeiros links encontrados no URI de origem.
  • Para cada link, o verificador emite uma solicitação e aguarda, no máximo, 30 segundos para uma resposta. Quando uma resposta é recebida, o verificador verifica se O status da resposta HTTP é 200, o que indica uma resposta bem-sucedida. O verificador não faz novas tentativas.

Você especifica o URI de origem. Você pode configurar quais elementos HTML o o verificador de links corrompidos procura, o número máximo de elementos testados, o tempo limite por teste e se novas tentativas foram realizadas. Também é possível configurar verificadores de link corrompido aguardam a exibição do seletor.

Os verificadores de link corrompido usam broken-links-ok. modelo. A configuração de um verificador de links corrompidos é especificada pelo Objeto options do arquivo index.js. Se você criar seu verificador usando o console do Google Cloud, você precisa escolher cada opção de configuração e a função do Cloud é atualizada para você. No entanto, se você usar o método a API Cloud Monitoring ou o Terraform, preencha esse objeto.

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

Antes de começar

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

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

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

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

    Ative as APIs

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

    No console do Google Cloud, acesse a página Contas de serviço:

    Acesse Contas de serviço

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

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

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

    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.

      Acesse 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 ele não recebeu um papel que inclua as permissões no papel de agente do Cloud Trace (roles/cloudtrace.agent), depois conceda esse papel a sua conta de serviço.
  5. Configure os canais de notificação que você quer usar para receber notificações. Recomendamos que você crie vários tipos de notificação canais. 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, um novo Função do Cloud (2a geração) é implantado e o monitor dessa função do Cloud é criado. Não é possível criar um monitor sintético que monitore uma uma função do Cloud que já existe.

  1. Não se esqueça de ativar APIs necessárias, que o projeto contém uma conta de serviço padrão do Compute Engine, e que essa conta tem recebeu o papel de Editor (roles/editor). Para mais informações, consulte Antes de começar.
  2. No console do Google Cloud, acesse 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.

  3. Selecione Criar monitor sintético.
  4. No modelo, selecione Verificador de links corrompidos.
  5. Digite um nome para o monitor sintético.
  6. Opcional: atualize o Tempo limite de resposta, a Frequência de verificação e e adicionar 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: você pode inserir https://mywebsite.example.com.

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

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

      Por padrão, esse campo é definido como a, o que corresponde às âncoras. Você Você pode inserir valores como a, img quando quiser combinar as duas âncoras e imagens.

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

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

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

      1. Clique em Mostrar mais opções.
      2. Para configurar o verificador de links corrompidos para aguardar um evento específico seletor apareça no URI antes que qualquer link seja copiado, insira o Seletores de CSS na Aguarde o campo do seletor de elementos. O valor inserido é convertido em uma string e, em seguida, transmitido para o método page.waitForSelector().

        Se o seletor não aparecer antes que o tempo limite expire, o em que as falhas são registradas nos registros.

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

      4. Configurar novas tentativas.

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

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

      5. Configurar 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 de um URI específico, Clique em Adicionar opção por link e preencha a caixa de diálogo.

  8. Opcional: configure se as capturas de tela das respostas serão coletadas e salvas. Se você usar as configurações padrão, as capturas de tela não serão salvas. Se você ativar a coleta, poderá coletar capturas de tela para todos os testes ou somente em testes com reprovação. O Cloud Monitoring usa a convenção a seguir para nomear o bucket do Cloud Storage:

    gcm-PROJECT_ID-synthetics-LOCATION
    

    Na expressão anterior:

    • PROJECT_ID: o ID do projeto do Google Cloud.
    • LOCATION: o local do seu bucket do Cloud Storage.

    Você tem a opção de usar um bucket atual do Cloud Storage.

  9. Revise sua configuração e verifique se ela está correta e completa. Em seguida, crie sua 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 Criar função. Depois de clicar em Criar função, para alterar a de configuração, edite o objeto Options.

    2. Digite um nome de exibição e selecione uma região. Os nomes devem ser únicos dentro de um região.

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

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

      • 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 de serviço.

    4. Clique em Aplicar função.

  10. Configure a política de alertas:

    1. Opcional: atualize o nome da política de alertas e a duração da falha antes que as notificações sejam enviadas.

    2. Adicione os canais de notificação.

  11. 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 propriedade A API Cloud Monitoring é idêntica ao processo de criação de qualquer outra monitor sintético. Para mais informações sobre como usar a API Cloud Monitoring para criar um monitor sintético, consulte Criar um monitor sintético e selecione as Guia do Cloud Monitoring.

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

Quando a estrutura options.screenshot_options é definida, o o verificador de links corrompidos coleta capturas de tela e as salva em um do bucket do Cloud Storage. Se o campo screenshot_options.storage_location não estiver definido ou se o valor for uma string vazia, o Monitoring criará um O bucket do Cloud Storage e as capturas de tela são salvas nele. O Monitoring usa a seguinte convenção para nomear os Bucket do Cloud Storage:

gcm-PROJECT_ID-synthetics-LOCATION

Na expressão anterior:

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • LOCATION: o local do seu bucket do Cloud Storage.

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 as Terraform.

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

Quando a estrutura options.screenshot_options é definida, o o verificador de links corrompidos coleta capturas de tela e as salva em um do bucket do Cloud Storage. Se o campo screenshot_options.storage_location não estiver definido ou se o valor for uma string vazia, o Monitoring criará um O bucket do Cloud Storage e as capturas de tela são salvas nele. O Monitoring usa a seguinte convenção para nomear os Bucket do Cloud Storage:

gcm-PROJECT_ID-synthetics-LOCATION

Na expressão anterior:

  • PROJECT_ID: o ID do projeto do Google Cloud.
  • LOCATION: o local do seu bucket do Cloud Storage.

Conferir resultados

Para cada execução, um verificador de links corrompidos faz o seguinte:

  • 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, e o identificador do elemento HTML. Por exemplo, esta coluna lista a quando um elemento âncora HTML é testado. Quando a linha corresponde a o URI de origem, o valor do identificador do elemento HTML será -.

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

  • Coleta capturas de tela quando configuradas.

Para mais informações sobre como analisar os dados coletados, acesse Explore os resultados do monitor sintético.

Resolver problemas

Esta seção fornece informações que podem ser usadas para ajudar na solução de problemas verificadores de links corrompidos.

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 para alterar os elementos HTML que são testados ou que você deseja modificar o tempo limite do URI, novas tentativas, espera pelo seletor e opções por link. No entanto, quando você edita o verificador de links corrompidos, o console do Google Cloud não exibir os campos de configuração.

Para resolver essa falha, faça o seguinte:

  1. No console do Google Cloud, acesse 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, em seguida, Clique em Aplicar função.

    Para obter 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 um dos seguintes avisos: junto 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 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 usada O função do Cloud tem um papel do Identity and Access Management que permite criar, acesso e gravação nos buckets do Cloud Storage.

A seguir