Cloud Logging für die Google Home-Plattform

Cloud-to-Cloud    Matter

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 das Google Cloud Console auf Cloud Logging zugreifen möchten, klicken Sie auf Alle Produkte ansehen und dann auf Vorgänge > Logging.

Zu Cloud Logging wechseln

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 von 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 Logs finden Sie im Abschnitt „Logs 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 ID Ihres aktuellen Projekts, das dieser Ressource zugeordnet 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-Intent-Fehler
QUERY-Intent-Fehler
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 Die Zeit, die vergangen ist, 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 Die verstrichene Zeit, bis eine Antwort empfangen wurde, z. B. 6000.
executionType Für die Anfrage verwendeter Transport, z. B. CLOUD oder MATTER, je nach Integration.
actionType Optionaler Hinweis auf die vom Nutzer ausgeführte Aktion, z. B. QUERY oder EXECUTE. Für EXECUTE-Aktionen enthält sie den Befehl, der an die Ausführung für unterstützte Attribute gesendet wird, z. B. ONOFF_OFF.
trait Optionales Attribut, 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 Auftragsausführung an die Cloud-Auftragsausführung weitergeleitet wurde.
statusType Gibt den Status der Intent-Antwort an, z. B. SUCCESS, PENDING oder OFFLINE. Bei ERROR-Antworten enthält diese Eigenschaft die von der Auftragsausführung bereitgestellte errorCode.
externalDebugString Optionale detaillierte Debugging-Meldung, die mit dieser Nutzeraktion verknüpft ist.
locale Der Sprachcode, 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 der Protokollebene

Cloud-to-cloud-Projekte sind standardmäßig so eingestellt, dass sie Fehlerlogs erhalten. Entwickler können sich auch dafür entscheiden, Erfolgslogs zu erhalten. Das ist besonders in der Entwicklungsphase nützlich, wenn Sie alle Logs von einigen wenigen Agents erfassen möchten. Wenn Sie das Kontingent für das Logging überschreiten, können für Ihr Projekt zusätzliche Gebühren anfallen.

Sie können den Log-Level für Ihr Projekt so festlegen:

  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 control ingestion (Log-Kontroll-Ingestion) die Option All (Alle) aus.

Logausschlüsse

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

In dieser Anleitung finden Sie eine Anleitung zum Erstellen von Ausschlussfiltern (konfigurieren Sie den Ausschlussfilter für die Senke _Default).

Logbasierte Messwerte

Entwickler können logbasierte Messwerte verwenden, um Muster in ihren Logs zu verfolgen und zu analysieren. Sie können auch benutzerdefinierte Diagramme erstellen und Benachrichtigungen für logbasierte Messwerte einrichten.

Wenn Sie logbasierte Messwerte für Smart Home verwenden möchten, lesen Sie die Anleitung zum Erstellen eines logbasierten Zählermesswerts.

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

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