Criar um monitor sintético

Neste documento, descrevemos como criar monitores sintéticos para testar o a disponibilidade, a consistência e o desempenho dos serviços, páginas da Web e APIs. Você fornece testes para seu aplicativo. O monitor sintético executa esse script e registra os resultados dos testes. outros dados, como a latência. Para receber uma notificação quando um teste falha, configure uma política de alertas para monitorar os resultados do teste.

Sobre os monitores sintéticos

Um monitor sintético executa periodicamente uma finalidade única Função do Cloud de 2a geração implantada em Cloud Run: Ao criar o monitor sintético, você define a função do Cloud, que precisa ser escrita em Node.js, e a frequência de execução. Por exemplo, é possível configurar a função do Cloud para interagir a uma página da Web usando o Puppeteer. Você também pode configurar a função do Cloud para interagir com uma API usando o Axios. Você também pode querer para testar recursos que estão em uma rede VPC.

Para criar uma função do Cloud, pode usar um editor in-line ou fazer o upload de um arquivo ZIP. Se você escolher use o editor in-line para começar com o esqueleto fornecido. Depois que você cria um monitor sintético, o Cloud Monitoring usa um sistema de programação que programa a execução periódica da função do Cloud. Enquanto você especifique a região onde sua função do Cloud está, os comandos que acionar a execução podem se originar em qualquer região suportada pelo de verificação de tempo de atividade. Para mais informações, consulte Listar endereços IP do servidor de verificação de tempo de atividade.

É possível criar uma política de alertas para receber notificações quando houver Falhas no teste:

  • Ao criar um monitor sintético no console do Google Cloud, o comportamento padrão é criar uma política de alertas. Você fornece canais de notificação. A política de alertas padrão é configurada notificar quando há duas ou mais falhas consecutivas de teste.

  • Quando você cria um monitor sintético usando a API Cloud Monitoring, crie a política de alertas para monitorar Tipo de métrica uptime_check/check_passed para a Recurso do Cloud Run que a função do Cloud está em execução.

Considerações sobre frequência de execução

Você configura a frequência de execução da função do Cloud. Para determinar a frequência das execuções, considerar a objetivo de nível de serviço (SLO) para seu serviço. Para detectar possíveis violações de SLO, você precisa executar os testes com frequência. No entanto, o SLO do serviço não é a única consideração. Você também precisa considerar como a taxa de execuções se traduz em carga o serviço e os custos. Cada execução gera carga no serviço, Portanto, quanto mais você executar a função do Cloud, mais carga você aplica ao serviço. Para referência, o intervalo de execução padrão das verificações de tempo de atividade é de um minuto.

A frequência de execução também determina a rapidez com que você pode ser notificado quando o teste vai falhar. O Monitoring abre um incidente e envia uma notificação após a segunda falha consecutiva de um teste. Por exemplo: Se a frequência de execução for de 5 minutos, poderá demorar 10 minutos antes há dois testes com falha. Você vai receber uma notificação após a segunda falha no teste.

Exemplo de código da função do Cloud

Para modelos e amostras, consulte Amostras para monitores sintéticos. Você pode usar esses exemplos como ponto de partida para seu função do Cloud. Se você é um um desenvolvedor experiente, considere como usar o Gemini para gerar código para monitores sintéticos e, assim, reduzir o tempo de desenvolvimento. O Gemini para gerar códigos está em pré-lançamento público.

O modelo genérico, que você pode selecionar ao você cria um monitor sintético usando o console do Google Cloud; é configurado para coletar dados de rastreamento e registro para solicitações HTTP de saída. A solução usa Módulo auto-instrumentation-node do OpenTelemetry e o winston logger. Devido à dependência de produtos de código aberto, você deve esperar mudanças no a estrutura dos dados de rastreamento e registro. Portanto, o trace coletado e os dados de registro só devem ser usados para fins de depuração.

