Error Reporting consente di aggregare gli arresti anomali e diagnosticare le eccezioni di runtime delle applicazioni Compute Engine. Puoi inviare i dati sugli errori trasmettendo i log in streaming a Cloud Logging o chiamando direttamente l'API Error Reporting. Se utilizzi Logging, le voci di log devono rispettare i requisiti di formattazione.
Utilizzare Logging per segnalare gli errori
Per connettere le tue applicazioni Compute Engine a Error Reporting, invia le tue eccezioni o altri errori a Logging utilizzando uno dei seguenti agenti:
Ops Agent
Per configurare Error Reporting in modo che utilizzi Ops Agent, completa i seguenti passaggi:
Installa Ops Agent in base al tuo ambiente. Per istruzioni, consulta Installazione di Ops Agent.
Configura Ops Agent per raccogliere i log delle applicazioni e formattarli correttamente.
Per l'applicazione di terze parti supportata:Ops Agent fornisce ricevitori di logging preconfigurati che acquisiscono e analizzano automaticamente le voci di log in formati strutturati riconosciuti da Error Reporting. Per informazioni sulle applicazioni di terze parti supportate, consulta Monitoraggio delle applicazioni di terze parti.
Per le applicazioni personalizzate:configura un ricevitore di logging per specificare le posizioni dei file di log e accoppialo a uno dei seguenti processori:
- Utilizza un processore
parse_multilinese la tua app scrive stack trace di testo normale su più righe. - Utilizza un processore
parse_jsonse la tua app scrive i log come stringhe JSON.
Per istruzioni dettagliate, vedi Configurare Ops Agent.
- Utilizza un processore
Se la tua applicazione non genera stack trace standard, modificala in modo che registri le eccezioni e i relativi stack trace in Cloud Logging.
Devi includere tutte le informazioni per un singolo errore o eccezione nella stessa voce di log, inclusi tutti i frame di qualsiasi analisi dello stack. Se tutte le informazioni non sono insieme, Error Reporting potrebbe non rilevare l'errore. Puoi utilizzare il formato JSON strutturato per i payload voce di log in modo da includere diversi tipi di informazioni per ogni errore.
Agente Logging legacy
Per configurare Error Reporting in modo che utilizzi l'agente Logging legacy, completa i seguenti passaggi:
- Installa l'agente Logging
google-fluentdcome appropriato per il tuo ambiente. Per istruzioni, vedi Installazione dell'agente Logging. Modifica l'applicazione in modo che registri le eccezioni e le relative analisi dello stack in Logging.
Devi includere tutte le informazioni per un singolo errore o eccezione nella stessa voce di log, inclusi tutti i frame di qualsiasi analisi dello stack. Se tutte le informazioni non sono insieme, Error Reporting potrebbe non rilevare l'errore. Puoi utilizzare il formato JSON strutturato per i payload voce di log in modo da includere diversi tipi di informazioni per ogni errore.
Java
Aggiungi quanto segue al tuo file pom.xml:
Quindi, utilizza un codice come il seguente per inviare i dati delle eccezioni:
Python
Innanzitutto, installa la
libreria fluent-logger-python:
sudo pip install fluent-logger
Quindi, utilizza un codice come il seguente per inviare i dati delle eccezioni:
Node.js
Innanzitutto, installa la
libreria fluent-logger-node:
npm install fluent-logger
Quindi, utilizza un codice come il seguente per inviare i dati delle eccezioni:
Vai
Innanzitutto, installa il pacchetto fluent-logger-golang:
go get github.com/fluent/fluent-logger-golang/
Quindi, utilizza un codice simile al seguente per inviare i dati sugli errori:
Utilizzo dell'API Error Reporting per scrivere errori
L'API Error Reporting fornisce un endpoint report per scrivere
le informazioni sugli errori nel servizio.
Abilita l'API Error Reporting, se non è già abilitata.
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 utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.Segnala gli errori all'API utilizzando l'API REST o una libreria client.
Esempi
ASP.NET
Il pacchetto NuGet ASP.NET segnala le eccezioni non rilevate dalle applicazioni web ASP.NET a Error Reporting.
Installa il pacchetto NuGet
Per installare il pacchetto NuGet Stackdriver ASP.NET in Visual Studio:
- Fai clic con il tasto destro del mouse sulla soluzione e seleziona Gestisci pacchetti NuGet per la soluzione.
- Seleziona la casella di controllo Includi pre-release.
- Cerca e installa il pacchetto denominato
Google.Cloud.Diagnostics.AspNet.
Utilizzo
Dopo aver installato il pacchetto NuGet Stackdriver ASP.NET, aggiungi la seguente istruzione al codice dell'applicazione per iniziare a inviare gli errori a Stackdriver:
using Google.Cloud.Diagnostics.AspNet;
Aggiungi il seguente codice HttpConfiguration al metodo Register della tua
app web .NET dopo aver sostituito your-project-id con il tuo
ID progetto
per attivare la segnalazione delle eccezioni:
Una volta aggiunto questo metodo all'applicazione ASP.NET, puoi visualizzare eventuali eccezioni non rilevate che si verificano man mano che vengono segnalate a Google Cloudnella sezione Error Reporting della console Google Cloud .
C#
L'esempio seguente è disponibile nel repository GoogleCloudPlatform/dotnet-docs-samples. Per utilizzarlo, dopo aver creato il progetto, specifica il tuo ID progetto:
C:\...\bin\Debug> set GOOGLE_PROJECT_ID=[YOUR_PROJECT_ID]
Assicurati di sostituire [YOUR_PROJECT_ID] con il valore corretto della consoleGoogle Cloud .
Poi, invia i dati delle eccezioni con un codice simile al seguente:
Vai
Consulta la sezione Configurazione di Error Reporting per Go.
Java
Node.js
Ruby
Python
PHP
Visualizza gruppi di errori
Nella console Google Cloud , vai alla pagina Error Reporting:
Puoi trovare questa pagina anche utilizzando la barra di ricerca.