Cette page a été traduite par l'API Cloud Translation.
Switch to English

Configurer Cloud Logging pour Ruby

Vous pouvez écrire des journaux dans Cloud Logging à partir d'applications Ruby à l'aide de la bibliothèque Cloud Logging pour Ruby ou directement à l'aide de la bibliothèque cliente cloud Cloud Logging pour Ruby.

Il n'est pas nécessaire d'installer l'agent Cloud Logging pour utiliser la bibliothèque Cloud Logging pour Ruby sur une instance de VM Compute Engine.

Avant de commencer

  1. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder à la page de sélection du projet

  3. Assurez-vous que la facturation est activée pour votre projet Cloud. Découvrez comment vérifier que la facturation est activée pour votre projet.

  4. Activez Cloud Logging API.

    Activer l'API

  5. Installez Ruby 2.2+ ou version ultérieure.

Installer la bibliothèque

Nous fournissons une bibliothèque Cloud Logging pour Ruby implémentant un enregistreur facile à utiliser pour les frameworks Web Ruby basés sur Rack :

  1. Ajoutez le gem de la suite d'opérations Google Cloud à votre fichier Gemfile :

    gem "stackdriver"
  2. 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, ce qui définit l'enregistreur par défaut Rails.logger sur une instance de l'enregistreur Cloud Logging.

D'autres applications basées sur Rack peuvent utiliser le middleware Rack pour remplacer l'enregistreur Rack par l'enregistreur Cloud Logging, si votre framework Web est compatible avec l'enregistreur Rack :

require "google/cloud/logging"

use Google::Cloud::Logging::Middleware

Configurer la bibliothèque

Vous pouvez personnaliser le comportement de la bibliothèque Cloud Logging pour Ruby. Consultez la configuration de la bibliothèque pour connaître la liste des options de configuration possibles.

Utiliser l'enregistreur Cloud Logging

Une fois que la bibliothèque Cloud Logging pour Ruby est activée, vous pouvez utiliser l'enregistreur dans votre application :

logger.info "Hello World!"
logger.error "Oh No!"

Pour plus d'informations sur l'installation, consultez la documentation de la bibliothèque Cloud Logging pour Ruby. Vous pouvez également signaler d'éventuels problèmes à l'aide de l'outil de suivi des problèmes.

Utiliser directement la bibliothèque cliente cloud

Pour savoir comment utiliser directement la bibliothèque cliente Cloud Logging pour Ruby, consultez la page Bibliothèques clientes Cloud Logging.

Exécuter des applications sur Google Cloud

Le rôle Rédacteur de journaux d'IAM sur Google Cloud est nécessaire pour utiliser la bibliothèque Cloud Logging pour Ruby. La plupart des environnements Google Cloud fournissent ce rôle par défaut.

App Engine

Par défaut, App Engine attribue le rôle Rédacteur de journaux.

La bibliothèque Cloud Logging pour Ruby peut être utilisée sans avoir à fournir explicitement des identifiants.

Cloud Logging est automatiquement activé pour les applications App Engine. Aucune configuration supplémentaire n'est requise.

Google Kubernetes Engine

Sur Google Kubernetes Engine, vous devez ajouter le niveau d'accès logging.write lors de la création du cluster :

gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/logging.write

Instance

Lorsque vous utilisez des instances de VM Compute Engine, ajoutez le niveau d'accès cloud-platform à chaque instance. Lorsque vous créez une instance via Google Cloud Console, vous pouvez le faire dans la section Identité et accès à l'API du panneau Créer une instance. Utilisez le compte de service par défaut de Compute Engine ou un autre compte de service de votre choix, puis sélectionnez Autoriser l'accès complet à l'ensemble des API Cloud dans la section Identité et accès à l'API. Quel que soit le compte de service sélectionné, vérifiez qu'il dispose du rôle Rédacteur de journaux dans la section IAM et administration de Cloud Console.

Exécuter en local et depuis un autre emplacement