Você pode implementar sua própria abordagem para coletar rastreamento e dados de registro para solicitações HTTP. Para um exemplo de abordagem personalizada, consulte a classe SyntheticAutoInstrumentation.

Configuração da função do Cloud

Ao configurar uma função do Cloud, é preciso especificar ambiente de execução, build, conexões e configurações de segurança, ou aceitar as configurações:

  • O valor padrão da memória alocada pode não ser suficiente. Qa recomendamos definir esse campo como pelo menos 2 GiB.

  • O valor padrão para as configurações de transferência de dados de entrada do seu função do Cloud é permitir todo o tráfego. Você pode usar essa configuração ou uma configuração mais restritiva.

    Quando você permite todo o tráfego, a primeira fase da validação executada pelo Cloud Functions, que é feito no nível da rede, passa. A segunda fase de validação determina se o autor da chamada recebeu permissão para executar a função do Cloud. A autorização depende da autenticação Cloud Identity and Access Management (IAM). Por padrão, o Cloud Monitoring recebe permissão para executar função do Cloud. Para mais informações sobre como exibir ou modificar o configurações de transferência de dados de entrada, consulte Configurações de entrada.

Restrições da função do Cloud

  • O nome da função do Cloud não pode conter um sublinhado.

  • Só é possível coletar dados de rastreamento e registro para solicitações HTTP de saída quando use o modelo genérico.

  • Somente funções HTTP são compatíveis. Se você usar o método o console do Google Cloud para criar seu monitor sintético, você receberá uma função padrão que consulta um URL. A fonte da função padrão, que pode ser modificado, está disponível no Repositório Git do generic-synthetic-nodejs.

    Para informações sobre funções HTTP, consulte Escrever funções HTTP.

  • Se você usar a API, o comando de implantação deverá especificar que o A função do Cloud é de 2a geração. Se você usar o método o console do Google Cloud, a implantação será feita para você. Para mais informações, consulte Implantar uma função do Cloud.

  • O ambiente de execução é restrito ao Node.js. Para mais informações, consulte . As seguintes versões do Node.js têm suporte: 12, 14, 16, 18 e 20.

Dados coletados por monitores sintéticos

Esta seção descreve os dados coletados para o monitor sintético. Para informações sobre como exibir os resultados da execução, consulte Explore os resultados do monitor sintético.

Histórico de execução

Um histórico dos resultados da execução é coletado para cada monitor sintético. Esses dados incluem o seguinte:

  • Uma série temporal que registra o sucesso ou a falha de execuções ao longo do tempo.

  • Uma série temporal que registra a duração da execução do código. O o ambiente de execução da função não é registrado. Os dados de latência são gravados como uma série temporal uptime_check/request_latency para o recurso do Cloud Run que a função do Cloud em execução. Há um gráfico com essas informações Página Detalhes do monitor sintético.

  • Registros que contêm informações sobre execuções de monitor sintético, como informações sobre o detalhes do teste e da falha. Os registros disponíveis dependem função do Cloud. Por exemplo, se você usar o modelo Mocha, o valor-chave registros incluem informações sobre a aprovação ou reprovação do teste e duração O stack trace, quando incluído, lista a linha de código que os tipos e as mensagens de erro.

  • Opcionalmente, traces e registros para solicitações HTTP de saída. Para informações sobre como coletar esses dados, consulte Latência da solicitação.

Métricas e registros da função do Cloud

Métricas e registros da função do Cloud. Esses dados, que são coletados pelo Cloud Functions, inclui informações sobre o número o número de execuções por segundo, o tempo de execução e o uso da memória sua função.

Latência da solicitação

Os dados de latência da solicitação HTTP feita pelo monitor sintético são automaticamente coletados e armazenados pelo Cloud Trace.

