Afficher les rapports d'utilisation

Compute Engine permet d'exporter des rapports détaillées de votre utilisation de Compute Engine vers un bucket Google Cloud Storage à l'aide de la fonctionnalité d'exportation de l'utilisation. Les rapports d'utilisation fournissent des informations sur la durée de vie de vos ressources. Par exemple, vous pouvez voir combien de vos instances exécutent une image n1-standard-1, et depuis combien de temps chaque instance est exécutée. Les rapports d'utilisation ne fournissent pas d'informations sur la facturation ou l'activité, telles que des informations sur les requêtes API. Pour obtenir des informations sur la facturation, consultez la section sur la fonctionnalité d'exportation de la facturation. Pour en savoir plus sur les journaux d'activité, consultez la page Journaux d'activité.

Les journaux d'utilisation sont disponibles sur la page "Paramètres" de Compute Engine, sous la forme de fichiers CSV. Ils décrivent l'utilisation au niveau des ressources, par exemple la durée d'exécution d'une instance de machine virtuelle ou l'espace de stockage d'un disque persistant, et fournissent des informations sur d'autres fonctionnalités de Compute Engine.

Avant de commencer

Présentation

Lorsque vous activez les rapports d'utilisation, Compute Engine fournit deux types de rapports au bucket Google Cloud Storage que vous spécifiez :

  1. Rapports d'utilisation quotidiens

    Ces rapports, qui sont fournis quotidiennement, incluent les données d'utilisation du jour précédent. Chaque rapport est un fichier distinct contenant des données de la dernière période. Les données figurant dans ces rapports sont immuables, ce qui signifie que Compute Engine ne met à jour ni ne réécrit le fichier journal en cas d'inexactitudes. À la place, les données sont corrigées dans le rapport suivant fourni au bucket.

    Le nom des rapports d'utilisation quotidiens a le format suivant :

    <bucket>/<report_prefix>_<numeric_project_id>_<YYYYMMDD>.csv
    
  2. Rapport de cumul mensuel

    Un seul rapport de cumul mensuel est fourni chaque jour. Il contient des données sur l'utilisation mensuelle pour ce projet jusqu'à ce jour (celui-ci n'étant pas compris). Le rapport d'utilisation mensuel est remplacé chaque jour par de nouvelles données reflétant l'utilisation mensuelle des ressources jusqu'à cette date. Il n'y a qu'un fichier de données d'utilisation mensuelle par projet et par mois.

    Le nom des rapports de cumul mensuels a le format suivant :

    <bucket>/<report_prefix>_<numeric_project_id>_<YYYYMM>.csv
    

    Les fichiers de rapport quotidiens et mensuels se ressemblent beaucoup, à l'exception du format de date. En effet, les rapports de cumul mensuels sont datés à l'aide de l'année et du mois (YYYYMM), tandis que les rapports d'utilisation quotidiens indiquent également le jour (YYYYMMDD).

Tous les rapports d'utilisation sont fournis au format CSV (valeurs séparées par une virgule), et le nom des fichiers de rapport d'utilisation est précédé de <report_prefix>. Le préfixe <report_prefix> est une valeur personnalisable choisie par l'utilisateur. Si vous ne spécifiez pas de préfixe de rapport, le préfixe usage_gce est utilisé par défaut. Toutes les heures sont indiquées selon le fuseau horaire PST (heure normale du Pacifique).

Métriques acceptées

Les rapports d'utilisation quotidiens fournissent des informations sur l'utilisation des ressources suivantes :

  • Machines virtuelles
  • Disques persistants
  • Images
  • Instantanés
  • Adresses IP statiques
  • Équilibreurs de charge

Chaque ressource est décrite à l'aide des métriques suivantes :

Nom de la métrique Propriétés de la métrique
Date du rapport
  • Type de métrique : chaîne
  • Description : date d'utilisation.
  • Exemple : 2013-08-15
MeasurementId
  • Type de métrique : chaîne
  • Description : ID du type de ressource en cours de mesure. Par exemple, VmimageN1Standard_1 pour représenter un n1-standard-1 type de machine.
  • Exemple : com.google.cloud/services/compute‑engine/VmimageN1Standard_1
Quantité
  • Type de métrique : entier
  • Description : quantité utilisée pour la date spécifiée.
  • Exemple : 86 400
Unité
  • Type de métrique : chaîne
  • Description : type d'unité, par exemple des secondes, des heures, la comptabilisation d'une valeur, etc.
  • Exemple : secondes
URI de ressource
  • Type de métrique : chaîne
  • Description : URI de la ressource spécifiée.
  • Exemple : https://compute.googleapis.com/compute/v1/projects/<project‑id>/zones/<zone>/instances/<instance>
ResourceId
  • Type de métrique : entier
  • Description : ID numérique identifiant la ressource spécifique.
  • Exemple : 16557630484925648021
Lieu
  • Type de métrique : chaîne
  • Description : zone de la ressource. Nom de zone ou de région, ou GLOBAL pour les ressources globales.
  • Exemple : us-central1-a

Un exemple d'entrée dans le rapport pourrait ressembler à ceci :

Date du rapport MeasurementId Quantité Unité URI de ressource ID de ressource Lieu
02/13/2014 com.google.cloud/services/compute-engine/VmimageN1Standard_1 86400 secondes https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/my-instance 16557630484 us-central1-a

Contrôle des accès

Lorsque vous activez la fonctionnalité d'exportation des données d'utilisation pour un bucket Cloud Storage, Compute Engine s'ajoute automatiquement au bucket avec un accès en écriture afin de fournir les rapports d'utilisation. Tant que Compute Engine a accès au bucket et que la fonctionnalité est activée, Compute Engine continue d'exporter les rapports d'utilisation vers le bucket Cloud Storage spécifié.

Si vous voyez que l'identité suivante a été ajoutée à la liste de contrôle d'accès (LCA) d'un bucket, cela signifie que Compute Engine a accès à ce dernier :

cloud-cluster-analytics-export@google.com

Tout utilisateur propriétaire du projet dispose d'un accès total au bucket Google Cloud Storage. Les autres utilisateurs, tels que les rédacteurs et les lecteurs, ont différents niveaux d'accès au bucket. Pour en savoir plus sur les LCA d'un bucket, consultez la documentation relative au contrôle des accès dans Cloud Storage.

Si vous désactivez la fonctionnalité d'exportation des données d'utilisation, Compute Engine supprime automatiquement son accès en écriture au bucket. Si vous modifiez les autorisations sur le compte cloud-cluster-analytics-export@google.com, puis désactivez la fonctionnalité d'exportation des données d'utilisation, Compute Engine désactive cette même fonctionnalité, mais ne supprime pas le compte de la liste d'accès au projet. Vous pouvez choisir de supprimer le compte manuellement si vous le souhaitez.

Prérequis

Pour pouvoir bénéficier de la fonctionnalité d'exportation des données d'utilisation de Compute Engine, vous devez vous inscrire à Google Cloud Storage si vous ne l'avez pas déjà fait.

Configurer l'exportation des données d'utilisation

Lorsque vous activez pour la première fois la fonctionnalité d'exportation des données d'utilisation, le premier rapport est envoyé le jour suivant. Il détaille l'utilisation pour le jour précédent. Vous recevez ensuite des rapports toutes les 24 heures.

Pour configurer la fonctionnalité d'exportation de l'utilisation, activez-la dans l'outil gcloud compute. Lorsque vous l'activez, vous devez définir deux propriétés :

  1. Le bucket Google Cloud Storage auquel vous souhaitez fournir les rapports.

    Vous pouvez sélectionner n'importe quel bucket Cloud Storage dont vous êtes propriétaire, y compris ceux issus de projets différents. Ce bucket doit exister avant que vous ne commenciez à exporter des rapports, et vous devez y avoir accès en tant que propriétaire. L'utilisation de Google Cloud Storage est facturée. Vous devez donc consulter la grille tarifaire de Cloud Storage pour connaître le montant des frais que ce service peut entraîner.

    Tout utilisateur disposant d'un accès en lecture au bucket Cloud Storage peut afficher les rapports d'utilisation dans ce dernier. Si un utilisateur dispose d'un accès en écriture au bucket, il peut y créer, afficher et modifier les fichiers existants. Pour plus d'informations, consultez la section Contrôle des accès.

  2. Le préfixe de rapport pour vos fichiers

    Vous pouvez spécifier le préfixe de rapport à employer pour vos rapports d'utilisation. Ce préfixe sera inséré dans leur nom. Par exemple, si vous spécifiez "my-cool-project-report" comme préfixe de rapport, le format du nom de fichier est de type "my-cool-project-report_1234567890_20131230.csv". Si vous ne spécifiez pas de préfixe de rapport, le préfixe par défaut "usage_gce" est utilisé.

Une fois que vous avez choisi ces deux propriétés, vous pouvez activer la fonctionnalité d'exportation des données d'utilisation comme suit :

Console


  1. Accédez à la page Paramètres de Compute Engine.
  2. Cliquez sur Activer l'exportation des données d'utilisation.
  3. Remplissez les champs Nom de bucket et Préfixe de rapport, si vous le souhaitez. Si vous ne renseignez pas le champ de préfixe de rapport, le préfixe par défaut "usage_gce" est utilisé.
  4. Cliquez sur Enregistrer.

gcloud


Dans gcloud compute, exécutez la commande gcloud compute project-info set-usage-bucket pour activer cette fonctionnalité :

 gcloud compute project-info set-usage-bucket --bucket URI [--prefix PREFIX]

L'URI vers le bucket peut être au format gs://<bucket-name> ou https://storage.googleapis.com/<bucket-name>.

API

Bibliothèques clientes

À l'aide des bibliothèques clientes, définissez la méthode setUsageExportBucket() dans la collection Projects pour activer l'exportation de l'utilisation. Par exemple, dans la bibliothèque cliente Python, vous pouvez activer la fonctionnalité comme suit :

def setUsageExport(gce_service, auth_http):
  body = {
    "bucketName": "https://storage.googleapis.com/usage-export-sample",
    "reportNamePrefix": "exampleprefix"
  }

request = gce_service.projects().setUsageExportBucket(project=PROJECT_ID, body=body)
response = request.execute(http=auth_http)

print response

HTTP (Protocole HTTP)

Vous pouvez également envoyer directement une requête HTTP à la méthode setUsageExportBucket. L'exemple suivant utilise la bibliothèque httplib2 pour activer l'exportation de l'utilisation :

#!/usr/bin/python

import urllib
import argparse
import logging
import sys
import random
from json import load,dumps
...

PROJECT_ID = "myproject"
API_VERSION = "v1"
API_URL = "https://compute.googleapis.com/compute/" + API_VERSION + "/projects/" + PROJECT_ID
OAUTH_FILE = "oauth-dev.dat"

def main(argv):
  logging.basicConfig(level=logging.INFO)

  parser = argparse.ArgumentParser(
    description=__doc__,
    formatter_class=argparse.RawDescriptionHelpFormatter,
    parents=[tools.argparser])

  # Parse the command-line flags.
  flags = parser.parse_args(argv[1:])

  http = httplib2.Http()

  # Add code to authenticate to the service
  ....

  url = API_URL + "/setUsageExportBucket"

  body = {
    "bucketName": "https://storage.googleapis.com/usage-export-sample",
    "reportNamePrefix": "exampleprefix"
  }

  formattedBody = dumps(body)
  resp,content = http.request(url,
                              "POST",
                              headers=listOfHeaders,
                              body=formattedBody)

  print str(content)

if __name__ == "__main__":
    main(sys.argv)

Pour plus d'informations, consultez la documentation de référence sur les API.

Vérifier si les rapports d'utilisation sont activés

Pour vérifier les paramètres d'exportation des données d'utilisation d'un projet, obtenez des informations sur ce dernier :

gcloud compute project-info describe

Repérez le champ usageExportLocation :

+-------------------------+----------------------------------------------------+
| name                    | myproject                                          |
| description             |                                                    |
| creation-time           | 2012-10-18T16:31:52.308-07:00                      |
| usage                   |                                                    |
|   snapshots             | 1.0/1000.0                                         |
|   networks              | 2.0/2.0                                            |
|   firewalls             | 3.0/10.0                                           |
|...                      |                                                    |
| usageExportLocation     |                                                    |
|   bucketName            | https://storage.googleapis.com/usage-export-sample |
|   reportNamePrefix      |                                                    |
+-------------------------+----------------------------------------------------+

Désactiver les rapports d'utilisation

Lorsque vous désactivez les rapports d'utilisation, Compute Engine supprime automatiquement son accès en écriture au bucket Cloud Storage et cesse d'envoyer de nouveaux rapports.

Console


  1. Accédez à la page Paramètres de Compute Engine.
  2. Cliquez sur Désactiver l'exportation des données d'utilisation.

gcloud


Dans gcloud compute, vous pouvez désactiver la fonctionnalité d'exportation de l'utilisation en exécutant la commande gcloud compute project-info set-usage-bucket avec l'indicateur --no-bucket :

gcloud compute project-info set-usage-bucket --no-bucket

API

Bibliothèques clientes

Pour utiliser les bibliothèques clientes, envoyez une requête à la méthode setUsageExportBucket(), avec un nom de bucket vide. Par exemple, dans la bibliothèque cliente Python, vous pouvez désactiver la fonctionnalité comme suit :

def disableUsageExport(gce_service, auth_http):
  body = {
    "bucketName": "",
}

request = gce_service.projects().setUsageExportBucket(project=PROJECT_ID, body=body)
response = request.execute(http=auth_http)

print response

HTTP (Protocole HTTP)

Vous pouvez également envoyer directement une requête HTTP à la méthode setUsageExportBucket. L'exemple suivant fait appel à la bibliothèque httplib2 pour demander la désactivation du bucket d'exportation des données d'utilisation :

#!/usr/bin/python

import urllib
import argparse
import logging
import sys
import random
from json import load,dumps
...

PROJECT_ID = "myproject"
API_VERSION = "v1"
API_URL = "https://compute.googleapis.com/compute/" + API_VERSION + "/projects/" + PROJECT_ID
OAUTH_FILE = "oauth-dev.dat"

def main(argv):
  logging.basicConfig(level=logging.INFO)

  parser = argparse.ArgumentParser(
    description=__doc__,
    formatter_class=argparse.RawDescriptionHelpFormatter,
    parents=[tools.argparser])

  # Parse the command-line flags.
  flags = parser.parse_args(argv[1:])

  http = httplib2.Http()

  # Add code to authenticate to the service
  ....

  url = API_URL + "/setUsageExportBucket"

  body = {
     "bucketName": ""
  }

  formattedBody = dumps(body)
  resp,content = http.request(url,
                              "POST",
                              headers=listOfHeaders,
                              body=formattedBody)

  print str(content)

if __name__ == "__main__":
    main(sys.argv)
Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine