Configura Google Cloud Observability per il monitoraggio delle applicazioni

Quando implementi un'applicazione App Hub, questa potrebbe inviare dati di telemetria a più progetti Google Cloud . Per visualizzare tutta la telemetria generata dalla tua applicazione tramite una singola interfaccia, ad esempio tramite i dashboard forniti da Application Monitoring, devi configurare Google Cloud Observability. Questo documento descrive la configurazione richiesta.

Questo documento si applica quando esegui il deployment dell'applicazione e poi la registri con App Hub oppure quando esegui il deployment delle applicazioni utilizzando App Design Center.

Oltre a configurare Google Cloud Observability, potresti voler:

  1. Collega etichette specifiche dell'applicazione alle tue policy di avviso. Quando aggiungi queste etichette, gli incidenti associati alla tua applicazione vengono mostrati nelle dashboard di monitoraggio delle applicazioni. Per informazioni su questo passaggio, consulta la sezione Associare una criterio di avviso a un'applicazione App Hub di questo documento.

  2. Se esegui il deployment di carichi di lavoro su Google Kubernetes Engine e vuoi che i segnali d'oro relativi a traffico, latenza e tasso di errore vengano visualizzati nei tuoi dashboard di monitoraggio delle applicazioni, strumenta l'applicazione con OpenTelemetry. Per saperne di più, consulta Instrumentazione per il monitoraggio delle applicazioni.

Prima di iniziare

Configura l'ambito di osservabilità

L'ambito di osservabilità controlla il modo in cui le pagine di esplorazione e della dashboard cercano i dati da visualizzare. Ogni progetto Google Cloud contiene un singolo ambito di osservabilità. Non configuri direttamente l'ambito di osservabilità di un progetto. Invece, per il tuo progetto, configura quanto segue:

  • L'ambito dei log predefinito

    Configura questo ambito in modo che, quando apri la pagina Esplora log o visualizzi i dashboard, vengano visualizzati i dati dei log della tua applicazione. Assicurati che questo ambito elenchi i progetti e le visualizzazioni dei log che archiviano i dati dei log della tua applicazione.

  • Ambito delle metriche

    Configura questo ambito in modo che i grafici, ad esempio quelli che crei utilizzando la pagina Esplora metriche e i criteri di avviso possano visualizzare o monitorare i dati delle metriche della tua applicazione. Assicurati che questo ambito elenchi i progetti che archiviano i dati delle metriche della tua applicazione.

  • L'ambito della traccia predefinito

    Configura questo ambito in modo che, quando apri la pagina Esplora tracce, vengano visualizzati i dati di traccia della tua applicazione. Assicurati che questo ambito elenchi i progetti che archiviano i dati di traccia della tua applicazione.

Il resto di questa sezione fornisce indicazioni su come configurare questi ambiti.

Configurare e impostare l'ambito dei log predefinito

Esegui una delle seguenti operazioni:

  • Se hai un sink aggregato a livello di organizzazione che indirizza tutti i dati di log della tua organizzazione a un bucket di log centralizzato, ti consigliamo di:

    1. Crea una visualizzazione dei log nel bucket di log centralizzato per i log dell'applicazione.

    2. Nel progetto host App Hub o nel progetto di gestione, crea un ambito di log, aggiungi la visualizzazione di log e imposta questo ambito come ambito di log predefinito.

  • Se utilizzi una cartella app e non disponi di un sink aggregato a livello di organizzazione o di cartelle nidificate, ti consigliamo di:

    1. Crea un sink aggregato di intercettazione per la cartella app, e indirizza questi log al bucket di log _Default del progetto di gestione per la cartella app.

    2. Nel progetto di gestione per la cartella app, assicurati che l'ambito dei log denominato _Default sia impostato come ambito dei log predefinito. L'ambito denominato _Default elenca la visualizzazione _AllLogs nel bucket di log _Default del progetto, che è la posizione di archiviazione centralizzata per l'applicazione.

  • Se non utilizzi un sink aggregato, per il progetto host o il progetto di gestione di App Hub, configura l'ambito dei log predefinito in modo da elencare le posizioni di archiviazione dei dati di log della tua applicazione. Ti consigliamo di aggiungere visualizzazioni dei log nei bucket di log che archiviano i dati di log.

Ad esempio, supponiamo di aver configurato una cartella app e di non utilizzare un sink aggregato. A questo punto, potresti:

  1. Nel progetto di gestione per la cartella app, crea un ambito dei log.
  2. Aggiungi all'ambito del log una visualizzazione dei log per ogni progetto nella cartella, incluso il progetto di gestione.

    La visualizzazione che aggiungi è la visualizzazione _AllLogs nel bucket di log _Default del progetto. Questa visualizzazione include tutti i log nel bucket di log _Default e il bucket di log _Default archivia i dati dei log dell'applicazione.

    Dopo aver completato questo passaggio, l'ambito del log potrebbe contenere voci come:

    _Default/_AllLogs     my-folder-mp
    _Default/_AllLogs     project-in-my-folder
    _Default/_AllLogs     another-project-in-my-folder
    
  3. Salvi l'ambito di log e lo imposti come ambito di log predefinito.

Configurare l'ambito delle metriche