Para coletar dados de trace, registro e latência para as solicitações HTTP de saída feitas por seu monitor sintético, use o modelo genérico (link em inglês). Para mais informações, consulte Amostras para monitores sintéticos.

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 monitor sintético

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. Selecione o modelo para sua função do Cloud:

    • Monitor sintético personalizado: use esse modelo quando quiser coletar dados de registro ou de rastreamento para solicitações HTTP de saída.

    • Monitor sintético Mocha: use esse modelo para escrever. Pacotes de testes mocha.

    • Verificador de links corrompidos: use esse modelo para testar um URI. e um número configurável de links encontrados nesse URI. Para informações sobre os campos desse verificador, consulte Crie um verificador de links corrompidos.

  5. Digite um nome para o monitor.

  6. Opcional: atualize o Tempo limite de resposta, a Frequência de verificação e e adicionar rótulos definidos pelo usuário.

  7. Siga uma das seguintes ações:

  8. Na caixa de diálogo da função do Cloud, faça o seguinte:

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

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

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

    3. Edite o código gerado, escreva ou faça upload do código do seu Função do Cloud:

      • Para editar o código gerado, insira seu próprio código ou carregue o a função de amostra padrão, selecione Editor in-line. A função de amostra, que é dependente no modelo selecionado anteriormente, envia uma solicitação para um URL específico. É possível modificar a função padrão.

      • Para carregar um arquivo ZIP do sistema local, selecione Upload do ZIP.

        Se você fizer o upload de um arquivo ZIP do seu sistema local, será necessário especificar um bucket do Cloud Storage para o arquivo ZIP. Se você se não tiver um bucket apropriado do Cloud Storage, crie um.

      • Para carregar um arquivo ZIP do Cloud Storage, selecione ZIP do Cloud Storage, selecione o bucket de armazenamento e, em seguida, selecione o arquivo ZIP para carregar.

        Também é possível criar uma função do Cloud Páginas do Cloud Functions no console do Google Cloud. Para criar um monitor sintético que monitora uma cópia dessa função do Cloud, acesse a guia Origem e Clique em Fazer o download do ZIP. Em seguida, faça upload do arquivo ZIP.

    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 que as notificações sejam enviadas.

    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.

gcloud

Ao criar um monitor sintético usando a Google Cloud CLI ou a API Cloud Monitoring, você passa o o nome da função à chamada de API. Portanto, só é possível criar um monitor sintético que monitora uma função do Cloud atual.

  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. Escrever e implantar a 2a geração função do Cloud.

    Por exemplo, para implantar a amostra synthetics-sdk-nodejs na repositório Google Cloud/synthetics-sdk-nodejs, faça o seguinte:

    1. Clone o repositório e acesse o local do código-fonte:

      git clone https://github.com/GoogleCloudPlatform/synthetics-sdk-nodejs.git
      cd synthetics-sdk-nodejs/samples/generic-synthetic-nodejs
      
    2. Implante a função do Cloud usando o Comando gcloud functions deploy:

      gcloud functions deploy FUNCTION_NAME \
      --gen2 --region="us-west2" --source="." \
      --entry-point=SyntheticFunction --trigger-http --runtime=nodejs18
      

      No comando gcloud functions deploy, faça o seguinte:

      • Verifique se o valor do campo FUNCTION_NAME é exclusivo na região de implantação.

      • Inclua a sinalização --gen2 e defina a região da implantação.

      • Defina o campo --entry-point da seguinte maneira:

        • Moca: SyntheticMochaSuite
        • Não é Mocha: SyntheticFunction.
      • Defina o campo --runtime como nodejs18

      • Inclua a sinalização --trigger-http.

      • Defina o campo --ingress-settings quando não quiser usar o padrão que permite todo o tráfego.

      O Cloud Functions cria e implanta a função do Cloud. Os resultados do comando da Google Cloud CLI incluem informações sobre os , incluindo seu nome totalmente qualificado:

      name: projects/PROJECT_ID/locations/REGION/functions/FUNCTION_NAME
      

      Para mais informações sobre como implantar uma função, consulte Implantar uma função do Cloud.

    Para listar as Cloud Functions no seu projeto do Google Cloud, use o Comando gcloud functions list:

    gcloud functions list
    

    A resposta dessa chamada é uma lista de entradas, e cada entrada lista uma Função do Cloud:

    NAME: function-1
    STATE: ACTIVE
    TRIGGER: HTTP Trigger
    REGION: us-west2
    ENVIRONMENT: 2nd gen
    

    Para encontrar o nome totalmente qualificado de uma função específica do Cloud, execute o comando gcloud monitoring uptime describe.

  3. Para criar o monitor sintético, execute o Comando gcloud monitoring uptime create:

    gcloud monitoring uptime create DISPLAY_NAME --synthetic-target=TARGET
    

    Antes de executar o comando anterior, faça o seguinte:

    • Substitua DISPLAY_NAME pelo nome do monitor sintético.
    • Substitua TARGET pelo nome totalmente qualificado do função do Cloud.
  4. Crie uma política de alertas.

    Devido à complexidade da política de alertas use a configuração Monitores sintéticos no console do Google Cloud e usar as opções para criar um e a política de alertas. Com essa abordagem, a maioria dos campos de política de alertas preenchida para você. Para criar a política de alertas usando o Console do Google Cloud, clique em Criar política no Página Monitores sintéticos.

    Se você planeja usar a Google Cloud CLI ou a API Cloud Monitoring, faça o seguinte: configure o filtro da condição da seguinte maneira:

    "filter": "resource.type = \"cloud_run_revision\" AND
                metric.type = \"monitoring.googleapis.com/uptime_check/check_passed\" AND
                metric.labels.check_id = \"CHECK_ID\"",
    

    A condição monitora uptime_check/check_passed série temporal que são gravadas pelo monitor sintético. Substitua CHECK_ID pelo identificador do monitor sintético e que está incluído nos dados de resposta de um create.

    Para informações sobre como criar uma política de alertas, consulte Criar políticas de alertas usando a API.

