Il set di librerie Google.Cloud.Diagnostics ti consente di inviare eventi di errore direttamente dalle tue applicazioni C# a Error Reporting, in modo da poter diagnosticare e monitorare gli arresti anomali di runtime. L'instrumentazione dell'applicazione con la libreria ti consente di segnalare eventi di errore personalizzati e acquisire errori anche quando i bucket di log utilizzano chiavi di crittografia gestite dal cliente (CMEK).
Per le applicazioni in esecuzione su servizi Google Cloud integrati, tra cui funzioni Cloud Run, App Engine, Compute Engine e Google Kubernetes Engine, Error Reporting può anche dedurre automaticamente gli eventi di errore da Cloud Logging senza il set di librerie Google.Cloud.Diagnostics. Affinché Error Reporting possa dedurre gli eventi di errore dai log, le voci di log devono rispettare i requisiti di formattazione degli errori ed essere archiviate in un bucket di log non CMEK di proprietà del progetto di origine o del progetto di destinazione a cui sono stati instradati i log.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Error Reporting API , if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Error Reporting API , if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Installa la libreria client
Il set di librerie Google.Cloud.Diagnostics ti consente di monitorare e visualizzare gli eventi di errore segnalati dalle applicazioni C# in esecuzione praticamente ovunque.
-
Per le applicazioni che hanno come target ASP.NET Core 3 o versioni successive, utilizza la libreria
Google.Cloud.Diagnostics.AspNetCore3. Puoi installare questa libreria da NuGet. -
Per le applicazioni che hanno come target versioni precedenti di ASP.NET Core, utilizza
la libreria
Google.Cloud.Diagnostics.AspNetCore. Puoi installare questa libreria da NuGet. -
Per le applicazioni che hanno come target framework non ASP.NET Core, utilizza la libreria
Google.Cloud.Diagnostics.Common. Puoi installare questa libreria da NuGet.
Per maggiori informazioni sull'installazione, consulta la documentazione per il set di librerie Google.Cloud.Diagnostics. Puoi anche segnalare i problemi utilizzando il tracker dei problemi.
Configura la libreria client
Per ulteriori informazioni ed esempi, consulta le seguenti risorse:
Google.Cloud.Diagnostics.AspNetCore3
documentazione
Google.Cloud.Diagnostics.AspNetCore
documentazione
Google.Cloud.Diagnostics.Common
documentazione
Eseguire app su Google Cloud
Per creare gruppi di errori utilizzando
projects.events.report, il account di servizio richiede il
ruolo Writer Error Reporting (roles/errorreporting.writer).
Alcuni servizi Google Cloud concedono automaticamente il ruolo
Scrittore Error Reporting (roles/errorreporting.writer) alaccount di serviziot
appropriato. Tuttavia, per alcuni servizi devi concedere questo ruolo al service account appropriato.
Cloud Run e Cloud Run Functions
Il account di servizio predefinito utilizzato da Cloud Run dispone delle autorizzazioni del ruolo Writer di Error Reporting (roles/errorreporting.writer).
Il set di librerie Google.Cloud.Diagnostics può essere utilizzato senza dover fornire esplicitamente le credenziali.
Cloud Run è configurato per utilizzare Error Reporting automaticamente. Le eccezioni JavaScript non gestite verranno visualizzate in Logging ed elaborate da Error Reporting senza dover utilizzare il set di librerie Google.Cloud.Diagnostics.
Ambiente flessibile di App Engine
App Engine concede automaticamente il ruolo Writer Error Reporting (roles/errorreporting.writer) al tuo account di servizio predefinito.
Il set di librerie Google.Cloud.Diagnostics può essere utilizzato senza dover fornire esplicitamente le credenziali.
Error Reporting è abilitato automaticamente per le applicazioni dell'ambiente flessibile App Engine. Non è richiesta alcuna configurazione aggiuntiva. I messaggi scritti da App Engine a stderr vengono analizzati e, se contengono un'analisi dello stack, vengono visualizzati da Error Reporting.
Consulta la sezione Visualizzare gli errori per istruzioni su come visualizzare i dati relativi a errori ed eccezioni per la tua applicazione nella consoleGoogle Cloud .
Google Kubernetes Engine
Per utilizzare Error Reporting con Google Kubernetes Engine, svolgi i seguenti passaggi:
Assicurati che al account di servizio da utilizzare dal tuo container sia stato concesso il ruolo Writer Error Reporting (
roles/errorreporting.writer).Puoi utilizzare l'account di servizio predefinito di Compute Engine o un service account personalizzato.
Per informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Crea il cluster e concedigli l'
cloud-platformambito di accesso.Ad esempio, il seguente comando create specifica l'ambito di accesso
cloud-platforme unaccount di serviziot:gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Compute Engine
Per utilizzare Error Reporting con le istanze VM di Compute Engine, svolgi le seguenti operazioni:
Assicurati che al account di servizio da utilizzare dalla tua istanza VM sia stato concesso il ruolo Writer di Error Reporting (
roles/errorreporting.writer).Puoi utilizzare l'account di servizio predefinito di Compute Engine o un service account personalizzato.
Per informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
-
Nella Google Cloud console, vai alla pagina Istanze VM.
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Compute Engine.
Seleziona l'istanza VM che deve ricevere l'
cloud-platformambito di accesso.Fai clic su Interrompi e poi su Modifica.
Nella sezione Identità e accesso API, seleziona un account di servizio con il ruolo Writer di Error Reporting (
roles/errorreporting.writer).Nella sezione Ambiti di accesso, seleziona Consenti l'accesso completo a tutte le API Cloud e poi salva le modifiche.
Fai clic su Avvia/Riprendi.
Esempio
Per ulteriori informazioni ed esempi, consulta le seguenti risorse:
Google.Cloud.Diagnostics.AspNetCore3
documentazione
Google.Cloud.Diagnostics.AspNetCore
documentazione
Google.Cloud.Diagnostics.Common
documentazione
Esegui app in un ambiente di sviluppo locale
Per utilizzare il set di librerie Google.Cloud.Diagnostics in un ambiente di sviluppo locale, ad esempio eseguendo la libreria sulla tua workstation, devi fornire al set di librerie Google.Cloud.Diagnostics le credenziali predefinite dell'applicazione locale. Per saperne di più, consulta Autenticarsi in Error Reporting.
Per utilizzare gli esempi di .NET in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea le credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Il metodo projects.events.report supporta anche le chiavi API.
Se vuoi utilizzare le chiavi API per l'autenticazione, non devi configurare un file delle Credenziali predefinite dell'applicazione locale.
Per saperne di più, consulta
Crea una chiave API
nella documentazione sull'autenticazione di Google Cloud .
Visualizza gruppi di errori
Nella console Google Cloud , vai alla pagina Error Reporting:
Puoi trovare questa pagina anche utilizzando la barra di ricerca.
Per saperne di più, vedi Visualizzare e filtrare i gruppi di errori.