Vous pouvez envoyer des rapports d'erreurs à Error Reporting depuis des applications Ruby à l'aide de la bibliothèque Error Reporting pour Ruby. Utilisez la bibliothèque Error Reporting pour Ruby pour créer des groupes d'erreurs dans les cas suivants :
- Un bucket de journaux contenant vos entrées de journaux est soumis à un chiffrement géré par le client clés (CMEK).
- Le bucket de journaux remplit l'une des conditions suivantes :
- Le bucket de journaux est stocké dans le même projet que les entrées de journal.
- Les entrées de journal ont été acheminées vers un projet, qui a été stocké dans un bucket de journaux qui lui appartient.
- Vous souhaitez signaler des événements d'erreur personnalisés.
Error Reporting est intégré à certains services Google Cloud, tels que Cloud Functions, App Engine, Compute Engine et Google Kubernetes Engine. Error Reporting vous permet d'afficher les erreurs qui sont consignées dans Cloud Logging par les applications exécutées sur ces services. Pour en savoir plus, consultez Exécution sur Google Cloud sur ce .
Vous pouvez également envoyer des données d'erreur à Error Reporting à l'aide de Logging. Pour en savoir plus sur les exigences en matière de mise en forme des données, consultez la page Formater les messages d'erreur dans Logging.
Avant de commencer
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Error Reporting API .
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Error Reporting API .
- Installez Ruby 2.2+. ou supérieure.
Installer la bibliothèque cliente
La bibliothèque Error Reporting pour Ruby vous permet de surveiller et d'afficher les erreurs signalées par les applications Ruby exécutées depuis presque n'importe quel emplacement.
-
Ajoutez le gem
google-cloud-error_reporting
à votre fichier Gemfile:gem "google-cloud-error_reporting"
-
Utilisez Bundler pour installer le gem :
bundle install
Activer la bibliothèque
Si vous utilisez Ruby on Rails, Bundler charge automatiquement la bibliothèque dans votre application au démarrage.
D'autres applications basées sur Rack peuvent utiliser l'intergiciel Rack fourni par la bibliothèque :
Pour en savoir plus sur l'installation, consultez la documentation sur la bibliothèque Error Reporting pour Ruby. Vous pouvez également signaler d'éventuels problèmes à l'aide de l'outil de suivi des problèmes.
Configurer la bibliothèque cliente
Vous pouvez personnaliser le comportement de la bibliothèque Error Reporting pour Ruby. Consultez la configuration de la bibliothèque pour afficher la liste des options de configuration possibles.
Exécuter des applications sur Google Cloud
Pour créer des groupes d'erreurs à l'aide de projects.events.report
, votre compte de service doit disposer du rôle Rédacteur Error Reporting (roles/errorreporting.writer
).
Certains services Google Cloud attribuent automatiquement le rôle "Rédacteur de rapports d'erreurs" (roles/errorreporting.writer
) au compte de service approprié. Toutefois, vous devez attribuer ce rôle au service approprié
pour certains services.
Environnement flexible App Engine
App Engine attribue automatiquement le rôle de rédacteur pour Error Reporting (roles/errorreporting.writer
) à votre compte de service par défaut.
La bibliothèque Error Reporting pour Ruby peut être utilisée sans avoir à fournir explicitement des identifiants.
Error Reporting est automatiquement activé pour les applications de l'environnement flexible App Engine. Aucune configuration supplémentaire n'est requise.Google Kubernetes Engine
Pour utiliser Error Reporting avec Google Kubernetes Engine, procédez comme suit :
Assurez-vous que le compte de service que votre conteneur doit utiliser a été accordé le Rôle de rédacteur pour Error Reporting (
roles/errorreporting.writer
).Vous pouvez utiliser le compte de service Compute Engine par défaut ou un compte de service personnalisé.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations
Créez votre cluster et accordez-lui le champ d'application d'accès
cloud-platform
.Par exemple, la commande "create" suivante spécifie le champ :
cloud-platform
niveau d'accès et un compte de service:gcloud container clusters create CLUSTER_NAME --service-account SERVICE_ACCT_NAME --scopes=cloud-platform
Compute Engine
Pour utiliser Error Reporting avec des instances de VM Compute Engine, procédez comme suit :
Assurez-vous que le compte de service que doit utiliser votre instance de VM a été accordé le Rôle de rédacteur pour Error Reporting (
roles/errorreporting.writer
).Vous pouvez utiliser le compte de service Compute Engine par défaut ou un compte de service personnalisé.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
-
Dans la console Google Cloud, accédez à la page Instances de VM :
Accéder à la page Instances de VM
Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Compute Engine.
Sélectionnez l'instance de VM à laquelle vous souhaitez attribuer le niveau d'accès
cloud-platform
.Cliquez sur Arrêter, puis sur Modifier.
Dans la section Identité et accès à l'API, sélectionnez un compte de service doté du rôle Rédacteur Error Reporting (
roles/errorreporting.writer
).Dans la section Niveaux d'accès, Sélectionnez Allow full access to all Cloud APIs (Autoriser l'accès complet à l'ensemble des API Cloud), puis enregistrez vos modifications.
Cliquez sur Démarrer/Réactiver.
Cloud Functions
Les fonctions Cloud Run attribuent automatiquement le rôle Rédacteur pour Error Reporting (roles/errorreporting.writer
) à votre compte de service par défaut.
La bibliothèque Error Reporting pour Ruby peut être utilisée sans avoir à fournir explicitement des identifiants.
Les fonctions Cloud Run sont configurées pour utiliser Error Reporting automatiquement. Non géré Les exceptions JavaScript s'afficheront dans Logging et seront traitées par Error Reporting sans avoir à utiliser Bibliothèque Error Reporting pour Ruby.
Utiliser l'interface de configuration de Ruby on Rails
Pour utiliser la bibliothèque Error Reporting pour Ruby avec le framework Ruby on Rails, fournissez les paramètres via l'interface de configuration Ruby on Rails :
Vous pouvez également définir une configuration partagée pour l'ensemble des gems Stackdriver comme suit :
Error Reporting est activé par défaut lorsque Rails est exécuté en mode de production. Pour activer Error Reporting en mode de développement, ajoutez les éléments suivants :
Utiliser l'interface de configuration d'instrumentation
Pour utiliser la bibliothèque Error Reporting pour Ruby dans d'autres applications basées sur Rack, fournissez les paramètres via l'interface de configuration :
Vous pouvez également définir une configuration partagée pour l'ensemble des gems Google Cloud Observability comme suit :
Exemple
Signaler des erreurs dans les frameworks basés sur Rack
La bibliothèque Error Reporting pour Ruby facilite l'intégration d'Error Reporting dans les frameworks Web Ruby basés sur Rack, tels que Ruby on Rails et Sinatra. Lorsque la bibliothèque est activée, elle signale automatiquement les exceptions capturées depuis la pile Rack de l'application.
Signaler des erreurs manuellement
Vous pouvez signaler une erreur manuellement en appelant la méthodereport
, comme illustré dans l'exemple suivant :
Exécuter des applications dans un environnement de développement local
Pour utiliser la bibliothèque Error Reporting pour Ruby dans un environnement de développement local, par exemple en exécutant la bibliothèque sur votre propre station de travail, vous devez fournir à votre bibliothèque Error Reporting pour Ruby les identifiants par défaut de l'application locale. Pour en savoir plus, consultez S'authentifier auprès d'Error Reporting.
Pour utiliser les exemples Ruby de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Pour en savoir plus, consultez Set up authentication for a local development environment.
La méthode projects.events.report
est également compatible avec les clés API.
Si vous souhaitez utiliser des clés API pour l'authentification, vous n'avez pas besoin de configurer un fichier d'identifiants par défaut de l'application local.
Pour en savoir plus, consultez
Créer une clé API dans la documentation sur l'authentification Google Cloud
Utiliser l'interface de configuration de Ruby on Rails
Pour utiliser la bibliothèque Error Reporting pour Ruby avec le framework Ruby on Rails, fournissez les paramètres via l'interface de configuration Ruby on Rails :
Vous pouvez également définir une configuration partagée pour l'ensemble des gems Stackdriver comme suit :
Error Reporting est activé par défaut lorsque Rails est exécuté en mode de production. Pour activer Error Reporting en mode de développement, ajoutez les éléments suivants :
Utiliser l'interface de configuration d'instrumentation
Pour utiliser la bibliothèque Error Reporting pour Ruby dans d'autres applications basées sur Rack, fournissez les paramètres via l'interface de configuration :
Vous pouvez également définir une configuration partagée pour tous les gems Google Cloud Observability à l'aide des éléments suivants:
Afficher les rapports d'erreurs
Dans la console Google Cloud, accédez à la page Error Reporting:
Vous pouvez également accéder à cette page à l'aide de la barre de recherche.
Pour en savoir plus, consultez la page Afficher les erreurs.