Überwachen von Ausfällen im Smart Home

1. Hinweis

Wie im Codelab zum Debuggen des Smart Home beschrieben, veröffentlichen wir Messwerte und Logs für Ihre Smart Home-Projekte. Mithilfe von Messwerten können Sie ermitteln, wo Probleme mit Ihrer Smart Home Action auftreten. Logs sind nützlich, wenn Sie diese Probleme genauer untersuchen möchten.

dd44868a4ff2df6e.png

Sie können Benachrichtigungen mithilfe der für Ihr Projekt bereitgestellten Messwerte einrichten, um Ausfälle automatisch zu überwachen und Benachrichtigungen bei Dienstunterbrechungen zu erhalten. Wir veröffentlichen einen Vertrauensmesswert, um die Störungen in Ihrem Projekt hervorzuheben. Dieser wird in diesem Codelab zusammen mit allen anderen Benachrichtigungstools behandelt, die Ihnen in Google Cloud zur Verfügung stehen.

Vorbereitung

Lerninhalte

  • Leistungsprobleme und Dienstunterbrechungen in Ihrem Projekt überwachen
  • So erstellen Sie eine schwellenwertbasierte Benachrichtigung und erhalten Benachrichtigungen bei Störungen.
  • So nutzen Sie den für Ihr Projekt bereitgestellten Messwert für das Konfidenzniveau, um Ausfälle zu erkennen.

2. Leistungsbewertung

Die Leistungsüberwachung ist entscheidend für eine erfolgreiche Integration in das Google Home-Ökosystem. Wir stellen Smart-Home-Entwicklern eine Reihe von Monitoring-Tools in der Google Cloud zur Verfügung. Mit diesen Tools können Sie sich einen Überblick über die Leistung Ihres Projekts verschaffen.

Auf Dashboards zugreifen

Der erste Schritt, um auf Ihre Daten zuzugreifen, besteht darin, die Google Home-Dashboards zu prüfen. Melden Sie sich dazu in der Google Cloud Console an und rufen Sie Vorgänge > Monitoring > Dashboards auf. Es sind mehrere Dashboards verfügbar. Die Dashboards für Smart Home haben das Präfix „Google Home Analytics“.

317697e52ced2437.png

Wir haben für jeden Integrationstyp ein eigenes Dashboard erstellt. Cloud-, lokale und Matter-Integrationen haben ihr eigenes Dashboard. Die Daten für Kamera-Streamingprotokolle werden im Dashboard „Kameraqualität“ bereitgestellt. Diese Dashboards enthalten nur Daten, wenn Sie eine Integration des entsprechenden Typs haben und ein funktionierendes Projekt, das Anfragen erfüllt.

Wenn Sie eines dieser Dashboards öffnen, sieht die Ansicht so aus:

f8bfd69286c569a4.png

Dashboards enthalten verschiedene Diagramme mit den Details der Anfragen, die von Ihrem Projekt verarbeitet wurden. In jedem Integrationsdashboard sehen Sie ein Diagramm mit der Gesamtzahl der von Ihrem Projekt verarbeiteten Anfragen, ein Diagramm mit der Erfolgsrate für diesen Integrationstyp und mehrere Diagramme mit den beteiligten Gerätetypen und Attributen.

Es gibt drei Diagramme, die für die Bewertung der Leistung Ihrer Smart Home-Aktionen entscheidend sind:

f511fafd3aaaa1eb.png

Bei Ausfällen sehen Sie in der Regel einen Abwärtstrend beim Prozentsatz der erfolgreichen Anfragen und einen Aufwärtstrend im Diagramm mit der Fehleraufschlüsselung. Wenn Sie den Prozentsatz der erfolgreichen Ausführungen im Blick behalten, können Sie den Ausfall bemerken. Wenn Sie sich die häufigsten Fehler in der Fehleraufschlüsselung ansehen, können Sie Fehler beheben. Bei Ausfällen kann es auch zu einem Aufwärtstrend bei der Latenz kommen, der in den Diagrammen zur Anfragelatenz zu sehen ist.

Die Standardansicht mit Diagrammen, die Sie in Google Home Analytics-Dashboards sehen, ist nur eine Ansicht, die wir für Ihr Projekt mit Smart-Home-Messwertdaten erstellt haben. Sie können auch mit dem Metrics Explorer eigene Diagramme aus denselben zugrunde liegenden Messwerten erstellen und in Ihren benutzerdefinierten Dashboards speichern.

Metrics Explorer