API

Ao criar um monitor sintético usando a Google Cloud CLI ou a API Cloud Monitoring, você passa o o nome da função à chamada de API. Portanto, só é possível criar um monitor sintético que monitora uma função do Cloud atual.

  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. Escrever e implantar a 2a geração função do Cloud.

    Por exemplo, para implantar a amostra synthetics-sdk-nodejs na repositório Google Cloud/synthetics-sdk-nodejs, faça o seguinte:

    1. Clone o repositório e acesse o local do código-fonte:

      git clone https://github.com/GoogleCloudPlatform/synthetics-sdk-nodejs.git
      cd synthetics-sdk-nodejs/samples/generic-synthetic-nodejs
      
    2. Implante a função do Cloud usando o Comando gcloud functions deploy:

      gcloud functions deploy FUNCTION_NAME \
      --gen2 --region="us-west2" --source="." \
      --entry-point=SyntheticFunction --trigger-http --runtime=nodejs18
      

      No comando gcloud functions deploy, faça o seguinte:

      • Verifique se o valor do campo FUNCTION_NAME é exclusivo na região de implantação.

      • Inclua a sinalização --gen2 e defina a região da implantação.

      • Defina o campo --entry-point da seguinte maneira:

        • Moca: SyntheticMochaSuite
        • Não é Mocha: SyntheticFunction.
      • Defina o campo --runtime como nodejs18

      • Inclua a sinalização --trigger-http.

      • Defina o campo --ingress-settings quando não quiser usar o padrão que permite todo o tráfego.

      O Cloud Functions cria e implanta a função do Cloud. Os resultados do comando da Google Cloud CLI incluem informações sobre os , incluindo seu nome totalmente qualificado:

      name: projects/PROJECT_ID/locations/REGION/functions/FUNCTION_NAME
      

      Para mais informações sobre como implantar uma função, consulte Implantar uma função do Cloud.

    Para listar as Cloud Functions no seu projeto do Google Cloud, use o Comando gcloud functions list:

    gcloud functions list
    

    A resposta dessa chamada é uma lista de entradas, e cada entrada lista uma Função do Cloud:

    NAME: function-1
    STATE: ACTIVE
    TRIGGER: HTTP Trigger
    REGION: us-west2
    ENVIRONMENT: 2nd gen
    

    Para encontrar o nome totalmente qualificado de uma função específica do Cloud, execute o comando gcloud monitoring uptime describe.

  3. Para criar um monitor sintético, faça o seguinte:

    1. Clique em projects.uptimeCheckConfigs.create. para abrir a página de referência da API para o método.
    2. Clique em Testar para abrir o APIs Explorer.
    3. Defina os campos a seguir e execute o comando.

      • Campo pai: projects/PROJECT_ID.
      • No corpo da solicitação, especifique o seguinte:

        • displayName: defina como o nome de exibição do monitor sintético.
        • syntheticMonitor: defina como o nome totalmente qualificado do função do Cloud.

      Em caso de sucesso, a resposta da chamada de API será semelhante a esta:

      {
      "name": "projects/myproject/uptimeCheckConfigs/17272586127463315332",
      "displayName": "MyMonitor",
      ...
      "syntheticMonitor": {
       "cloudFunctionV2": {
          "name": "projects/myproject/locations/us-west2/functions/function-1",
          "cloudRunRevision": {
          "type": "cloud_run_revision",
          "labels": {
             "project_id": "myproject",
             "configuration_name": "",
             "location": "us-west2",
             "revision_name": "",
             "service_name": "function-1"
          }
          }
       }
      }
      }
      
  4. Crie uma política de alertas.

    Devido à complexidade da política de alertas use a configuração Monitores sintéticos no console do Google Cloud e usar as opções para criar um e a política de alertas. Com essa abordagem, a maioria dos campos de política de alertas preenchida para você. Para criar a política de alertas usando o Console do Google Cloud, clique em Criar política no Página Monitores sintéticos.

    Se você planeja usar a Google Cloud CLI ou a API Cloud Monitoring, faça o seguinte: configure o filtro da condição da seguinte maneira:

    "filter": "resource.type = \"cloud_run_revision\" AND
                metric.type = \"monitoring.googleapis.com/uptime_check/check_passed\" AND
                metric.labels.check_id = \"CHECK_ID\"",
    

    A condição monitora uptime_check/check_passed série temporal que são gravadas pelo monitor sintético. Substitua CHECK_ID pelo identificador do monitor sintético e que está incluído nos dados de resposta de um create.

    Para informações sobre como criar uma política de alertas, consulte Criar políticas de alertas usando a API.

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.

