Créer des rapports sur les métriques de surveillance

Vous trouverez sur cette page la procédure à suivre pour autoriser, via Service Infrastructure, les services gérés à générer des données de surveillance à envoyer aux projets producteurs de services et clients du service. Stackdriver Monitoring offre une visibilité sur les performances, le temps d'activité et la santé globale de chaque service géré.

L'API Service Control acquiert les métriques, les regroupe par lots, les agrège et les transmet à Cloud Monitoring. Ce dernier les ingère, puis produit des statistiques qu'il présente sous forme de tableaux de bord, de graphiques et via des alertes.

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

Remarque : Ce guide est destiné à la surveillance des métriques définies par les services gérés. Les métriques Monitoring personnalisées ne peuvent pas être transmises via l'API Service Control. Pour utiliser des métriques personnalisées, vous devez suivre le guide de Monitoring.

Configurer la surveillance

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

  • Ressources surveillées: une ressource surveillée représente une entité Cloud qui produit des données de surveillance. 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.

  • Métriques : vous pouvez générer des rapports sur une ou plusieurs métriques. Chaque métrique représente un seul état dont la valeur est suivie dans le temps. Consultez la page metric.proto pour connaître les spécifications techniques permettant de définir une métrique.

  • Configuration de la surveillance : permet de spécifier les métriques associées à une ressource surveillée, ainsi que le projet producteur de service ou client du service auquel chaque métrique doit être envoyée. Pour plus de détails, consultez la page monitoring.proto.

Dans l'exemple de configuration de service suivant, nous avons défini une ressource surveillée et une métrique.

# 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 definition of the metrics to be used.
metrics:
- name: library.appspot.com/book/num_overdue
  display_name: Books Overdue
  description: The current number of overdue books.
  launch_stage: ALPHA
  metric_kind: GAUGE
  value_type: INT64
  unit: 1
- name: library.googleapis.com/book/returned_count
  display_name: Books Returned
  description: The count of books that have been returned.
  launch_stage: ALPHA
  metric_kind: DELTA
  value_type: INT64
  unit: 1

# The monitoring configuration.
monitoring:
  producer_destinations:
  - monitored_resource: library.appspot.com/Branch
    metrics:
    - library.googleapis.com/book/returned_count
  consumer_destinations:
  - monitored_resource: library.appspot.com/Branch
    metrics:
    - library.appspot.com/book/num_overdue

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 ainsi que les définitions de métriques dans Cloud Monitoring.

Créer des rapports sur les métriques

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 métriques. 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': '8356d3c5-f9b5-4274-b4f9-079a3731e6e5',
    'operationName': 'Return books',
    'consumerId': 'projects/library-consumer',
    'startTime': '`date +%FT%T%:z`',
    'endTime': '`date +%FT%T%:z --date="5 seconds"`',
    'labels': {
      'location': 'us-east1',
      'branch_id': 'my-test-library-branch'
    },
    'metricValueSets': [ {
      'metricName': 'library.googleapis.com/book/returned_count',
      'metricValues': [ { 'int64Value': '23' } ]
    } ]
  } ]
}" https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:report