Quando esegui il deployment di un'applicazione App Hub, questa potrebbe inviare dati di telemetria a più Google Cloud progetti. Per visualizzare tutti i dati di telemetria generati dall'applicazione tramite una singola interfaccia, ad esempio tramite le dashboard fornite 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 o quando esegui il deployment delle applicazioni utilizzando il App Design Center.
Oltre a configurare Google Cloud Observability, potresti voler eseguire le seguenti operazioni:
Aggiungere etichette specifiche dell'applicazione alle policy di avviso. Quando aggiungi queste etichette, gli incidenti associati alla tua applicazione vengono visualizzati nelle dashboard di Application Monitoring. Per informazioni su questo passaggio, consulta la sezione Associare una criterio di avviso a un'applicazione App Hub di questo documento.
Se esegui il deployment dei carichi di lavoro su Google Kubernetes Engine e vuoi che i segnali dorati di traffico, latenza e tasso di errori vengano visualizzati nelle dashboard di Application Monitoring, instrumenta l'applicazione con OpenTelemetry. Per saperne di più, consulta Instrumentazione per Application Monitoring.
Prima di iniziare
Identifica il progetto di cui configurerai l'ambito di osservabilità. Questo progetto è uno dei seguenti:
- Un progetto host di App Hub.
- Un progetto di gestione di App Hub per il limite di un singolo progetto.
- Un progetto di gestione di App Hub per la cartella app.
In questo documento, quando 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 intenda creare un sink aggregato, che ti consente di centralizzare l'archiviazione dei dati di log.
Configurare 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.
Configurare solo gli ambiti
Per ottenere le autorizzazioni necessarie per configurare l'ambito di osservabilità, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Editor di osservabilità (
roles/observability.editor) nel progetto host o di gestione di App Hub -
Writer di configurazione dei log (
roles/logging.configWriter) nel progetto host o di gestione di App Hub -
Amministratore di monitoraggio (
roles/monitoring.admin) nel progetto host o di gestione di App Hub e in ogni progetto che vuoi aggiungere all'ambito delle metriche -
Utente Cloud Trace (
roles/cloudtrace.user) nel progetto host o di gestione di App Hub -
Visualizzatore di App Hub (
roles/apphub.viewer) nel 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.
-
Editor di osservabilità (
Configurare l'ambito di osservabilità
L'ambito di osservabilità controlla il modo in cui le pagine di esplorazione e dashboard cercano i dati da visualizzare. Ogni Google Cloud progetto contiene un singolo ambito di osservabilità. Non configuri direttamente l'ambito di osservabilità di un progetto. Al contrario, per il tuo progetto, configuri 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 dell'applicazione. Assicurati che questo ambito elenchi i progetti e le visualizzazioni di log in cui sono archiviati i dati di log dell'applicazione.
L'ambito delle metriche
Configura questo ambito in modo che i grafici, ad esempio quelli creati utilizzando la pagina Esplora metriche e le policy di avviso, possano visualizzare o monitorare i dati delle metriche dell'applicazione. Assicurati che questo ambito elenchi i progetti in cui sono archiviati i dati delle metriche dell'applicazione.
L'ambito della traccia predefinito
Configura questo ambito in modo che, quando apri la pagina Esplora tracce , vengano visualizzati i dati di traccia dell'applicazione. Assicurati che questo ambito elenchi i progetti in cui sono archiviati i dati di traccia dell'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 esegue il routing di tutti i dati di log dell'organizzazione a un bucket di log centralizzato, ti consigliamo di:
Crea una visualizzazione di log nel bucket di log centralizzato per i log dell'applicazione.
Nel progetto host o di gestione di App Hub, crea un ambito dei log e aggiungi la visualizzazione di log, e poi imposta questo ambito come ambito dei log predefinito.
Se utilizzi una cartella app e non hai un sink aggregato a livello di organizzazione o cartelle nidificate, ti consigliamo di:
Crea un sink aggregato di intercettazione per la cartella app, ed esegui il routing di questi 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_AllLogsnel bucket di log_Defaultdel progetto, che è la posizione di archiviazione centralizzata per l'applicazione.
Se non utilizzi un sink aggregato, configura l'ambito dei log predefinito per elencare le posizioni di archiviazione dei dati di log dell'applicazione nel progetto host o di gestione di App Hub. Ti consigliamo di aggiungere visualizzazioni di log nei bucket di log in cui sono archiviati i dati di log.
Ad esempio, supponiamo che tu abbia configurato una cartella app e che non utilizzi un sink aggregato. In questo caso, potresti eseguire le seguenti operazioni:
- Nel progetto di gestione per la cartella app, crea un ambito dei log.
Aggiungi all'ambito dei log una visualizzazione di 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_Defaulte il bucket di log_Defaultmemorizza i dati di log dell'applicazione.Dopo aver completato questo passaggio, l'ambito dei log potrebbe avere voci simili a:
_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.
Configurare l'ambito delle metriche
Assicurati che l'ambito delle metriche per il progetto host di App Hub o di gestione elenchi tutti i progetti in cui sono archiviati i dati delle metriche dell'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.
Quando 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, 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 include 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 viene 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 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 app.
Per i progetti host di App Hub e per i progetti di gestione per i limiti di un singolo progetto, devi configurare l'ambito delle metriche.
Se modifichi l'insieme di progetti in cui sono archiviati 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:
Per ogni progetto in cui verranno archiviati i dati di traccia dell'applicazione, ti consigliamo di abilitare l'API Observability:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore di Service Usage (
roles/serviceusage.serviceUsageAdmin), che contiene l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.Nel tuo App Hub progetto host o progetto di gestione, crea un ambito della traccia e aggiungi i progetti in cui sono archiviati i dati di traccia dell'applicazione. Se utilizzi una cartella app, aggiungi i progetti in quella cartella.
Imposta l'ambito della traccia personalizzato come l' ambito della 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 carico di lavoro aggiungendo etichette specifiche dell'applicazione alla criterio di avviso. Queste etichette definite dall'utente sono incluse anche in tutti gli 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 dell'applicazione.
Per associare una criterio di avviso a un carico di lavoro o a un servizio utilizzando la Google Cloud console, segui questi passaggi:
-
Nella Google Cloud console, vai alla notifications pagina Avvisi:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.
- Nella barra degli strumenti della Google Cloud console, 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 dell'applicazione, seleziona l'applicazione e poi il servizio o il carico di lavoro:
Fai clic su Salva policy.
Dopo aver completato questi passaggi, le etichette con le seguenti chiavi vengono associate alla criterio di avviso. Queste etichette identificano l'applicazione e il servizio o il carico di lavoro:
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 saperne di più, consulta le seguenti risorse:
Concedi l'accesso
IAM gestisce l'accesso ai dati di log, metriche e tracce. Questa sezione riassume i ruoli che potresti voler concedere alle entità:
Accessore alla visualizzazione dei log (
roles/logging.viewAccessor) nelle visualizzazioni di log elencate nell'ambito dei log predefinito del progetto host o di gestione di App Hub. Per saperne di più sulla concessione dell'accesso a una visualizzazione di log, consulta Controllare l'accesso a una visualizzazione di log.Visualizzatore dei log (
roles/logging.viewer) nel progetto host o di gestione di App Hub e in tutti gli altri progetti elencati nel relativo 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 Editor di monitoraggio (
roles/monitoring.editor) nel 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 Visualizzatore di monitoraggio (roles/monitoring.viewer).Utente Cloud Trace (
roles/cloudtrace.user) nel progetto host o di gestione di App Hub e nei progetti elencati nel relativo ambito della traccia predefinito.Visualizzatore di App Hub (
roles/apphub.view) nel progetto host o di gestione di App Hub.