Créer des rapports sur les journaux

Vous trouverez sur cette page la procédure à suivre pour autoriser les services gérés à envoyer des journaux à des projets producteurs de services et à des projets clients de service, via Service Infrastructure.

L'API Service Control acquiert les données de journal structurées ou non structurées, les regroupe par lots et les transmet à Cloud Logging. Vous et les utilisateurs de vos services gérés pouvez utiliser Google Cloud Console et la console Google APIs pour afficher les données de journal, ou utiliser l'API Cloud Logging pour accéder aux données de manière programmatique.

Alors que Stackdriver Logging à lui seul permet à un service géré de générer des journaux à l'intention du développeur de ce service, l'API Service Control permet, en plus, de générer des journaux destinés aux utilisateurs. Ces derniers sont ainsi en mesure de comprendre et d'analyser leur utilisation de votre service géré.

Configurer des journaux

Avant d'envoyer des journaux à l'API Service Control, vous devez spécifier trois informations distinctes dans votre configuration de service :

  • Noms des journaux : vous pouvez générer un ou plusieurs journaux distincts. Chaque journal est identifié par un nom unique. Les journaux individuels vous permettent d'isoler des types de données distincts, ce qui peut faciliter la visualisation ou l'utilisation des données.

  • Ressources surveillées : une ressource surveillée représente une entité Cloud qui produit des données de journalisation. Pour définir une ressource surveillée dans la configuration du service, consultez la spécification technique de monitored_resource.proto. Nous vous recommandons vivement d'utiliser la même ressource surveillée pour la surveillance et la journalisation.

  • Configuration du journal : permet de spécifier la ressource surveillée associée à un flux de journal, ainsi que le projet producteur de service ou client du service auquel chaque journal doit être envoyé. Pour configurer l'association de journaux, consultez la spécification technique de logging.proto.

Dans l'exemple de configuration de service suivant, le journal activity_log est configuré pour être envoyé au client du service.

# The definition of the monitored resource to be used.
monitored_resources:
- type: library.appspot.com/Branch
  description: A library branch
  display_name: Library Branch
  launch_stage: ALPHA
  labels:
  - key: resource_container
    description: The Google Cloud resource container (ie. project id) for
    the branch.
  - key: location
    description: The Google Cloud region the branch is located.
  - key: branch_id
    description: The ID of the branch.

# The log name to be used.
logs:
- name: activity_log

# The logging configuration.
logging:
  consumer_destinations:
  - monitored_resource: library.appspot.com/Branch
    logs:
    - activity_log

Une fois que vous avez créé cette configuration, vous devez suivre les étapes décrites dans les sections Gérer les configurations de service et Gérer les déploiements de service pour transmettre la configuration de service à l'API Service Management, qui configure alors la ressource surveillée dans Cloud Logging.

Créer des rapports sur les journaux

Une fois que la configuration du service a été correctement transmise, vous pouvez appeler l'API Service Control pour générer des rapports sur les entrées de journal. L'exemple suivant démontre l'appel en question à l'aide de la commande gcurl. Pour savoir comment le configurer, consultez la page Premiers pas avec l'API Service Control.

gcurl -d "{
  'operations': [ {
    'operationId': 'e8bf36ef-f9b5-4274-b4f9-079a3731e6e5',
    'operationName': 'New book arrived',
    'consumerId': 'projects/library-consumer',
    'startTime': '`date +%FT%T%:z`',
    'endTime': '`date +%FT%T%:z`',
    'labels': {
      'location': 'us-east1',
      'branch_id': 'my-test-library-branch'
    },
    'logEntries': [ {
      'severity': 'INFO',
      'textPayload': 'new book arrived',
      'name': 'activity_log'
    } ]
  } ]
}" https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:report