Ao configurar o Google Cloud Observability para monitoramento de aplicativos, é possível visualizar e analisar registros, métricas e traces dos aplicativos do App Hub em uma única interface, mesmo quando a telemetria é armazenada em vários projetos do Google Cloud . Para configurar o Google Cloud Observability, defina o escopo de observabilidade, que inclui o escopo de registro padrão, o escopo de métricas e o escopo de trace padrão, e conceda papéis do IAM. Essa configuração se aplica ao registrar um aplicativo existente no App Hub ou implantar aplicativos usando o Application Design Center.
Para mostrar alertas associados ao aplicativo nos painéis de monitoramento de aplicativos, também é possível associar suas políticas de alertas ao aplicativo do App Hub. Se você executa cargas de trabalho no Google Kubernetes Engine e quer que os painéis do Application Monitoring exibam os indicadores de ouro de tráfego HTTP, latência e taxa de erros, consulte Instrumentar um aplicativo para o Application Monitoring.
Antes de começar
Identifique o projeto em que você vai configurar o escopo de observabilidade. Este 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 sua 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 ou não a criação de um coletor agregado, que permite centralizar o armazenamento de dados de registro.
Configurar coletor e 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 sua 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 papéis personalizados ou outros papéis predefinidos.
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:
- Editor de observabilidade (
roles/observability.editor) no projeto host ou de gerenciamento do App Hub - Gravador de configuração de registros (
roles/logging.configWriter) no projeto host ou de gerenciamento do App Hub - Administrador do Monitoring (
roles/monitoring.admin) no projeto host ou de gerenciamento do App Hub e em cada projeto que você quer adicionar ao escopo de métricas - Usuário do Cloud Trace (
roles/cloudtrace.user) no projeto host ou de gerenciamento do App Hub - Leitor do App Hub (
roles/apphub.viewer) no projeto host ou de gerenciamento do App Hub
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 papéis personalizados ou outros papéis predefinidos.
- Editor de observabilidade (
Configurar o escopo de observabilidade
O escopo de observabilidade controla como as páginas do explorador e do painel pesquisam os dados a serem exibidos. Cada projeto do Google Cloud contém um único escopo de observabilidade. Não é possível configurar diretamente o escopo de observabilidade de um projeto. Em vez disso, para seu projeto, configure o seguinte:
O escopo do registro padrão
Configure esse escopo para que, ao abrir a página do Análise de registros ou visualizar painéis, os dados de registro do aplicativo sejam exibidos. 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 os gráficos, por exemplo, aqueles criados com a página do Metrics Explorer, e as políticas de alertas possam exibir 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 do Trace Explorer, os dados de trace do aplicativo sejam exibidos. Verifique se esse escopo lista os projetos que armazenam os dados de trace do seu 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 encaminhe todos os dados de registro da sua organização para um bucket de registros centralizado, recomendamos o seguinte:
Crie uma visualização de registros no bucket de registros centralizado para os registros do aplicativo.
No projeto host ou de gerenciamento do App Hub, crie um escopo de registro, adicione sua visualização de registros e defina esse escopo como o 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:
Crie um coletor agregado de interceptação para sua pasta habilitada para apps e encaminhe esses registros para o bucket de registros
_Defaultdo projeto de gerenciamento da sua pasta habilitada para apps.No projeto de gerenciamento da pasta habilitada para apps, verifique se o escopo do registro chamado
_Defaultestá definido como o escopo do registro padrão. O escopo chamado_Defaultlista a visualização_AllLogsno bucket de registros_Defaultdo projeto, que é o local de armazenamento centralizado do aplicativo.
Se você não estiver usando um coletor agregado, configure o escopo de registro padrão para o projeto host ou de gerenciamento do App Hub para listar os locais de armazenamento dos dados de registro do aplicativo. Recomendamos que você adicione visualizações de registros aos buckets de registros que armazenam seus dados de registro.
Por exemplo, suponha que você tenha configurado uma pasta habilitada para apps e que não esteja usando um coletor agregado. Em seguida, você pode fazer o seguinte:
- No projeto de gerenciamento da pasta habilitada para apps, crie um escopo do registro.
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
_AllLogsno bucket de registros_Defaultdo projeto. Essa visualização inclui todos os registros no bucket de registros_Default,_Defaultque armazena os dados de registro do aplicativo.Depois de concluir essa etapa, o escopo do registro poderá ter entradas como as seguintes:
_Default/_AllLogs my-folder-mp _Default/_AllLogs project-in-my-folder _Default/_AllLogs another-project-in-my-folderSalve o escopo do registro e defina-o como o escopo padrão.
Configurar o escopo de métricas
Verifique se o escopo de métricas do projeto host ou de gerenciamento do App Hub 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 às métricas de escopo.
Quando o número de projetos na pasta habilitada para apps não excede a cota de métricas de escopo, que é de 375 projetos por métricas de escopo, o Google Cloud Observability pode manter a lista de projetos nas métricas de escopo sincronizada com a lista de projetos na pasta habilitada para apps. Por exemplo, suponha que a cota seja de 375 projetos por métricas de escopo. Se a pasta habilitada para apps tiver 100 projetos, as métricas de escopo vão listar todos os projetos nela. Se você adicionar projetos à pasta habilitada para apps, eles também serão adicionados às métricas de escopo.
Quando o número de projetos na pasta habilitada para apps excede a cota de métricas de escopo, a lista de projetos nas métricas de escopo não inclui todos os projetos na pasta habilitada para apps. Por exemplo, suponha que a cota seja de 375 projetos por métricas de escopo e que sua pasta habilitada para apps contenha 380 projetos. Depois que 375 projetos são adicionados ao escopo de métricas, a cota é esgotada e as tentativas de adicionar os cinco projetos restantes falham. Como resultado, alguns dados de aplicativos não estão disponíveis para o projeto de gerenciamento da pasta habilitada para apps.
Recomendamos que você analise o uso da cota de métricas de escopo e determine se precisa solicitar uma atualização de cota ou modificar manualmente as métricas de escopo. Para mais informações sobre essas etapas, consulte Escopos de métricas para pastas habilitadas para apps.
Para projetos host do App Hub e para projetos de gerenciamento de limites de projeto único, é necessário configurar o escopo de métricas.
Se você mudar o conjunto de projetos que armazenam seus 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:
Para cada projeto que armazenará os dados de trace do aplicativo, recomendamos que você ative a API Observability:
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de proprietário (roles/owner). Caso contrário, é possível conseguir essa permissão pelo papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.No projeto host ou de gerenciamento do App Hub, 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 nela.
Defina o escopo de trace personalizado como o escopo de trace padrão.
O gráfico 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 ver as políticas de alertas no contexto do Monitoramento de Aplicativos, é 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 alertas criados para uma política. Para saber mais sobre rótulos, consulte Anotar alertas com rótulos. Para ver 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 console do Google Cloud , faça o seguinte:
-
No console do Google Cloud , acesse a página notifications Alertas:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do console doGoogle Cloud , selecione o projeto host ou de gerenciamento do App Hub.
- Encontre a política de alertas, clique em more_vert Ver mais, selecione Editar e acesse a seção Notificações e nome.
Na seção Rótulos do aplicativo, selecione o aplicativo e, em seguida, o serviço ou a carga de trabalho:
Clique em Salvar política.
Depois de concluir essas etapas, os rótulos com as seguintes chaves serão anexados à sua política de alertas. Esses rótulos identificam seu aplicativo e seu serviço ou carga de trabalho:
apphub_application_locationapphub_application_idapphub_service_idouapphub_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, é preciso usar as chaves de rótulo mostradas no exemplo anterior. Para ver mais informações, consulte os seguintes tópicos:
Conceder acesso
O IAM gerencia o acesso aos dados de registro, métrica e trace. Esta seção resume os papéis que você pode conceder aos principais:
Acessador de visualização de registros (
roles/logging.viewAccessor) nas visualizações de registro listadas no escopo de registro padrão do seu projeto host ou de gerenciamento do App Hub. Para saber mais sobre como conceder acesso a uma visualização de registro, consulte Controlar o acesso a uma visualização de registro.Visualizador de registros (
roles/logging.viewer) no projeto host ou de gerenciamento do App Hub e em qualquer outro projeto listado no escopo do registro padrão. Esse papel concede acesso à maioria das entradas de registro no bucket de registros_Default. Saiba mais em Papéis do Logging.Papel de Editor do Monitoring (
roles/monitoring.editor) no projeto host ou de gerenciamento do App Hub. Para principais que não precisam criar políticas de alertas, considere conceder o papel de Leitor do Monitoring (roles/monitoring.viewer).Usuário do Cloud Trace (
roles/cloudtrace.user) no projeto host ou de gerenciamento do App Hub e nos projetos listados no escopo de trace padrão.Leitor do App Hub (
roles/apphub.viewer) no projeto host ou de gerenciamento do App Hub.