La bibliothèque Error Reporting pour Ruby vous permet d'envoyer des événements d'erreur directement depuis vos applications Ruby vers Error Reporting afin de diagnostiquer et de surveiller les plantages d'exécution. L'instrumentation de votre application avec la bibliothèque vous permet de signaler des événements d'erreur personnalisés et de capturer les erreurs même lorsque vos buckets de journaux utilisent des clés de chiffrement gérées par le client (CMEK).
Pour les applications exécutées sur des services intégrés Google Cloud , y compris Cloud Run Functions, App Engine, Compute Engine et Google Kubernetes Engine, Error Reporting peut également déduire automatiquement les événements d'erreur de Cloud Logging sans la bibliothèque Error Reporting pour Ruby. Pour qu'Error Reporting puisse déduire les événements d'erreur à partir des journaux, vos entrées de journaux doivent respecter les exigences de mise en forme des erreurs et être stockées dans un bucket de journaux non CMEK appartenant au projet d'origine ou au projet de destination vers lequel les journaux ont été acheminés.
Avant de commencer
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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.- Installez Ruby 2.2 ou une version ultérieure.
Installer la bibliothèque cliente
La bibliothèque Error Reporting pour Ruby vous permet de surveiller et d'afficher les événements d'erreur signalés par les applications Ruby exécutées presque partout.
-
Ajoutez le gem
google-cloud-error_reportingà votre 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'erreur (roles/errorreporting.writer) au compte de service approprié. Toutefois, vous devez attribuer ce rôle au compte de service approprié pour certains services.
Cloud Run et Cloud Run Functions
Le compte de service par défaut utilisé par Cloud Run dispose des autorisations du rôle Rédacteur Error Reporting (roles/errorreporting.writer).
La bibliothèque Error Reporting pour Ruby peut être utilisée sans avoir à fournir explicitement des identifiants.
Cloud Run est configuré pour utiliser automatiquement Error Reporting. Les exceptions JavaScript non gérées s'affichent dans Logging et sont traitées par Error Reporting sans qu'il soit nécessaire d'utiliser la 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 toutes les gems Google Cloud Observability à l'aide de la commande suivante :
Environnement flexible App Engine
App Engine attribue automatiquement le rôle Rédacteur 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 qui sera utilisé par votre conteneur dispose du rôle Rédacteur 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 Gérer l'accès aux projets, aux dossiers et aux organisations.
Créez votre cluster et accordez-lui le niveau d'accès
cloud-platform.Par exemple, la commande create suivante spécifie le niveau d'accès
cloud-platformet 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 qui sera utilisé par votre instance de VM dispose du rôle Rédacteur 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 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 "Auteur Error Reporting" (
roles/errorreporting.writer).Dans la section Niveaux d'accès, sélectionnez Autoriser l'accès complet à l'ensemble des API Cloud, puis enregistrez vos modifications.
Cliquez sur Démarrer/Réactiver.
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 poste 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 la gcloud CLI, puis configurez les Identifiants par défaut de l'application avec vos identifiants utilisateur.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Si vous utilisez un shell local, créez des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Vous n'avez pas besoin de le faire si vous utilisez Cloud Shell.
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
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 toutes les gems Google Cloud Observability à l'aide de la commande suivante :
Afficher les groupes 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 Afficher et filtrer les groupes d'erreurs.