Pour utiliser la bibliothèque Cloud Logging pour Ruby en dehors de Google Cloud, y compris en l'exécutant sur votre propre poste de travail, sur les ordinateurs de votre centre de données ou sur les instances de VM d'un autre fournisseur de cloud, vous devez fournir directement à la bibliothèque Cloud Logging pour Ruby votre ID de projet Google Cloud ainsi qu'un compte de service approprié.

Vous pouvez créer et obtenir manuellement des identifiants pour le compte de service. Lorsque vous spécifiez le champ Rôle, utilisez le rôle Rédacteur de journaux. Pour en savoir plus sur les rôles Cloud IAM (Cloud Identity and Access Management), consultez le Guide du contrôle des accès.

Utiliser l'interface de configuration de Ruby on Rails

Si vous utilisez le framework Ruby on Rails, fournissez les paramètres via l'interface de configuration de Ruby on Rails :

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Logging specific parameters
  config.google_cloud.logging.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.logging.keyfile    = "/path/to/service-account.json"
end

Vous pouvez également définir une configuration partagée pour l'ensemble des gems de la suite d'opérations Google Cloud comme suit :

# Add this to config/environments/*.rb
Rails.application.configure do |config|
  # Stackdriver Shared parameters
  config.google_cloud.project_id = "YOUR-PROJECT-ID"
  config.google_cloud.keyfile    = "/path/to/service-account.json"
end

Logging est activé par défaut lorsque Rails est exécuté en mode de production. Pour activer Logging en mode de développement, intégrez les ajouts suivants :

# Add this to config/environments/development.rb
Rails.application.configure do |config|
  config.google_cloud.use_logging = true
end

Utiliser l'interface de configuration d'instrumentation :

Lorsque vous utilisez d'autres applications basées sur Rack, fournissez les paramètres via l'interface de configuration :

require "google/cloud/logging"

Google::Cloud.configure do |config|
  # Stackdriver Logging specific parameters
  config.logging.project_id = "YOUR-PROJECT-ID"
  config.logging.keyfile    = "/path/to/service-account.json"
end

Vous pouvez également définir une configuration partagée pour l'ensemble des gems de la suite d'opérations Google Cloud comme suit :

require "stackdriver"

Google::Cloud.configure do |config|
  # Stackdriver Shared parameters
  config.project_id = "YOUR-PROJECT-ID"
  config.keyfile    = "/path/to/service-account.json"
end

Afficher les journaux

Après le déploiement, vous pouvez afficher les journaux dans l'explorateur de journaux.

Accéder à l'explorateur de journaux

Dans l'explorateur de journaux, vous devez spécifier une ou plusieurs ressources, mais leur sélection peut ne pas être évidente. Voici quelques conseils pour vous aider à faire vos premiers pas :

  • Si vous déployez votre application sur App Engine ou utilisez les bibliothèques propres à App Engine, définissez votre ressource sur Application GAE.

  • Si vous déployez votre application sur Compute Engine, définissez la ressource sur Instance de VM GCE.

  • Si vous déployez votre application sur Google Kubernetes Engine, la configuration de la journalisation de votre cluster détermine le type de ressource des entrées de journal. Pour en savoir plus sur l'ancienne suite d'opérations Google Cloud et sur les solutions Kubernetes Monitoring de la suite d'opérations Google Cloud, ainsi que sur l'incidence de ces options sur le type de ressource, consultez la page Migrer vers les solutions Kubernetes Monitoring de la suite d'opérations Google Cloud.

  • Si votre application utilise directement l'API Cloud Logging, la ressource dépend de l'API et de votre configuration. Par exemple, dans votre application, vous pouvez spécifier une ressource ou utiliser une ressource par défaut.

  • Si aucun journal ne s'affiche dans l'explorateur de journaux, passez en mode de requête avancée et utilisez une requête vide pour voir toutes les entrées de journal.

    1. Pour passer en mode de requête avancée, cliquez sur le menu (▾) en haut de l'explorateur de journaux, puis sélectionnez Convertir en filtre avancé.
    2. Effacez le contenu qui apparaît dans le champ de filtre.
    3. Cliquez sur Envoyer le filtre.

    Vous pouvez examiner les entrées individuelles pour identifier vos ressources.

Pour obtenir plus d'informations, consultez les sections Afficher les journaux et Requêtes de journaux avancées.