La configurazione di Google Cloud Observability per il monitoraggio delle applicazioni ti consente di visualizzare e analizzare log, metriche e tracce delle tue applicazioni App Hub in un'unica interfaccia, anche quando la telemetria è archiviata in più progetti Google Cloud . Per configurare Google Cloud Observability, devi configurare l'ambito di osservabilità, che include l'ambito dei log predefinito, l'ambito delle metriche e l'ambito delle tracce predefinito, e concedere i ruoli IAM. Questa configurazione si applica sia che tu registri un'applicazione esistente con App Hub sia che esegua il deployment delle applicazioni utilizzando Application Design Center.
Per visualizzare gli avvisi associati alle applicazioni nelle dashboard di monitoraggio delle applicazioni, puoi anche associare le policy di avviso all'applicazione App Hub. Se esegui workload su Google Kubernetes Engine e vuoi che le dashboard di Application Monitoring visualizzino i golden signal relativi a traffico HTTP, latenza e tasso di errore, consulta Strumenta un'applicazione per Application Monitoring.
Prima di iniziare
Identifica il progetto di cui configurerai l'ambito di osservabilità. Questo progetto è uno dei seguenti:
- Un progetto host App Hub.
- Un progetto di gestione di App Hub per il confine di un singolo progetto.
- Un progetto di gestione di App Hub per la cartella app.
In questo documento, se il tipo di progetto di gestione non è specificato, l'attività di configurazione si applica a tutti i progetti di gestione.
Assicurati di disporre dei ruoli 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 sink e ambiti
Per ottenere le autorizzazioni necessarie per configurare gli scope di osservabilità e creare un sink di log aggregati, chiedi all'amministratore di concederti il ruolo IAM Organization Administrator (
roles/resourcemanager.organizationAdmin) sulla 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 o di gestione di App Hub - Logs Configuration Writer (
roles/logging.configWriter) sul progetto host o di gestione di App Hub - Monitoring Admin (
roles/monitoring.admin) sul progetto host o di gestione di App Hub e su ogni progetto che vuoi aggiungere all'ambito delle metriche - Utente Cloud Trace (
roles/cloudtrace.user) sul progetto host o di gestione di App Hub - App Hub Viewer (
roles/apphub.viewer) sul progetto host o di gestione di App Hub
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.
- Observability Editor (
Configura l'ambito di osservabilità
L'ambito di osservabilità controlla il modo in cui le pagine di Explorer 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. Per il tuo progetto, invece, configuri quanto segue:
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 di log della tua applicazione.
L'ambito delle metriche
Configura questo ambito in modo che i grafici, ad esempio quelli che crei utilizzando la pagina Esplora metriche, e le policy 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 di 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 delle seguenti operazioni:
Se hai un sink aggregato a livello di organizzazione che esegue il routing di tutti i dati di log della tua organizzazione a un bucket di log centralizzato, ti consigliamo quanto segue:
Crea una visualizzazione dei log nel bucket di log centralizzato per i log dell'applicazione.
Nel tuo progetto host o di gestione App Hub, crea un ambito di log e aggiungi la visualizzazione dei log, quindi imposta questo ambito come ambito di log predefinito.
Se utilizzi una cartella app e non hai un sink aggregato a livello di organizzazione o cartelle nidificate, ti consigliamo quanto segue:
Crea un sink aggregato di intercettazione per la cartella app, e indirizza i log al
_Defaultbucket di log del progetto di gestione per la cartella app.Nel progetto di gestione per la cartella app, assicurati che l'ambito dei log denominato
_Defaultsia impostato come ambito dei log predefinito. L'ambito denominato_Defaultelenca la visualizzazione_AllLogssul bucket di log_Defaultdel progetto, che è la posizione di archiviazione centralizzata per la tua applicazione.
Se non utilizzi un sink aggregato, per il progetto host o di gestione di App Hub, configura l'ambito dei log predefinito per elencare le località di archiviazione dei dati di log della tua applicazione. Ti consigliamo di aggiungere visualizzazioni log ai bucket di log che archiviano i dati di log.
Ad esempio, supponiamo che tu abbia configurato una cartella app e che non utilizzi un sink aggregato. Poi, potresti procedere nel seguente modo:
- Nel progetto di gestione della cartella app, crea un ambito dei log.
Aggiungi all'ambito dei log una visualizzazione dei log per ogni progetto nella cartella, incluso il progetto di gestione.
La visualizzazione che aggiungi è la visualizzazione
_AllLogsnel bucket di log_Defaultdel progetto. Questa visualizzazione include tutti i log nel bucket di log_Default, che archivia i dati dei log dell'applicazione._DefaultDopo aver completato questo passaggio, l'ambito dei log potrebbe contenere voci simili alle seguenti:
_Default/_AllLogs my-folder-mp _Default/_AllLogs project-in-my-folder _Default/_AllLogs another-project-in-my-folderSalva l'ambito dei log e impostalo come ambito dei log predefinito.
Configura l'ambito delle metriche
Assicurati che l'ambito delle metriche per il progetto host o di gestione di App Hub elenchi 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 l'elenco dei progetti nell'ambito delle metriche sincronizzato 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, questi 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 aver aggiunto 375 progetti all'ambito delle metriche, la quota viene esaurita e i tentativi di aggiungere i restanti 5 progetti non vanno a buon fine. Di conseguenza, alcuni dati dell'applicazione non sono disponibili per il progetto di gestione della cartella app.
Ti consigliamo di esaminare l'utilizzo della quota dell'ambito delle metriche e di determinare 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 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 anche aggiornare l'ambito delle metriche del progetto host.
Configura e imposta l'ambito di traccia predefinito
Segui questi passaggi:
Per ogni progetto che memorizzerà i dati di traccia della tua applicazione, ti consigliamo di abilitare l'API Observability:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.Nel progetto host o di gestione di App Hub, 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.
Imposta l'ambito di traccia personalizzato come ambito di traccia predefinito.
Il grafico della topologia può mostrare solo i dati di traccia dei progetti nella stessa organizzazione del progetto host o del progetto di gestione.
Associa una criterio di avviso a un'applicazione App Hub
Per visualizzare le policy di avviso nel contesto del monitoraggio delle applicazioni, 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 in tutti gli avvisi creati per una policy. Per saperne di più sulle etichette, consulta Annota gli avvisi con le etichette. Per un elenco delle etichette di App Hub, consulta Visualizza la telemetria dell'applicazione.
Per associare una criterio di avviso a un workload o a un servizio utilizzando la console Google Cloud , segui questi passaggi:
-
Nella Google Cloud console, vai alla pagina notifications Avvisi:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Nella barra degli strumenti della consoleGoogle Cloud , seleziona il progetto host o di gestione di App Hub.
- Trova la criterio di avviso, fai clic su more_vert Visualizza altro, seleziona Modifica e poi vai alla sezione Notifiche e nome.
Nella sezione Etichette applicazione, seleziona l'applicazione e poi il servizio o il workload:
Fai clic su Salva policy.
Dopo aver completato questi passaggi, alla tua criterio di avviso vengono associate etichette con le seguenti chiavi. Queste etichette identificano la tua applicazione e il tuo servizio o workload:
apphub_application_locationapphub_application_idapphub_service_idoapphub_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à:
Visualizzatore di visualizzazioni log (
roles/logging.viewAccessor) sulle visualizzazioni log elencate nell'ambito dei log predefinito del progetto host o del progetto di gestione di App Hub. Per scoprire di più sulla concessione dell'accesso a una visualizzazione log, consulta Controlla l'accesso a una visualizzazione log.Visualizzatore log (
roles/logging.viewer) sul progetto host o sul progetto di gestione di App Hub e su qualsiasi altro progetto elencato nell'ambito dei log predefinito. Questo ruolo concede l'accesso alla maggior parte delle voci di log nel bucket di log_Default. Per saperne di più, consulta Ruoli di Logging.Ruolo Monitoring Editor (
roles/monitoring.editor) sul progetto host o di gestione di App Hub. Per le entità che non devono creare policy di avviso, valuta la possibilità di concedere il ruolo Monitoring Viewer (roles/monitoring.viewer).Cloud Trace User (
roles/cloudtrace.user) sul progetto host o di gestione di App Hub e sui progetti elencati nell'ambito di traccia predefinito.Visualizzatore App Hub (
roles/apphub.viewer) sul progetto host o sul progetto di gestione di App Hub.