Nutzungsberichte ansehen

Mit Compute Engine können Sie detaillierte Berichte über Ihre Compute Engine-Nutzung mithilfe des Nutzungsexportfeatures in einen Google Cloud Storage-Bucket exportieren. Die Nutzungsberichte geben Auskunft über die Lebensdauer Ihrer Ressourcen. Sie können beispielsweise sehen, wie viele VM-Instanzen in Ihrem Projekt den Maschinentyp n2-standard-4 ausführen und wie lange jede Instanz bereits läuft. Sie können auch den Speicherplatz eines nichtflüchtigen Speichers und Informationen zu anderen Compute Engine-Funktionen einsehen.

Die Nutzungsberichte liefern keine Informationen zur Abrechnung oder Aktivitäten, wie zum Beispiel API-Anfragen. Weitere Informationen zur Abrechnung finden Sie in dem Feature Abrechnungsexport. Weitere Informationen zu Aktivitätslogs finden Sie unter Aktivitätslogs.

Vorbereitung

Übersicht

Wenn Sie die Nutzungsberichte aktivieren, liefert die Compute Engine zwei Arten von Berichten an den von Ihnen angegebenen Google Cloud Storage-Bucket:

  1. Tägliche Nutzungsberichte

    Diese Berichte werden täglich geliefert und enthalten die Nutzungsdaten vom Vortag. Jeder Bericht ist eine separate Datei, die Daten aus dem letzten Zeitraum enthält. Die Daten in diesen Berichten sind unveränderlich, was bedeutet, dass Compute Engine die Protokolldatei weder aktualisieren noch neu schreiben wird, wenn es Ungenauigkeiten gibt. Stattdessen werden die Daten im nächsten neuen Bericht korrigiert, der an den Bucket geliefert wird.

    Die täglichen Nutzungsberichte tragen das folgende Namensformat:

    <bucket>/<report_prefix>_<numeric_project_id>_<YYYYMMDD>.csv
    
  2. Monatlicher Rollup-Bericht

    Ein einziger monatlicher Rollup-Bericht wird täglich geliefert, der die monatlichen Nutzungsdaten für dieses Projekt bis zu diesem Tag, aber nicht einschließlich der Daten dieses Tages enthält. Der monatliche Nutzungsbericht wird jeden Tag mit neuen Daten überschrieben, die die monatliche Nutzung von Ressourcen bis zu diesem Zeitpunkt widerspiegelt. Es wird nur eine monatliche Datei mit den Nutzungsdaten pro Projekt und pro Monat geben.

    Monatliche Rollup-Berichte haben das folgende Namensformat:

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

    Die täglichen und monatlichen Berichtsdateien sehen sehr ähnlich aus, unterscheiden sich aber im Datumsformat. Die monatlichen Rollup-Berichte werden mit dem Jahr und dem Monat datiert (YYYYMM) und die täglichen Nutzungsberichte mit dem Jahr, Monat und Datum (YYYYMMDD).

Alle Nutzungsberichte werden im CSV-Format (kommagetrennte Werte) erstellt und die Nutzungsberichtdateien mit <report_prefix> vorangestellt. <report_prefix> ist ein anpassbarer, vom Nutzer gewählter Wert. Wenn Sie kein Berichtspräfix angeben, wird standardmäßig das Präfix usage_gce verwendet. Alle Zeiten sind in Pacific Time (PST) angegeben.

Voraussetzungen

Bevor Sie den Nutzungsexport von Compute Engine verwenden können:

Exportieren der Nutzung einrichten

Wenn Sie die Funktion zum Exportieren der Nutzung das erste Mal aktivieren, wird der erste Bericht am nächsten Tag mit den Einzelheiten zur Nutzung am Vortag verschickt. Danach erhalten Sie die Berichte alle 24 Stunden.

