Aktivitätslogs ansehen

Compute Engine stellt Aktivitätslogs bereit, mit denen Sie bestimmte Ereignisse wie API-Aufrufe und Systemereignisse verfolgen können, die sich auf Ihr Projekt auswirken. Im Einzelnen bieten Aktivitätslogs Informationen zu Folgendem:

  • Aufrufe der Compute Engine API: GCE_API_CALL-Ereignisse sind API-Aufrufe, durch die der Zustand einer Ressource geändert wird. In Aktivitätslogs werden beispielsweise API-Aufrufe zum Erstellen eines Datenträgers, zum Aktualisieren von Instanzmetadaten, zum Erstellen einer Instanzgruppe und zum Ändern eines Maschinentyps erfasst. API-Aufrufe, die eine Ressource nicht aktualisieren, wie beispielsweise get- und list-Abfragen, werden nicht erfasst.
  • Vorgangslogs: GCE_OPERATION_DONE-Ereignisse werden protokolliert, wenn ein API-Aufruf für Änderungen am Status einer Ressource beendet wird. Compute Engine meldet dann ein abgeschlossenes Vorgangsereignis, das in Ihren Aktivitätslogs erfasst wird.
  • Systemlog: GCE_SYSTEM_EVENT-Ereignisse werden protokolliert, wenn Compute Engine ein Systemereignis ausführt. Dies wird im Aktivitätslog erfasst. Zum Beispiel wird ein transparentes Wartungsereignis als Systemereignis protokolliert.

Bei einem API-Ereignis enthält ein Aktivitätslog beispielsweise Informationen wie die Start- und Endzeit eines API-Aufrufs, die Einzelheiten des Abfragetexts, den autorisierten Nutzer, der die API-Abfrage gestellt hat, und den Endpunkt der Abfrage. Sie können Aktivitätsprotokolle herunterladen, um nach bestimmten API-Abfragen zu suchen oder von Compute Engine initiierte Systemereignisse zu überprüfen.

Aktivitätsprotokolle liefern keine Abrechnungs- oder Nutzungsinformationen zu einem Projekt, etwa wie lange eine VM-Instanz bereits ausgeführt wird oder wie viel sie kostet. Weitere Informationen zu Abrechnungslogs finden Sie unter Abrechnungsdaten exportieren. Weitere Informationen zu Nutzungslogs finden Sie unter Nutzungsberichte ansehen.

Compute Engine-Aktivitätslogs sind außerdem nicht das Gleiche wie Audit-Logs.

Aktivitätsprotokolle werden im Rahmen des Dienstes Stackdriver Logging bereitgestellt. Allgemeine Informationen zu Stackdriver Logging finden Sie in der Dokumentation zu Stackdriver Logging.

Vorbereitung

Erforderliche Berechtigungen für diese Aufgabe

Zum Ausführen dieser Aufgabe benötigen Sie die folgenden Berechtigungen.

  • logging.logServiceIndexes.list für das Projekt
  • logging.logServices.list für das Projekt

Logs ansehen

Die Protokollierung von Aktivitäten ist für alle Compute Engine-Projekte standardmäßig aktiviert.

Die Aktivitätslogs Ihres Projekts finden Sie in der Loganzeige der Google Cloud Platform Console:

  1. Rufen Sie in der GCP Console die Seite "Logging" auf.
  2. Wählen Sie in der Loganzeige den Ressourcentyp aus dem ersten Drop-down-Menü aus und filtern Sie ihn.
  3. Wählen Sie im Drop-down-Menü Alle Logs die Option activity_log aus, um die Compute Engine-Aktivitätslogs anzuzeigen.

Export von Logs

Informationen zum Exportieren von Aktivitätsprotokollen finden Sie im Abschnitt Konfigurieren von Protokollexporten in der Dokumentation zu Stackdriver.

Logdateien identifizieren

Wenn Sie Logs in Google Cloud Storage exportieren, werden die Logdateien mit der Verzeichnisstruktur gespeichert, wie in Logeinträge in Google Cloud Storage beschrieben.

Compute Engine-Logdateien werden mit der folgenden Verzeichnisstruktur gespeichert:

<bucket>/compute.googleapis.com/activity_log/<year>/<month>/<day>

Im Folgenden sehen Sie ein Beispiel für einen Protokolldateinamen, der in einem Google Cloud Storage-Bucket namens my-Bucket gespeichert ist:

my-bucket/compute.googleapis.com/activity_log/2014/10/31/20:00:00_20:59:59_S0.json

In BigQuery werden Aktivitätsprotokolle in einer Reihe von Tabellen gespeichert (eine Tabelle für jeden Protokoll-Typ und den Tag) und die Tabellen sind im folgenden Format benannt:

<dataset>.compute_googleapis_com_activity_log_YYYYMMDD

Für weitere Informationen über die Abfrage von Aktivitätsprotokollen in BigQuery, siehe Protokolleinträge in Google BigQuery.

Aktivitätslogs lesen

Aktivitätslogs werden in der Dokumentation Logeintragstypen beschrieben.

Compute Engine-Aktivitätsprotokolle haben:

  • compute.googleapis.com/activity_log als Wert des Feldes log
  • metadata, in denen allgemeine Informationen wie der Zeitstempel beschrieben werden
  • structPayload, das die spezifischen Inhalte des Logeintrags enthält

Sie können weitere Informationen über die gemeinsamen Felder mit jedem Protokolleintrag in der Beschreibung Protokolleintrag erhalten, aber die Payload-Inhalte der Aktivitätsprotokolleinträge sind spezifisch für Compute Engine und werden im Folgenden beschrieben.

Payload-Inhalte

Die Inhalte eines Protokolleintrags werden im JSON-Objektformat ausgegeben und im Feld structPayload gespeichert. Das Feld structPayload enthält folgende Informationen:

Feld Typ Beschreibung
actor String E-Mail des Nutzers oder Dienstkontos, der oder das den Vorgang durchführt. Dies ist das gleiche wie die user_id.
error String Liefert alle Einzelheiten über einen Fehler, sofern während dieses Ereignisses ein Fehler aufgetreten ist. Dies entfällt, wenn keine Fehler aufgetreten sind. Fehler verhindern in der Regel, dass eine Anfrage erfolgreich abgeschlossen wird. Sie können dieses Feld zur Fehlerbehebung einer fehlgeschlagenen Anfrage verwenden.
event_subtype String Beschreibt den spezifischen Subtyp als eine API-Methode.

Zum Beispiel wird eine Anfrage zum Einfügen einer neuen Instanz als compute.instances.insert und eine Anfrage zum Löschen einer Adressressource als compute.addresses.delete angezeigt.

Eine ausführliche Liste der API-Methoden finden Sie in der API-Referenz.

event_timestamp_us Zeitstempel Der Zeitstempel des protokollierten Ereignisses in Mikrosekunden seit der Standardepoche. Dies ist das gleiche wie metadata.timestamp.
event_type String Beschreibt den allgemeinen Ereignistyp.

Dies kann einer der folgenden sein:

  • GCE_API_CALL: Weist auf einen REST API-Aufruf hin, der eine Ressource aktualisiert hat.
  • GCE_OPERATION_DONE: Sobald eine API-Anfrage abgeschlossen ist, ob erfolgreich oder nicht, wird dieser Ereignistyp protokolliert.
  • GCE_SYSTEM_EVENT – Ein Systemereignis, das durch Compute Engine eingeleitet wurde.
info String Ein optionales Feld mit zusätzlichen Informationen, sofern anwendbar. Dieses Feld wird weggelassen, wenn es keine weiteren Informationen zum Anzeigen gibt.
operation String Wenn eine API-Anfrage zum Aktualisieren oder Ändern einer Ressource erfolgt, wird ein entsprechendes Vorgangsobjekt erstellt, das die Anforderung bis zum Abschluss verfolgt. Diese Property beschreibt das Vorgangsobjekt für dieses Ereignis und liefert Informationen wie den Vorgangsnamen, die Zone oder den Bereich des Vorgangs und die Vorgangs-ID.

Je nach Ressource, die durch den Vorgang geändert wird, gibt es verschiedene Vorgänge wie zonale Vorgänge, regionale Vorgänge oder globale Vorgänge.

request JSON Enthält den ursprünglichen API-Anfragetext.

resource JSON Beschreibt die jeweilige Ressource, die durch dieses Ereignis geändert wird. Beispielsweise wird eine virtuelle Maschine als eine Ressource erachtet und eine Ressourcen-Property für eine virtuelle Maschine würde zum Beispiel so aussehen:

