Configurar o Google Cloud Observability para o Application Monitoring

Quando você implanta um aplicativo do App Hub, ele pode enviar dados de telemetria para vários Google Cloud projetos. Para visualizar toda a telemetria gerada pelo aplicativo em uma única interface, como nos painéis fornecidos pelo Application Monitoring, é necessário configurar o Google Cloud Observability. Este documento descreve a configuração necessária.

Este documento se aplica quando você implanta o aplicativo e o registra no App Hub ou quando implanta os aplicativos usando o App Design Center.

Além de configurar o Google Cloud Observability, você pode fazer o seguinte:

  1. Anexe rótulos específicos do aplicativo às políticas de alertas. Quando você adiciona esses rótulos, os incidentes associados ao aplicativo são mostrados nos painéis do Application Monitoring. Para mais informações sobre essa etapa, consulte a seção Associar uma política de alertas a um aplicativo do App Hub deste documento.

  2. Se você implantar cargas de trabalho no Google Kubernetes Engine e quiser que os indicadores de ouro de tráfego, latência e taxa de erros sejam mostrados nos painéis do Application Monitoring, instrumente o aplicativo com o OpenTelemetry. Para mais informações, consulte Instrumentar para o Application Monitoring.

Antes de começar

  • Identifique o projeto cujo escopo de observabilidade você vai configurar. Esse projeto é um dos seguintes:

    • Um projeto host do App Hub.
    • Um projeto de gerenciamento do App Hub para o limite de projeto único.
    • Um projeto de gerenciamento do App Hub para a pasta habilitada para apps.

    Neste documento, quando o tipo de projeto de gerenciamento não é especificado, a tarefa de configuração se aplica a todos os projetos de gerenciamento.

  • Verifique se você tem os papéis necessários do Identity and Access Management (IAM) para configurar o escopo de observabilidade. Os papéis do IAM necessários dependem de você planejar criar um coletor agregado, que permite centralizar o armazenamento de dados de registro.

    Configurar o coletor e os escopos

    Para receber as permissões necessárias para configurar escopos de observabilidade e criar um coletor de registros agregado, peça ao administrador para conceder a você o papel do IAM de Administrador da organização (roles/resourcemanager.organizationAdmin) na organização. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

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

    Configurar apenas escopos

    Para receber as permissões necessárias para configurar o escopo de observabilidade, peça ao administrador para conceder a você os seguintes papéis do IAM:

    Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

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

Configurar o escopo de observabilidade

O escopo de observabilidade controla como as páginas do Explorer e do painel pesquisam os dados a serem exibidos. Cada Google Cloud projeto contém um único escopo de observabilidade. Não é possível configurar diretamente o escopo de observabilidade de um projeto. Em vez disso, para o projeto, configure o seguinte:

  • O escopo do registro padrão

    Configure este escopo para que, ao abrir a página Análise de registros ou visualizar painéis, os dados de registro do aplicativo sejam mostrados. Verifique se esse escopo lista os projetos e as visualizações de registro que armazenam os dados de registro do aplicativo.

  • O escopo de métricas

    Configure esse escopo para que seus gráficos, por exemplo, aqueles criados usando a página Metrics Explorer e as políticas de alertas, possam mostrar ou monitorar os dados de métricas do aplicativo. Verifique se esse escopo lista os projetos que armazenam os dados de métricas do aplicativo.

  • O escopo de trace padrão

    Configure esse escopo para que, ao abrir a página Trace Explorer , os dados de trace do aplicativo sejam mostrados. Verifique se esse escopo lista os projetos que armazenam os dados de trace do aplicativo.

O restante desta seção fornece orientações sobre como configurar esses escopos.

Configurar e definir o escopo do registro padrão

Escolha uma destas opções:

  • Se você tiver um coletor agregado no nível da organização que direcione todos os dados de registro da organização para um bucket de registros centralizado, recomendamos o seguinte:

    1. Crie uma visualização de registro no bucket de registros centralizado para os registros do aplicativo.

    2. No App Hub projeto host ou de gerenciamento, crie um escopo do registro e adicione a visualização de registro. Em seguida, defina esse escopo como o escopo do registro padrão.

  • Se você estiver usando uma pasta habilitada para apps e não tiver um coletor agregado no nível da organização ou pastas aninhadas, recomendamos o seguinte:

    1. Crie um coletor agregado de interceptação para a pasta habilitada para apps, e direcione esses registros para o _Default bucket de registros do projeto de gerenciamento da pasta habilitada para apps.

    2. No projeto de gerenciamento da pasta habilitada para apps, verifique se o escopo do registro chamado _Default está definido como o escopo do registro padrão. O escopo chamado _Default lista a visualização _AllLogs no bucket de registros _Default do projeto, que é o local de armazenamento centralizado do aplicativo.

  • Se você não estiver usando um coletor agregado, para o projeto host ou de gerenciamento do App Hub, configure o escopo de registro padrão para listar os locais de armazenamento dos dados de registro do aplicativo. Recomendamos que você adicione visualizações de registro nos buckets de registros que armazenam os dados de registro.