Aktivieren Sie zum Einrichten des Nutzungsexportfeatures das Feature im gcloud compute-Tool. Wenn Sie dieses Feature aktivieren, müssen Sie zwei Attribute definieren:

  1. Den Google Cloud Storage-Bucket, in dem Ihre Berichte zugestellt werden sollen.

    Sie können einen beliebigen Cloud Storage-Bucket auswählen, dessen Inhaber Sie sind, einschließlich Buckets von verschiedenen Projekten. Dieser Bucket muss bereits existieren, bevor Sie mit dem Exportieren von Berichten beginnen können. Außerdem müssen Sie als Inhaber ein Zugriffsrecht auf den Bucket haben. Google Cloud Storage berechnet Gebühren für die Nutzung. Deshalb sollten Sie die Informationen in der Preisliste für Cloud Storage durchlesen, um zu sehen, welche Kosten Ihnen für diesen Dienst entstehen könnten.

    Jeder Nutzer, der Lesezugriff auf den Cloud Storage-Bucket hat, wird sich die Nutzungsberichte im Bucket ansehen können. Jeder Nutzer, der Schreibzugriff auf den Bucket hat, wird die vorhandenen Dateien im Bucket erstellen, anzeigen und ändern können. Weitere Informationen finden Sie im Abschnitt Zugriffskontrolle.

  2. Den Berichtspräfix für Ihre Dateien.

    Sie können das für Ihre Nutzungsberichte zu verwendende Berichtepräfix festlegen. Ihre Nutzungsberichte werden Dateinamen haben, die dieses Präfix enthalten. Wenn Sie z. B. "my-cool-project-report" als Berichtspräfix angeben, erhalten Sie einen Dateinamen, der dem Format my-cool-project-report_1234567890_20131230.csv ähnelt. Wenn Sie kein Berichtspräfix angeben, wird das Standardpräfix usage_gce verwendet.

Nachdem Sie sich für diese beiden Attribute entschieden haben, können Sie das Feature zum Exportieren der Nutzung folgendermaßen aktivieren:

Konsole

  1. Rufen Sie die Seite "Compute Engine-Einstellungen" auf.

    Rufen Sie die Seite "Compute Engine-Einstellungen" auf.

  2. Klicken Sie das Kästchen Nutzungsexport aktivieren an.

  3. Tragen Sie in den erforderlichen Feldern den Namen des Buckets ein. Geben Sie optional ein Berichtspräfix an, falls gewünscht. Wenn Sie das Berichtspräfix leer lassen, wird das Standardpräfix usage_gce verwendet. Alle an den Bucket gelieferten Nutzungsberichte werden mit diesem Präfix benannt.

  4. Klicken Sie auf Speichern.

gcloud

Verwenden Sie in gcloud compute den Befehl gcloud compute project-info set-usage-bucket, um dieses Feature zu aktivieren:

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

Dabei gilt:

  • [BUCKET_NAME] ist der Name eines vorhandenen Buckets, an den die Nutzungsberichte gesendet werden sollen. Muss im Format gs://<bucket-name> oder https://storage.googleapis.com/<bucket-name> vorliegen. Der Nutzer, der diesen Befehl ausführt, muss Inhaber des Buckets sein.
  • [PREFIX] ist das optionale Präfix für die Namen der Nutzungsberichte. Wenn keine Angabe erfolgt, wird das Standardpräfix usage_gce verwendet.

API

Clientbibliotheken

Legen Sie mithilfe der Clientbibliotheken die Methode setUsageExportBucket() in der Sammlung Projects fest, um den Nutzungsexport zu aktivieren. Beispielsweise können Sie das Feature in der Python-Clientbibliothek so aktivieren:

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

Sie können auch direkt eine HTTP-Anfrage an die Methode setUsageExportBucket senden. Im folgenden Beispiel wird die Bibliothek httplib2 zur Aktivierung des Nutzungsexports verwendet:

#!/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)

Weitere Informationen hierzu finden Sie in der API-Referenzdokumentation.

Unterstützte Messwerte

Tägliche Nutzungsberichte liefern Informationen über die Nutzung der folgenden Ressourcen:

  • Virtuelle Maschinen
  • Persistente Festplatten
  • Images
  • Snapshots
  • Statische IP-Adressen
  • Lastenausgleichsmodule

Jede Ressource wird mit den folgenden Messwerten beschrieben:

Name des Messwerts Eigenschaften des Messwerts
Datum des Berichts:
  • Messwerttyp: String
  • Beschreibung: Das Datum der Nutzung.
  • Beispiel: 2013-08-15
MeasurementId
  • Messwerttyp: String
  • Beschreibung: Die ID des Ressourcentyps, der gemessen wird. Beispiel: VmimageN1Standard_1 für den Maschinentyp n1-standard-1.
  • Beispiel: com.google.cloud/services/compute‑engine/VmimageN1Standard_1
Menge
  • Messwerttyp: Integer
  • Beschreibung: Die Menge der Nutzung für das angegebene Datum.
  • Beispiel: 86400
Einheit
  • Messwerttyp: String
  • Beschreibung: Der Einheitentyp wie Anzahl, Sekunden, Stunden und so weiter.
  • Beispiel: Sekunden