Mit dem Metrics Explorer können Sie Querschnitte des Datasets Ihres Projekts visualisieren. Das Tool ist in der Google Cloud Console unter Operations > Monitoring > Metrics Explorer verfügbar.

Google Cloud bietet viele verschiedene Messwerte, darunter auch solche, die nicht mit Smart Home zusammenhängen. Messwerte, die wir für Smart Home bereitstellen, sind unter der Ressource „actions.googleapis.com/smarthome_action/...“ aufgeführt. Sie können ganz einfach danach suchen, indem Sie „smarthome“ in das Feld für die Messwertauswahl eingeben.

538d851edfd34764.png

Wenn Sie nach „smarthome“ suchen, werden alle Smart-Home-Messwerte angezeigt, die wir für Ihr Projekt bereitstellen. Ausführliche Informationen zu den einzelnen Messwerten finden Sie in der Dokumentation auf den Seiten Monitoring und Logging.

Wenn Sie Ihr Projekt überwachen möchten, ist der Messwert Anzahl der Anfragen (ein Delta-Messwert) am einfachsten zu verwenden. Für jede Smart Home-Ausführung, die von Ihren Nutzern initiiert wird, wird ein Eintrag für diesen Messwert erfasst. Außerdem werden Felder wie Gerätetyp, Attribut, Ausführungstyp und Statusfeld erfasst, das das Ergebnis anzeigt.

Wenn Sie diesen Messwert auswählen, wird ein Bildschirm mit den einzelnen Daten-Buckets angezeigt, wie im Folgenden dargestellt:

b1c18141d15a0e09.png

Für jede Kombination von Datenlabels, die in diesem Messwert vorhanden ist, gibt es einen Bucket, in dem die Änderung (das Delta) zwischen dem vorherigen und dem aktuellen Zeitintervall erfasst wird. Sie können diese Gruppen zusammenfassen oder herausfiltern, um den gewünschten Datenslice zu erhalten. Außerdem werden die Daten mit einer Ausrichtungsfunktion (DELTA, MEAN, MEDIAN, SUM) an ausgewählte Zeitintervalle angepasst. Sofern nicht anders erforderlich, verwenden Sie die Delta-Ausrichtung in der Regel mit einem Deltamesswert.

Die meisten Diagramme, die in Google Home Analytics-Dashboards verfügbar sind, können Sie mit Metrics Explorer erstellen und in einem benutzerdefinierten Dashboard speichern, um später darauf zuzugreifen. Für komplexere Ansichten wie ein Verhältnisdiagramm müssen Sie MQL (Monitoring Query Language) verwenden.

3. Erfolgsmesswerte

Um den Erfolg Ihrer Integration zu messen, können Sie entweder die Erfolgsrate verwenden, die wir anhand des Messwerts für die Anzahl der Anfragen berechnen, oder die Erfolgswahrscheinlichkeit für einen spezielleren Ansatz.

Erfolgsquote

Die Erfolgsrate wird für alle Ihre Integrationen berechnet, indem die Anzahl der erfolgreichen Anfragen durch die Gesamtzahl der Anfragen geteilt wird. Sie können darauf über das Diagramm „Erfolgsrate bei der Ausführung“ in Ihrem Google Home Analytics-Dashboard zugreifen.

55ea8930fbf48d9e.png

Das Diagramm zur Erfolgsrate bei der Ausführung ist sehr nützlich, um die Leistung Ihres Projekts zu überwachen, aber weniger, wenn Sie benutzerdefinierte Dashboards erstellen oder Benachrichtigungen einrichten. Da die Erfolgsrate aus dem Messwert für die Anzahl der Anfragen abgeleitet wird und kein eigener Messwert ist, müssen Sie sie mit MQL (Monitoring Query Language) im Metrics Explorer neu erstellen, um sie mit einer der beiden Funktionen verwenden zu können.

Um die Leistungsbeeinträchtigungen in Ihrem Projekt zu verfolgen, ist unserer Meinung nach ein viel spezialisierterer Ansatz erforderlich. Deshalb haben wir den Messwert „Vertrauen“ eingeführt, der sich je nachdem ändert, wie stark Ihre aktuelle Erfolgsrate bei der Auftragsabwicklung von den bisherigen Normen abweicht.

Konfidenzmesswert

Ausfälle können in Projekten unterschiedliche Formen und Größen annehmen. Sie können mehrere Stunden oder nur wenige Minuten dauern, was die Identifizierung erschweren kann. Dazu haben wir in Ihrem Projekt einen Konfidenzmesswert erstellt, der einen normalisierten Wert für die Vorhersage der Zuverlässigkeit auf Grundlage der bisherigen Leistung liefert. Sie können auf den Messwert für das Vertrauen zugreifen, indem Sie im Metrics Explorer nach „smarthome“ suchen und dann Execution success confidence (Vertrauen in die erfolgreiche Ausführung) auswählen.

ab467a1777281526.png

Wenn die Leistung Ihrer Smart-Home-Integration dem bisherigen Durchschnitt (7-Tage-Durchschnitt) entspricht oder darüber liegt, wird für diesen Messwert der Maximalwert (1,0) ausgegeben. Wenn Ihre Erfolgsrate um mehr als das Vierfache der Standardabweichung abweicht (ebenfalls über 7 Tage berechnet), wird für diesen Messwert der Mindestwert (0,0) ausgegeben. Wenn die Standardabweichungen zu klein sind (weniger als 2,5%), basiert dieser Messwert auf einem Wert von 0,0 bei einem Rückgang des Erfolgsanteils um 10 %.

Für alle Zwischenfälle liefert dieser Messwert Werte zwischen 1,0 (vollkommen sicher, dass kein Ausfall vorliegt) und 0,0 (maximale Sicherheit, dass ein Ausfall vorliegt).

Daher empfehlen wir, beim Einrichten einer Benachrichtigung (siehe nächster Abschnitt) einen Grenzwert von 0,5 festzulegen. Das entspricht einer Abweichung von 2 Standardabweichungen oder einem Rückgang von 5 %, je nachdem, welcher Wert höher ist.

4. Benachrichtigungen einrichten

Im nächsten Schritt richten Sie anhand der Informationen aus dem vorherigen Abschnitt Benachrichtigungen für Ihr Projekt ein.

Benachrichtigungsrichtlinie erstellen

Automatische Benachrichtigungen in Google Cloud werden über Benachrichtigungsrichtlinien eingerichtet. Sie können über das Seitenmenü auf die Benachrichtigungsrichtlinien zugreifen: Vorgänge > Monitoring > Benachrichtigungen. Sie können eine neue Benachrichtigungsrichtlinie erstellen, indem Sie die Option + RICHTLINIE ERSTELLEN auswählen. Dadurch gelangen Sie zum Bildschirm zum Erstellen von Benachrichtigungsrichtlinien:

6e417d88c2274b3d.png

Das Erstellen einer Benachrichtigungsrichtlinie besteht aus drei Teilen. Zuerst müssen Sie festlegen, was Sie erfassen möchten, indem Sie eine Bedingung hinzufügen. Wenn Sie auf die Schaltfläche BEDINGUNG HINZUFÜGEN klicken, wird ein Fenster ähnlich dem Metrics Explorer mit einigen zusätzlichen Steuerelementen zum Konfigurieren der Bedingung angezeigt:

df1ccf7da741e1c7.png

Wählen Sie als Ziel den Vertrauensmesswert aus, den wir im vorherigen Abschnitt behandelt haben. Achten Sie darauf, dass der Aligner für diesen Messwert auf „Delta“ festgelegt ist (Erweiterte Optionen einblenden > Aligner). Im nächsten Schritt konfigurieren Sie die Benachrichtigungsbedingung mit den folgenden Einstellungen:

4192e0f4ea00dd28.png

Bedingung wird ausgelöst, wenn: Dies ist die Hauptkonfiguration, um festzulegen, wann die Benachrichtigungen ausgelöst werden sollen. Die Auswahl von Any time series violates (Bei jedem Verstoß) ist in Ordnung, da wir einen Grenzwert für unseren Messwert festlegen und beobachten, ob der Wert überschritten wird.

Bedingung: Die Benachrichtigung soll ausgelöst werden, wenn der Wert unter den Grenzwert fällt. Wir legen diese Option also auf liegt unter fest. Bei unserem Messwert bedeutet 1,0, dass die Integration einwandfrei funktioniert, und 0,0 weist auf einen definitiven Ausfall hin.

Grenzwert: Wir haben den Konfidenzwert so konzipiert, dass er die besten Ergebnisse liefert, wenn dieser Wert auf 0,5 festgelegt ist. Wenn Sie häufiger Benachrichtigungen erhalten und auch bei kleineren Vorfällen benachrichtigt werden möchten, können Sie diesen Wert erhöhen (maximal 1,0). Wenn Sie danach weniger Benachrichtigungen erhalten möchten, nur bei schwerwiegenderen Problemen, können Sie diesen Wert verringern (mindestens 0,0).