"resource": {
  "type": "instance",
  "name": "example-instance",
  "id": "0",
  "zone": "us-central1-f"
}

Eine ausführliche Liste der Ressourcentypen finden Sie in der API-Referenz.

Hinweis: Wenn mehrere Ressourcen von einer Aktion betroffen sind, gibt es möglicherweise mehrere Logeinträge mit derselben trace_id.

trace_id String Eine vom System bereitgestellte Trace-ID, die verwendet wird, um verwandte Logs zu gruppieren, die durch eine einzige Aktion ausgelöst werden. Beispiel:

trace_id: "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e"
user_agent String Beschreibt den Client, der diese Anforderung ausgeführt. Zum Beispiel, wenn Sie die Java-Clientbibliothek verwenden, um eine Anfrage zu starten, wäre der User-Agent Google-API-Java-Client.
version String Die aktuelle Version des Protokollformats weist auf das Protokoll-Schema der Compute Engine hin. Die aktuelle Version ist 1.2.

Hinweis: Die Versionierung der Compute Engine-API ist getrennt von der Protokollformat-Versionierung.

warning String Liefert alle Einzelheiten zur Warnung, wenn Warnungen während dieses Ereignisses aufgetreten sind. Eine Warnung dient zu Informationszwecken und beeinträchtigt, im Gegensatz zu Fehlern, die Abfrage nicht.

Beispielprotokolleintrag

Ein Beispiel für Logeinträge, die eine API-Anfrage zum Erstellen einer virtuellen Maschine beschreiben, sieht so aus:

{
  "log": "compute.googleapis.com/activity_log",
  "insertId": "2015-09-16|13:49:42.532185-07|10.106.9.208|335899593",
  "metadata": {
    "severity": "INFO",
    "projectId": "835469197146",
    "serviceName": "compute.googleapis.com",
    "zone": "us-central1-f",
    "labels":{
      "compute.googleapis.com/resource_id":"0",
      "compute.googleapis.com/resource_name":"example-instance",
      "compute.googleapis.com/resource_type":"instance",
      "compute.googleapis.com/resource_zone":"us-central1-f"
    },
    "timestamp": "2015-09-16T20:49:42.423637Z"
  },
  "structPayload": {
    "version": "1.2",
    "trace_id": "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e",
    "event_timestamp_us": "1442436582423637",
    "event_type": "GCE_API_CALL",
    "event_subtype": "compute.instances.insert",
    "resource": {
      "type": "instance",
      "name": "example-instance",
      "id": "0",
      "zone": "us-central1-f"
    },
    "actor": {
      "user": "user@example.com"
    },
    "ip_address": "",
    "user_agent": "apitools-client/1.0",
    "request": {
      "url": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instances",
      "body": "{
        \"canIpForward\":false,
        \"description\":\"\",
        \"disks\":[{
          \"autoDelete\":true,
          \"boot\":true,
          \"deviceName\":\"example-instance\",
          \"initializeParams\":{
            \"diskSizeGb\":\"10\",
            \"diskType\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/diskTypes/pd-standard\",
            \"sourceImage\":\"https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-8-jessie-v20150818\"
          },
          \"mode\":\"READ_WRITE\",
          \"type\":\"PERSISTENT\"
        }],
        \"machineType\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/machineTypes/n1-standard-1\",
        \"metadata\":{
          \"items\":[]
        },
        \"name\":\"example-instance\",
        \"networkInterfaces\":[{
            \"accessConfigs\":[{
              \"name\":\"External NAT\",
              \"type\":\"ONE_TO_ONE_NAT\"

            }],
            \"network\":\"https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default\"
          }],
        \"scheduling\":{
          \"automaticRestart\":true,
          \"onHostMaintenance\":\"MIGRATE\",
          \"preemptible\":false
        },
        \"serviceAccounts\":[{
          \"email\":\"default\",
          \"scopes\":[
            \"https://www.googleapis.com/auth/devstorage.read_only\",
            \"https://www.googleapis.com/auth/logging.write\"
          ]
        }],
        \"tags\":{
          \"items\":[]
        },
        \"zone\":\"https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f\"
      }"
    },
    "operation": {
      "type": "operation",
      "name": "operation-1442436581415-51fe3700bd85a-7fd317e3-f1a3555e",
      "id": "291347737657178184",
      "zone": "us-central1-f"
    }
  }
}
Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Compute Engine-Dokumentation