Ressourcen-URI
  • Messwerttyp: String
  • Beschreibung: Der URI der angegebenen Ressource
  • Beispiel: https://compute.googleapis.com/compute/v1/projects/<project‑id>/zones/<zone>/instances/<instance>
ResourceId
  • Messwerttyp: Integer
  • Beschreibung: Eine numerische ID, die die bestimmte Ressource identifiziert.
  • Beispiel: 16557630484925648021
Standort
  • Messwerttyp: String
  • Beschreibung: Der Standort der Ressource. Entweder der Name einer Zone oder Region oder GLOBAL für globale Ressourcen.
  • Beispiel: us-central1-a

Das folgende Beispiel zeigt einen Eintrag im Bericht:

Datum des Berichts: MeasurementId Menge Einheit Ressourcen-URI Ressourcen-ID Standort
02/13/2014 com.google.cloud/services/compute-engine/VmimageN1Standard_1 86400 Sekunden https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/my-instance 16557630484 us-central1-a

Zugriffskontrolle

Wenn Sie die Funktion zum Exportieren der Nutzung in einen Cloud Storage-Bucket aktivieren, fügt sich Compute Engine automatisch in den Bucket mit Schreibzugriff ein, um Nutzungsberichte liefern zu können. Solange Compute Engine Zugriff auf den Bucket hat und die Funktion zum Exportieren der Nutzung aktiviert ist, wird Compute Engine weiterhin Nutzungsberichte in den angegebenen Cloud Storage-Bucket exportieren.

Sie können erkennen, dass Compute Engine auf einen Bucket Zugriff hat, wenn die folgende ID der Access Control List dem Bucket hinzugefügt wurde:

cloud-cluster-analytics-export@google.com

Jeder Nutzer, der Inhaber des Projekts ist, hat vollen Zugriff auf den Google Cloud Storage-Bucket. Andere Nutzer, wie Schreiber und Leser, werden unterschiedliche Rechte für den Zugriff auf den Bucket haben. Weitere Informationen über die Zugriffssteuerungslisten (ACLs) für Buckets finden Sie in der Dokumentation Cloud Storage-Zugriffskontrolle.

Wenn Sie die Funktion zum Exportieren der Nutzung deaktivieren, wird Compute Engine automatisch den Schreibzugriff von Compute Engine auf den Bucket entfernen. Wenn Sie die Berechtigungen für das Konto cloud-cluster-analytics-export@google.com ändern und dann die Funktion zum Exportieren der Nutzung deaktivieren, wird Compute Engine die Funktion zum Exportieren der Nutzung zwar deaktivieren, aber das Konto nicht aus der Zugriffsliste des Projekts entfernen. Sie können das Konto manuell entfernen, falls gewünscht.

Die Aktivierung von Nutzungsberichten prüfen

Durch Abrufen der Informationen über das Projekt können Sie die Projekteinstellungen für das Exportieren der Nutzung prüfen:

gcloud compute project-info describe

Prüfen Sie das Feld 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      |                                                    |
+-------------------------+----------------------------------------------------+

Nutzungsberichte deaktivieren

Wenn Sie Nutzungsberichte deaktivieren, entfernt Compute Engine automatisch den Schreibzugriff für Ihre Compute Engine im Cloud Storage-Bucket und stellt das Senden von neuen Berichten ein.

Konsole

  1. Rufen Sie die Seite "Compute Engine-Einstellungen" auf.

    Rufen Sie die Seite "Compute Engine-Einstellungen" auf.

  2. Deaktivieren Sie das Kästchen Nutzungsexport aktivieren, um den Nutzungsexport zu deaktivieren.

gcloud

Deaktivieren Sie in gcloud compute die Funktion Nutzungsexport. Dazu führen Sie den Befehl gcloud compute project-info set-usage-bucket mit dem Flag --no-bucket aus:

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

API

Clientbibliotheken

Damit Sie die Clientbibliotheken verwenden können, stellen Sie eine Anfrage an die Methode setUsageExportBucket() mit einem leeren Bucket-Namen. Beispielsweise in der Python-Clientbibliothek können Sie die Funktion so deaktivieren:

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

Sie können auch direkt eine HTTP-Anfrage an die Methode setUsageExportBucket senden. Im folgenden Beispiel wird mit der httplib2-Bibliothek eine Anfrage gestellt, um den Nutzungs-Export-Bucket zu deaktivieren:

#!/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)

Weitere Informationen