Für: Mit dieser Einstellung legen Sie fest, wie lange der Ausfall dauern soll, bevor Sie benachrichtigt werden. Wir empfehlen, diese Einstellung auf Aktueller Wert zu belassen, damit Sie benachrichtigt werden, wenn ein Punkt den Schwellenwert überschreitet. Unser Konfidenzmesswert wird alle 15 Minuten veröffentlicht und berücksichtigt den durchschnittlichen Erfolg in diesem Zeitraum.

Nachdem Sie eine Bedingung hinzugefügt haben, wählen Sie als Nächstes den Benachrichtigungskanal aus. Die einfachste Benachrichtigungsmethode sind E‑Mail-Benachrichtigungen. Sie können eine E-Mail-Adresse aus dem Drop-down-Menü Benachrichtigungskanäle auswählen:

3cc10629830e7f13.png

Wenn Sie das Kästchen Bei Schließen von Vorfall benachrichtigen aktivieren, wird eine weitere Benachrichtigung gesendet, sobald der Vorfall als geschlossen markiert wird. In diesem Fall sollten Sie auch eine Dauer bis zur automatischen Schließung von Vorfällen auswählen. Standardmäßig sind 7 Tage festgelegt.

Im letzten Schritt geben Sie Ihrer Benachrichtigung einen Namen und fügen alle Dokumentationen hinzu, die in den Benachrichtigungen enthalten sein sollen.

686fb1c537fee10.png

Es wird empfohlen, Dokumente bereitzustellen, insbesondere wenn Sie nicht die Person sind, die die Benachrichtigung erhält. Wenn Sie Schritte hinzufügen, z. B. wo Sie bei einem Vorfall nachsehen und wie Sie Fehler beheben können, kann das bei einem Ausfall hilfreich sein. Bei Bedarf können Sie sich unseren Leitfaden zur Fehlerbehebung ansehen.

Nach dem Speichern wird Ihre Benachrichtigungsrichtlinie auf der Seite „Benachrichtigungen“ im Abschnitt „Richtlinien“ aufgeführt.

c71a001e4df035ee.png

5. Ausfälle vermeiden

Sobald Sie Benachrichtigungen eingerichtet haben, werden Sie bei Ausfällen über die von Ihnen angegebenen Benachrichtigungskanäle benachrichtigt. Außerdem wird auf der Seite „Benachrichtigungen“ ein Vorfall erstellt.

Warnungen erhalten

Der Benachrichtigungskanal, den wir in diesem Codelab verwendet haben, war eine E‑Mail-Adresse. Nachdem du die Einstellungen vorgenommen hast, solltest du hoffentlich keine Benachrichtigungen mehr erhalten. Wenn doch, sieht die Benachrichtigung so aus:

43217b0a145c2cd.png

Die Benachrichtigung enthält den beobachteten Wert, der den von Ihnen angegebenen Schwellenwert überschreitet, sowie einen Zeitstempel, der angibt, wann der Vorfall zum ersten Mal aufgetreten ist.

Monitoring-Vorfälle

Wenn Vorfälle auftreten, werden sie auch im Abschnitt „Vorfälle“ auf der Seite „Benachrichtigungen“ gezählt.

fdd883a9604ed981.png

Sie können auf den jeweiligen Vorfall klicken, um Details zum Ausfall zu sehen, z. B. wie lange er gedauert hat oder wie schwerwiegend er war.

Wenn Sie Benachrichtigungen erhalten, sollten Sie zuerst Ihre Messwerte ansehen und dann in Ihren Logs nach den Fehlern suchen, die zu Ihrem Ausfall beigetragen haben. Im Codelab Smart Home-Geräte debuggen finden Sie eine Auffrischung dazu.

6. Glückwunsch

17d485868a6771bc.png

Glückwunsch! Sie haben gelernt, wie Sie mithilfe der für Ihr Projekt bereitgestellten Messwerte Benachrichtigungen einrichten, um Ausfälle automatisch zu überwachen und Benachrichtigungen bei Dienstunterbrechungen zu erhalten.

Nächste Schritte

Aufbauend auf diesem Codelab können Sie die folgenden Übungen ausprobieren und zusätzliche Ressourcen nutzen:

  • Sie können das, was Sie in diesem Codelab gelernt haben, mit anderen Messwerten für Ihr Projekt kombinieren. Eine vollständige Liste der verfügbaren Messwerte finden Sie auf der Seite Monitoring im Bereich Unterstützte Messwerte.
  • Weitere Arten von Benachrichtigungskanälen für Benachrichtigungen finden Sie in der Google Cloud-Dokumentation auf der Seite Benachrichtigungsoptionen.