Para criar um monitor sintético e uma política de alertas para monitorar essa verificação, faça o seguinte:

  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. Edite seu arquivo de configuração do Terraform e adicione um google_storage_bucket e depois para aplicar as alterações.

    O código a seguir define um bucket do Cloud Storage no local US:

    resource "google_storage_bucket" "gcf_source" {
       name = "gcf-v2-source-9948673986912-us"
       location = "US"
       uniform_bucket_level_access = true
    }
    
  3. Edite seu arquivo de configuração do Terraform e adicione um google_storage_bucket_object recurso e, em seguida, aplique as alterações.

    O recurso especifica o nome do objeto no bucket, e a localização do arquivo ZIP no seu sistema local. Por exemplo, quando você aplica o código a seguir, um arquivo com o nome example-function.zip foi adicionado ao bucket de armazenamento:

    resource "google_storage_bucket_object" "object" {
       name = "example-function.zip"
       bucket = google_storage_bucket.gcf_source.name
       source = "generic-synthetic-node.js.zip"
    }
    
  4. Edite seu arquivo de configuração do Terraform e adicione um google_cloudfunctions2_function recurso e, em seguida, aplique as alterações.

    Verifique se o recurso google_cloudfunctions2_function especifica um ambiente de execução Node.js e o ponto de entrada usado por monitores sintéticos. Por exemplo, quando você aplica o código a seguir, uma função com o nome sm-central1 é implantado:

    resource "google_cloudfunctions2_function" "central1" {
       name = "sm-central1"
       location = "us-central1"
    
       build_config {
          runtime = "nodejs20"
          entry_point = "SyntheticFunction"
          source {
                storage_source {
                   bucket = google_storage_bucket.gcf_source.name
                   object = google_storage_bucket_object.object.name
                }
          }
       }
    
       service_config {
          max_instance_count = 1
          available_memory = "256Mi"
          timeout_seconds  = 60
       }
    }
    
  5. Para criar um monitor sintético, edite o arquivo de configuração do Terraform e adicionar um google_monitoring_uptime_check_config recurso e, em seguida, aplique as alterações.

    Especifique o bloco synthetic_monitor para este recurso:

    resource "google_monitoring_uptime_check_config" "synthetic" {
       display_name = "sm-central1"
       timeout = "30s"
    
       synthetic_monitor {
          cloud_function_v2 {
                name = google_cloudfunctions2_function.central1.id
          }
       }
    }
    
  6. Opcional: crie um canal de notificação e uma política de alertas.

    As etapas a seguir usam o console do Google Cloud para criar a notificação política de alertas e canais. Com essa abordagem, a política de alertas monitora somente os dados gerados pelo monitor sintético.

    1. Para criar um canal de notificação, 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. Selecione Gerenciar canais de notificação.
      3. Acesse o tipo de canal que você quer adicionar, clique em Adicionar e e preencha a caixa de diálogo.
    2. Para criar uma política de alertas, siga estas etapas:

      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 seu monitor sintético, selecione Mais, e selecione Adicionar política de alertas.
      3. Na caixa de diálogo, vá para a seção Notificações e nome expanda Canais de notificação e faça as seleções.
      4. Nomeie a política de alertas e clique em Criar política.

