Cloud Logging für Cloud-zu-Cloud-Szenarien

Sie können über Google Cloud Logging auf Ereignisprotokolle für Ihre Integrationen zugreifen. Mit Cloud Logging können Sie Logs analysieren, Messwerte und Benachrichtigungen erstellen oder Logs mithilfe von Google Cloud Pub/Sub in andere Anwendungen exportieren.

Zugriffsprotokollierung

Wenn Sie von Google Cloud Console auf Cloud Logging zugreifen möchten, klicken Sie auf Alle Produkte ansehen und dann auf Vorgänge > Logging.

Zu Cloud Logging

Der Zugriff auf Logging-Daten wird für Nutzer Ihres Actions-Projekts über Identity and Access Management (IAM) verwaltet. Weitere Informationen zu Rollen und Berechtigungen für Logging-Daten finden Sie unter Zugriffssteuerung für Cloud Logging.

Logeinträge werden gemäß der Aufbewahrungsrichtlinie für Cloud Logging 30 Tage lang aufbewahrt und dann zum Löschen geplant. Sie können Einträge auch bei Bedarf über die Benutzeroberfläche des Log-Explorers löschen.

Weitere Informationen zur effektiven Verwendung von Protokollen finden Sie im Abschnitt „Protokolle durchsuchen“ des Leitfadens zur Fehlerbehebung.

Cloud Logging bietet die folgenden Ressourcentypen:

Ressourcentyp Anzeigename Beschreibung Labels
assistant_action_project Google Assistant Action-Projekt Ein Container für das Google Cloud-Projekt, das mit einer Assistant-Aktion verknüpft ist.
  • project_id: Die Kennung Ihres aktuellen Projekts, die mit dieser Ressource verknüpft ist, z. B. my-project.

Ereignisprotokolle

Für Cloud-to-cloud-Projekte werden die folgenden Ereignisse in Cloud Logging unterstützt:

Cloud Logging-Ressource Ereignis
Google Assistant Action-Projekt SYNC-Intent-Fehler
Fehler bei der QUERY-Intention
Fehler bei der EXECUTE-Intent
Fehler bei Benachrichtigungen
Fehler bei der Kontoverknüpfung
Local Home SDK HandlerError

Synchronisierungsprotokolle

In der folgenden Tabelle ist das Schema eines syncLog-Eintrags aufgeführt:

Attribut Beschreibung
requestId Smart-Home-Intent-Anfrage-ID.
httpLatencyMsec Verstrichene Zeit, bevor eine Antwort eingegangen ist.
status Gibt den Status der Intent-Antwort an.

Ausführungsprotokolle

In der folgenden Tabelle ist das Schema eines executionLog-Eintrags aufgeführt:

Attribut Beschreibung
requestId Eindeutige Anfrage-ID, z. B. 5325511189174727525.
latencyMsec Verstrichene Zeit, bevor eine Antwort empfangen wurde, z. B. 6000.
executionType Der für die Anfrage verwendete Transport, z. B. CLOUD oder MATTER, je nach Integration.
actionType Optionaler Indikator für die vom Nutzer ausgeführte Aktion, z. B. QUERY oder EXECUTE. Enthält für EXECUTE-Aktionen den Befehl, der für unterstützte Merkmale an die Auftragsausführung gesendet wird, z. B. ONOFF_OFF.
trait Optionale Eigenschaft, die mit dieser Nutzeraktion verknüpft ist.
deviceTypes Liste der Gerätetypen, die vom Ereignis betroffen sind, z. B. LIGHT.
isSuccess Gibt an, ob die Anfrage erfolgreich war.
fallbackToCloud Gibt an, ob die Anfrage nach einem Fehler bei der lokalen Auftragsausführung an die Cloud-Auftragsausführung weitergeleitet wurde.
statusType Gibt den Status der Antwort auf die Absicht an, z. B. SUCCESS, PENDING oder OFFLINE. Bei ERROR-Antworten enthält diese Property den errorCode, der von der Auftragsausführung bereitgestellt wird.
externalDebugString Optionale detaillierte Debugging-Nachricht, die mit dieser Nutzeraktion verknüpft ist.
locale Der Sprachencode, der der Anfrage zugeordnet ist.

Benachrichtigungsprotokolle

In der folgenden Tabelle ist das Schema eines notificationLog-Eintrags aufgeführt:

Attribut Beschreibung
requestId ID der Benachrichtigungsanfrage.
structName Name der Benachrichtigungsstruktur, z. B. „ObjectDetection“.
status Gibt den Status der Benachrichtigung an.

Einstellung für die Protokollebene

Für Cloud-to-cloud-Projekte werden standardmäßig Fehlerprotokolle empfangen. Entwickler können auch festlegen, dass sie Erfolgsprotokolle erhalten. Das ist besonders nützlich während der Entwicklungsphase, wenn Sie alle Protokolle von einigen wenigen Kundenservicemitarbeitern erfassen möchten. Wenn Sie das Logging-Kontingent überschreiten, fallen für Ihr Projekt möglicherweise zusätzliche Kosten an.

So legen Sie die Protokollebene für Ihr Projekt fest:

  1. Rufen Sie in der Actions on Google Console die Seite „Projekte“ auf.

    Actions on Google Console aufrufen

  2. Wählen Sie Ihr Smart-Home-Projekt aus.

  3. Wählen Sie den Tab Entwickeln aus und klicken Sie in der Seitenleiste auf Aktionen.

  4. Wählen Sie in der Drop-down-Liste Log control ingestion (Aufnahme von Steuerprotokollen) die Option Alle aus.

Logausschlüsse

Entwickler können Logausschlüsse mithilfe der Abfragesprache für Logging erstellen, um ihre Protokolle flexibler anzupassen. Die Logging Query Language wird auch vom Log-Explorer verwendet. Sie können den Log-Explorer also zum Erstellen von Abfragen verwenden.

Eine Anleitung zum Erstellen von Ausschlussfiltern finden Sie in diesem Leitfaden (Konfigurieren des Ausschlussfilters für die _Default-Senke).

Logbasierte Messwerte

Entwickler können logbasierte Messwerte verwenden, um Muster in ihren Logs zu verfolgen und zu analysieren. Außerdem ist es möglich, benutzerdefinierte Diagramme zu erstellen und Benachrichtigungen für logbasierte Messwerte einzurichten.

Wenn Sie logbasierte Messwerte für Smart-Home-Geräte verwenden möchten, lesen Sie den Leitfaden zum Erstellen eines logbasierten Zählermesswerts.

Weitere Informationen zur Verwendung von Cloud Logging in Ihrem Projekt finden Sie in der Dokumentation:

  • Preise: Details zu Kontingenten und Kosten bei Überschreitung.
  • Kontingente und Limits: Informationen zu Limits und Aufbewahrungsrichtlinien für die Protokollierung der Nutzung.
  • Erweiterte Logabfragen: Leitfaden zur Verwendung erweiterter Ausdrücke zum Abfragen und Analysieren von Protokolldaten.