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 untersuchen, Messwerte und Benachrichtigungen erstellen oder Logs mit Google Cloud Pub/Sub in andere Anwendungen exportieren.

Zugriffs-Logging

Wenn Sie über die Google Cloud Console auf Cloud Logging zugreifen möchten, klicken Sie auf Alle Produkte ansehen und dann auf Operations > Logging.

Zu Cloud Logging

Der Zugriff auf Logging-Daten wird über Identity and Access Management (IAM) für Nutzer Ihres Actions-Projekts 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 zur Löschung geplant. Sie können Einträge auch bei Bedarf über die Benutzeroberfläche des Log-Explorers löschen.

Weitere Informationen zur effektiven Verwendung von Logs finden Sie im Abschnitt Logs suchen der Anleitung 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 Action verknüpft ist.
  • project_id: Die ID Ihres aktuellen Projekts , das mit dieser Ressource verknüpft ist, z. B. my-project.

Ereignisprotokolle

Cloud-to-cloud Projekte unterstützen die folgenden Ereignisse in Cloud Logging:

Cloud Logging-Ressource Ereignis
Google Assistant Action-Projekt SYNC bei SYNC-Intents
Fehler bei QUERY-Intents
EXECUTE-Intent-Fehler
Benachrichtigungen Fehler
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 ID der Smart Home-Intent-Anfrage.
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 eingegangen ist, z. B. 6000.
executionType Für die Anfrage verwendeter Transport, z. B. CLOUD oder MATTER, je nach Integration.
actionType Optionaler Indikator für die Nutzeraktion, z. B. QUERY oder EXECUTE. Bei EXECUTE Aktionen enthält dies den Befehl, der an die Fulfillment-Funktion gesendet wurde, z. B. ONOFF_OFF
trait Optionales Merkmal, das mit dieser Nutzeraktion verknüpft ist.
deviceTypes Liste der Gerätetypen, die von dem Ereignis betroffen sind, z. B. LIGHT.
isSuccess Gibt an, ob die Anfrage eine erfolgreiche Antwort erhalten hat.
fallbackToCloud Gibt an, ob die Anfrage nach einem Fehler bei der lokalen Fulfillment-Funktion an die Cloud-Fulfillment-Funktion weitergeleitet wurde.
statusType Gibt den Status der Intent-Antwort an, z. B. SUCCESS, PENDING, oder OFFLINE. Bei ERROR Antworten enthält dieses Attribut den von der Fulfillment-Funktion bereitgestellten errorCode.
externalDebugString Optionale detaillierte Debugging-Nachricht, die mit dieser Nutzeraktion verknüpft ist.
locale Sprachcode, der mit der Anfrage verknüpft 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 Protokollebene

Cloud-to-cloud Projekte sind standardmäßig festgelegt, dass Fehlerprotokolle empfangen werden, und Entwickler können sich auch für den Empfang von Erfolgsprotokollen entscheiden. Dies ist besonders in der Entwicklungsphase nützlich, wenn Sie alle Protokolle von einigen wenigen Agents erfassen möchten. Wenn Sie das Logging-Kontingent überschreiten, können zusätzliche Gebühren für Ihr Projekt anfallen.

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

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

    Zur Actions on Google Console

  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-Ingestion steuern die Option Alle aus.

Logausschlüsse

Entwickler können Logausschlüsse mit der Logging-Abfragesprache erstellen, um ihre Logs flexibler anzupassen. Die Logging-Abfragesprache wird auch vom Log-Explorer verwendet. Sie können den Log-Explorer also verwenden, um Abfragen zu erstellen.

Sie können die Schritte zum Erstellen von Ausschlussfiltern in dieser Anleitung ausführen (Ausschlussfilter für die _Default Senke konfigurieren).

Logbasierte Messwerte

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

Informationen zur Verwendung logbasierter Messwerte für Smart Home finden Sie in dieser Anleitung: creating a counter log-based metric guide.

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

  • Preise: Informationen zu Kontingenten und Kosten für die Überschreitung des Kontingents.
  • Kontingente und Limits: Informationen zu Limits und Aufbewahrungsrichtlinien für die Logging-Nutzung.
  • Erweiterte Logabfragen: Anleitung zur Verwendung erweiterter Ausdrücke zum Abfragen und Analysieren von Logdaten.