Preços

Em geral, as métricas do sistema do Cloud Monitoring são gratuitas, e as métricas de sistemas, agentes ou aplicativos externos. As métricas faturáveis são faturado pelo número de bytes ou de amostras ingeridas.

Para mais informações sobre os preços do Cloud Monitoring, consulte os documentos a seguir:

Resolver problemas de monitores sintéticos

Esta seção fornece informações que podem ser usadas para ajudar na solução de problemas 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 precisa ativar ter pelo menos uma API. Depois de ativar as APIs, uma mensagem semelhante à seguinte é exibido:

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, em seguida, 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 confirmar que a API está ativada, você pode continuar com a fluxo de criação. A condição é resolvida automaticamente depois que a API se propaga 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 saída solicitações HTTP. Seus dados de trace mostram apenas um período, semelhante ao 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.

    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 ela não recebeu um papel que inclua as permissões na função de Agente do Cloud Trace (roles/cloudtrace.agent) e depois conceda esse papel ao 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 um status In progress. O status In progress significa que o monitor sintético foi criado recentemente e não há dados para exibir, ou que houve falha na implantação da função.

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

  • Verifique se o nome da função do Cloud conter um sublinhado. Se houver um sublinhado, remova-o e reimplantar 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 esta página Na página Detalhes do monitor sintético, clique em Código e selecione clique no nome da função.

    Se aparecer uma mensagem semelhante à seguinte, isso significa que a função falhou implantar.

    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 impedem a criação ou implantação da função.

Quando você cria um monitor sintético, pode levar alguns minutos para que o a ser implantada e executada.

Status de alerta

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

Status de falha

Os Monitores sintéticos listam os monitores sintéticos com o status Failing Para saber mais sobre o motivo da falha, exibir o histórico de execução mais recente.

  • Se a mensagem de erro Request failed with status code 429 for exibida, o alvo da solicitação HTTP rejeitou o comando. Para resolver isso, altere 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, então o A função do Cloud pode estar ficando sem memória. Para resolver isso, de configuração, edite a função do Cloud e aumente a memória como 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 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 alerta que monitorar os resultados e excluir o monitor sintético.

A seguir