Por exemplo, suponha que você tenha configurado uma pasta habilitada para apps e não esteja usando um coletor agregado. Em seguida, você pode fazer o seguinte:

  1. No projeto de gerenciamento da pasta habilitada para apps, crie um escopo do registro.
  2. Adicione ao escopo do registro uma visualização de registro para cada projeto na pasta, incluindo o projeto de gerenciamento.

    A visualização adicionada é a visualização _AllLogs no bucket de registros _Default do projeto. Essa visualização inclui todos os registros no bucket de registros _Default, e o bucket de registros _Default armazena os dados de registro do aplicativo.

    Depois de concluir essa etapa, o escopo do registro poderá ter entradas como:

    _Default/_AllLogs     my-folder-mp
    _Default/_AllLogs     project-in-my-folder
    _Default/_AllLogs     another-project-in-my-folder
    
  3. Salve o escopo do registro e defina-o como o escopo do registro padrão.

Configurar o escopo de métricas

Verifique se o escopo de métricas do seu App Hub projeto host ou projeto de gerenciamento lista todos os projetos que armazenam os dados de métricas do aplicativo:

  • Para pastas habilitadas para apps, o Google Cloud Observability tenta sincronizar a lista de projetos na pasta habilitada para apps com a lista de projetos no escopo de métricas. Por exemplo, se você adicionar um projeto à pasta habilitada para apps, um comando será emitido para adicionar esse projeto ao escopo de métricas.

    Quando o número de projetos na pasta habilitada para apps não exceder a cota do escopo de métricas, que é de 375 projetos por escopo de métricas, o Google Cloud Observability poderá manter a lista de projetos no escopo de métricas sincronizada com a lista de projetos na pasta habilitada para apps. Por exemplo, suponha que a cota seja de 375 projetos por escopo de métricas. Se a pasta habilitada para apps contiver 100 projetos, o escopo de métricas listará todos os projetos na pasta habilitada para apps. Se você adicionar projetos à pasta habilitada para apps, eles também serão adicionados ao escopo de métricas.

    Quando o número de projetos na pasta habilitada para apps exceder a cota do escopo de métricas, a lista de projetos no escopo de métricas não incluirá todos os projetos na pasta habilitada para apps. Por exemplo, suponha que a cota seja de 375 projetos por escopo de métricas e que a pasta habilitada para apps contenha 380 projetos. Depois que 375 projetos forem adicionados ao escopo de métricas, a cota será esgotada e as tentativas de adicionar os 5 projetos restantes falharão. Como resultado, alguns dados do aplicativo não estarão disponíveis para o projeto de gerenciamento da pasta habilitada para apps.

    Recomendamos que você analise o uso da cota do escopo de métricas e determine se é necessário solicitar uma atualização de cota ou modificar manualmente o escopo de métricas. Para informações sobre essas etapas, consulte Escopos de métricas para pastas ativadas para apps.

  • Para projetos host do App Hub e para projetos de gerenciamento para limites de projeto único, é necessário configurar o escopo de métricas.

    Se você mudar o conjunto de projetos que armazenam os dados de métricas, também será necessário atualizar o escopo de métricas do projeto host.

Configurar e definir o escopo de trace padrão

Faça o seguinte:

  1. Para cada projeto que armazenará os dados de trace do aplicativo, recomendamos que você ative a API Observability:

    Papéis necessários para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de Administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar a API

  2. No App Hub projeto host ou de gerenciamento, crie um escopo de trace e adicione projetos que armazenam os dados de trace do aplicativo. Se você estiver usando uma pasta habilitada para apps, adicione os projetos nessa pasta.

  3. Defina o escopo de trace personalizado como o escopo de trace padrão.

    O mapa de topologia só pode mostrar dados de trace de projetos na mesma organização que o projeto host ou o projeto de gerenciamento.

Associar uma política de alertas a um aplicativo do App Hub

Para visualizar as políticas de alertas no contexto do Application Monitoring, é necessário associá-las a um serviço ou carga de trabalho adicionando rótulos específicos do aplicativo à política de alertas. Esses rótulos definidos pelo usuário também são incluídos em todos os incidentes criados para uma política. Para saber mais sobre rótulos, consulte Anotar incidentes com rótulos. Para uma lista de rótulos do App Hub, consulte Acessar a telemetria de aplicativo.

Para associar uma política de alertas a uma carga de trabalho ou serviço usando o Google Cloud console, faça o seguinte:

  1. No Google Cloud console do, 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 Monitoring.

  2. Na barra de ferramentas do Google Cloud console, selecione o App Hub projeto host ou de gerenciamento.
  3. Encontre a política de alertas, clique em Ver mais, selecione Editar e acesse a seção Notificações e nome.
  4. Na seção Rótulos do aplicativo , selecione o aplicativo e, em seguida, selecione o serviço ou a carga de trabalho:

    Página da política de alertas mostrando como associar uma política de alertas a rótulos do App Hub.

  5. Clique em Salvar política.

Depois de concluir essas etapas, os rótulos com as seguintes chaves serão anexados à política de alertas. Esses rótulos identificam o aplicativo e o serviço ou a carga de trabalho:

  • apphub_application_location
  • apphub_application_id
  • apphub_service_id ou apphub_workload_id

Também é possível adicionar rótulos de usuário a uma política de alertas usando a Google Cloud CLI, o Terraform ou a API Cloud Monitoring. No entanto, é necessário usar as chaves de rótulo mostradas no exemplo anterior. Para mais informações, consulte o seguinte:

Conceder acesso

O IAM gerencia o acesso aos dados de registro, métricas e trace. Esta seção resume os papéis que você pode conceder aos principais:

A seguir