Assicurati che l'ambito delle metriche per il tuo progetto host App Hub o progetto di gestione elenca tutti i progetti che archiviano i dati delle metriche della tua applicazione:

  • Per le cartelle app, Google Cloud Observability tenta di sincronizzare l'elenco dei progetti nella cartella app con l'elenco dei progetti nell'ambito delle metriche. Ad esempio, se aggiungi un progetto alla cartella app, viene emesso un comando per aggiungere il progetto all'ambito delle metriche.

    Se il numero di progetti nella cartella app non supera la quota dell'ambito delle metriche, che per impostazione predefinita è di 375 progetti per ambito delle metriche, Google Cloud Observability può mantenere sincronizzato l'elenco dei progetti nell'ambito delle metriche con l'elenco dei progetti nella cartella app. Ad esempio, supponiamo che la quota sia di 375 progetti per ambito delle metriche. Se la cartella app contiene 100 progetti, l'ambito delle metriche elenca tutti i progetti nella cartella app. Se aggiungi progetti alla cartella app, vengono aggiunti anche all'ambito delle metriche.

    Quando il numero di progetti nella cartella app supera la quota dell'ambito delle metriche, l'elenco dei progetti nell'ambito delle metriche non includerà tutti i progetti nella cartella app. Ad esempio, supponiamo che la quota sia di 375 progetti per ambito delle metriche e che la cartella app contenga 380 progetti. Dopo l'aggiunta di 375 progetti all'ambito delle metriche, la quota è esaurita e i tentativi di aggiungere i 5 progetti rimanenti non vanno a buon fine. Di conseguenza, alcuni dati delle applicazioni non sono disponibili per il progetto di gestione per la cartella app.

    Ti consigliamo di esaminare l'utilizzo della quota dell'ambito delle metriche e di stabilire se devi richiedere un aggiornamento della quota o modificare manualmente l'ambito delle metriche. Per informazioni su questi passaggi, consulta Ambiti delle metriche per le cartelle abilitate per le app.

  • Per i progetti host di App Hub e per i progetti di gestione per i confini di un singolo progetto, devi configurare l'ambito delle metriche.

    Se modifichi l'insieme di progetti che archiviano i dati delle metriche, devi aggiornare anche l'ambito delle metriche del progetto host.

Configurare e impostare l'ambito di traccia predefinito

Segui questi passaggi:

  1. Per ogni progetto che memorizzerà i dati di tracciamento della tua applicazione, ti consigliamo di attivare l'API Observability:

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilitare l'API

  2. Nel progetto host di App Hub o nel progetto di gestione, crea un ambito di traccia e aggiungi i progetti che archiviano i dati di traccia della tua applicazione. Se utilizzi una cartella app, aggiungi i progetti in quella cartella.

  3. Imposta l'ambito di traccia personalizzato come ambito di traccia predefinito.

    La mappa della topologia può mostrare solo i dati di traccia dei progetti nella stessa organizzazione del progetto host o del progetto di gestione.

Associare una criterio di avviso a un'applicazione App Hub

Per visualizzare le policy di avviso dal contesto di Application Monitoring, devi associarle a un servizio o a un workload aggiungendo etichette specifiche dell'applicazione alla criterio di avviso. Queste etichette definite dall'utente sono incluse anche negli incidenti creati per una policy. Per saperne di più sulle etichette, consulta Annotare gli incidenti con le etichette. Per un elenco delle etichette di App Hub, consulta Visualizzare la telemetria delle applicazioni.

Per associare un criterio di avviso a un carico di lavoro o a un servizio utilizzando la console Google Cloud :

  1. Nella Google Cloud console, vai alla pagina  Avvisi:

    Vai ad Avvisi

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.

  2. Nella barra degli strumenti della consoleGoogle Cloud , seleziona il progetto host di App Hub o il progetto di gestione.
  3. Trova il criterio di avviso, fai clic su Visualizza altro, seleziona Modifica e poi vai alla sezione Notifiche e nome.
  4. Nella sezione Etichette applicazione, seleziona l'applicazione e poi il servizio o il carico di lavoro:

    Pagina dei criteri di avviso che mostra come associare un criterio di avviso alle etichette di App Hub.

  5. Fai clic su Salva policy.

Dopo aver completato questi passaggi, le etichette con le seguenti chiavi vengono associate alla tua criterio di avviso. Queste etichette identificano l'applicazione e il servizio o il carico di lavoro:

  • apphub_application_location
  • apphub_application_id
  • apphub_service_id o apphub_workload_id

Puoi anche aggiungere etichette utente a una criterio di avviso utilizzando Google Cloud CLI, Terraform o l'API Cloud Monitoring. Tuttavia, devi utilizzare le chiavi delle etichette mostrate nell'esempio precedente. Per ulteriori informazioni, consulta le seguenti risorse:

Concedi l'accesso

IAM gestisce l'accesso ai dati di log, metriche e tracce. Questa sezione riepiloga i ruoli che potresti voler concedere alle entità:

  • Logs View Accessor (roles/logging.viewAccessor) nelle visualizzazioni dei log elencate nell'ambito dei log predefinito del progetto host o del progetto di gestione di App Hub. Per saperne di più su come concedere l'accesso a una visualizzazione log, consulta Controllare l'accesso a una visualizzazione log.

  • Visualizzatore log (roles/logging.viewer) nel progetto host o nel progetto di gestione di App Hub e in qualsiasi altro progetto elencato nel suo ambito di log predefinito. Questo ruolo concede l'accesso alla maggior parte delle voci di log nel bucket di log _Default. Per ulteriori informazioni, consulta Ruoli Logging.

  • Ruolo Monitoring Editor (roles/monitoring.editor) sul progetto host di App Hub o sul progetto di gestione. Per le entità che non devono creare policy di avviso, valuta la possibilità di concedere il ruolo Monitoring Viewer (roles/monitoring.viewer).

  • Utente Cloud Trace (roles/cloudtrace.user) nel progetto host o nel progetto di gestione di App Hub e nei progetti elencati nel suo ambito di traccia predefinito.

  • Visualizzatore di App Hub (roles/apphub.view) nel progetto host o nel progetto di gestione di App Hub.

Passaggi successivi