Configura Google Cloud Observability per il monitoraggio delle applicazioni

Quando esegui il deployment di 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 preconfigurati che Application Monitoring fornisce, 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 Application Design Center.

Oltre a configurare Google Cloud Observability, potresti voler fare quanto segue:

  1. Allega etichette specifiche dell'applicazione ai criteri di avviso. Quando aggiungi queste etichette, gli incidenti associati alla tua applicazione vengono mostrati nelle dashboard OOTB. 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 dashboard OOTB, strumenta l'applicazione con OpenTelemetry. Per ulteriori informazioni, consulta Strumentazione per il monitoraggio delle applicazioni.

Prima di iniziare

  • Identifica il progetto di cui configurerai l'ambito di osservabilità. Questo progetto è il progetto host di App Hub o il progetto di gestione delle cartelle abilitate per le app. Ad esempio, se il nome visualizzato della cartella è My Folder, il nome visualizzato del progetto di gestione è My Folder-mp.

  • Assicurati di disporre dei ruoli di Identity and Access Management (IAM) necessari per configurare l'ambito di osservabilità. I ruoli IAM richiesti dipendono dal fatto che tu preveda di creare un sink aggregato, che ti consente di centralizzare l'archiviazione dei dati di log.

    Configura il sink e gli ambiti

    Per ottenere le autorizzazioni necessarie per configurare gli ambiti di osservabilità e creare un sink di log aggregato, chiedi all'amministratore di concederti il ruolo IAM Amministratore dell'organizzazione (roles/resourcemanager.organizationAdmin) nella tua organizzazione. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

    Configura solo gli ambiti

    Per ottenere le autorizzazioni necessarie per configurare l'ambito di osservabilità, chiedi all'amministratore di concederti i seguenti ruoli IAM:

    • Observability Editor (roles/observability.editor) sul progetto host di App Hub o sul progetto di gestione della cartella app
    • Writer di configurazione dei log (roles/logging.configWriter) nel progetto host di App Hub o nel progetto di gestione della cartella abilitata per le app
    • Monitoring Admin (roles/monitoring.admin) sul progetto host di App Hub o sul progetto di gestione della cartella abilitata per le app e su ogni progetto da aggiungere all'ambito delle metriche
    • Utente Cloud Trace (roles/cloudtrace.user) nel progetto host App Hub o nel progetto di gestione della cartella abilitata per le app
    • Visualizzatore App Hub (roles/apphub.viewer) sul progetto host di App Hub o sul progetto di gestione della cartella abilitata alle app

    Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Configurare l'ambito dell'osservabilità

L'ambito di osservabilità controlla il modo in cui le pagine di Esplora 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 le dashboard, vengano visualizzati i dati di 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.

Configura e imposta l'ambito dei log predefinito

Esegui una di queste 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 di App Hub o nel progetto di gestione della cartella abilitata alle app, crea un ambito dei log e aggiungi la visualizzazione dei log, quindi imposta questo ambito come ambito dei log predefinito.

  • Se utilizzi una cartella abilitata alle 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 abilitata per le app e indirizza questi log al bucket di log _Default del progetto di gestione.

    2. Nel progetto di gestione per la cartella abilitata per le 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, ovvero la posizione di archiviazione centralizzata per l'applicazione.

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

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

  1. Nel progetto di gestione, 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 vista che aggiungi è la vista _AllLogs del _Default bucket di log del progetto. Questa visualizzazione include tutti i log nel bucket di log _Default e il bucket di log _Default memorizza 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 dei log e lo imposti come ambito dei log predefinito.

Configura l'ambito delle metriche

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

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

    Quando il numero di progetti nella cartella abilitata per le 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 abilitata per le app. Ad esempio, supponiamo che la quota sia 375 progetti per ambito delle metriche. Se la cartella abilitata per le app contiene 100 progetti, l'ambito delle metriche elenca tutti i progetti nella cartella abilitata per le app. Se aggiungi progetti alla cartella abilitata per le app, vengono aggiunti anche all'ambito delle metriche.

    Quando il numero di progetti nella cartella abilitata per le app supera la quota dell'ambito delle metriche, l'elenco dei progetti nell'ambito delle metriche non includerà tutti i progetti nella cartella abilitata per le app. Ad esempio, supponiamo che la quota sia di 375 progetti per ambito delle metriche e che la cartella abilitata per le 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 dell'applicazione non sono disponibili per il tuo progetto di gestione.

    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, devi configurare l'ambito delle metriche del progetto host.

    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 della traccia predefinito

Segui questi passaggi:

  1. Nel progetto host di App Hub o nel progetto di gestione della cartella abilitata per le app, crea un ambito di traccia e aggiungi i progetti che archiviano i dati di traccia dell'applicazione. Se utilizzi una cartella app, aggiungi i progetti in quella cartella.

  2. Imposta l'ambito della traccia personalizzato come ambito della traccia predefinito.

Associa un criterio di avviso a un'applicazione App Hub

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

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 della cartella app.
  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 carico di lavoro o il servizio.
  5. Fai clic su Salva policy.

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

  • apphub_application_location
  • apphub_application_id
  • apphub_service_id o apphub_workload_id

Puoi anche aggiungere etichette utente a un 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 di App Hub o del progetto di gestione della cartella abilitata per le app. Per scoprire di più su come concedere l'accesso a una visualizzazione log, vedi Controllare l'accesso a una visualizzazione log.

  • Visualizzatore log (roles/logging.viewer) nel progetto host di App Hub o nel progetto di gestione della cartella abilitata alle app 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 Editor Monitoring (roles/monitoring.editor) sul progetto host di App Hub o sul progetto di gestione della cartella abilitata per le app. Per le entità che non devono creare criteri di avviso, valuta la possibilità di concedere il ruolo Visualizzatore Monitoring (roles/monitoring.viewer).

  • Utente Cloud Trace (roles/cloudtrace.user) nel tuo progetto host App Hub o nel progetto di gestione della cartella abilitata per le app e nei progetti elencati nel suo ambito di traccia predefinito.

  • Visualizzatore di App Hub (roles/apphub.view) nel progetto host di App Hub o nel progetto di gestione della cartella abilitata alle app.

Passaggi successivi