Monitoraggio delle interruzioni per la smart home

1. Prima di iniziare

Come spiegato nel codelab relativo al debug della smart home, stiamo pubblicando metriche e log nei tuoi progetti per la smart home. Le metriche ti aiutano a determinare in che punto dell'azione per la smart home si verificano problemi e i log sono utili per approfondire questi problemi.

dd44868a4ff2df6e.png

Puoi configurare avvisi utilizzando le metriche fornite al tuo progetto per monitorare le interruzioni in modo automatico e per ricevere notifiche durante le interruzioni del servizio. Stiamo pubblicando una metrica di confidenza per evidenziare le interruzioni del progetto, che tratteremo in questo codelab insieme a tutti gli altri strumenti di avviso a tua disposizione su Google Cloud.

Prerequisiti

Cosa imparerai a fare

  • Come monitorare i problemi di prestazioni e le interruzioni del servizio sul tuo progetto.
  • Come creare un avviso basato sulla soglia e ricevere notifiche durante le interruzioni.
  • Come utilizzare la metrica di affidabilità fornita al progetto per rilevare le interruzioni.

2. Monitoraggio del rendimento

Il monitoraggio del rendimento è fondamentale per un'integrazione ottimale con l'ecosistema della smart home di Google. Stiamo fornendo una serie di strumenti di monitoraggio agli sviluppatori di smart home sulla piattaforma Google Cloud. Puoi usare questi strumenti per avere un'idea del rendimento del tuo progetto.

Accesso alle dashboard

Il primo passaggio per accedere ai dati è controllare le dashboard della home page di Google, accedendo a Google Cloud Console e andando a Operazioni > Monitoraggio > Dashboard. Vedrai che sono disponibili diverse dashboard e che quelle per la smart home hanno un prefisso di Google Home Analytics.

317697e52ced2437.png

Abbiamo creato singole dashboard per rappresentare ogni tipo di integrazione. Le integrazioni Cloud, Local e Matter hanno una propria dashboard e i dati per i protocolli di streaming della videocamera sono forniti nella dashboard Qualità della videocamera. Queste dashboard conterranno dati solo se hai un'integrazione del tipo corrispondente, insieme a un progetto funzionante che soddisfa le richieste.

Quando apri una di queste dashboard, la visualizzazione ottenuta sarà la seguente:

f8bfd69286c569a4.png

Le dashboard contengono vari grafici che mostrano i dettagli delle richieste gestite dal tuo progetto. Con ogni dashboard di integrazione vedrai un grafico che mostra il numero totale di richieste gestite dal tuo progetto, un grafico che mostra la percentuale di successo per quel tipo di integrazione e diversi grafici che mostrano i tipi di dispositivi e i tratti coinvolti.

Sono tre i grafici fondamentali per valutare il rendimento delle azioni della tua smart home:

f511fafd3aaaa1eb.png

Durante le interruzioni, puoi vedere di solito una tendenza discendente nella percentuale di successo e una tendenza al rialzo nel grafico di analisi degli errori. Il monitoraggio della percentuale di esecuzione riuscita consente di notare l'interruzione, mentre l'analisi degli errori principali nella suddivisione degli errori può essere utile per il debug. Potresti anche osservare un aumento della latenza durante le interruzioni, come è evidente nei grafici sulla latenza delle richieste.

Tieni presente che la vista predefinita con i grafici che vedi nelle dashboard di Google Home Analytics è solo una vista che abbiamo creato per il tuo progetto utilizzando i dati delle metriche per la smart home. Puoi anche utilizzare Metrics Explorer per creare i tuoi grafici dalle stesse metriche sottostanti e salvarli nelle dashboard personalizzate.

Metrics Explorer

Metrics Explorer è uno strumento per visualizzare le sezioni trasversali del set di dati del progetto. Lo strumento è accessibile nella console Google Cloud andando a Operazioni > Monitoraggio > Metrics Explorer.

Google Cloud offre molte metriche diverse pronte all'uso, incluse alcune non correlate alla smart home. Le metriche che forniamo per la smart home sono elencate nella risorsa "actions.googleapis.com/smarthome_action/..." e possono essere cercate facilmente digitando "smarthome" nella casella di selezione delle metriche.

538d851edfd34764.png

Se cerchi "smart home", verranno visualizzate tutte le metriche per la smart home fornite per il tuo progetto. Puoi trovare informazioni dettagliate su ciascuna delle nostre metriche nelle pagine Monitoring e Logging della nostra documentazione.

Per quanto riguarda il monitoraggio del progetto, la metrica più semplice a cui fare riferimento è la metrica Conteggio richieste, che è una metrica delta. Questa metrica registra una voce per ogni esecuzione nella smart home avviata dai tuoi utenti e registra campi come tipo di dispositivo, trait, tipo di esecuzione associato all'esecuzione e il campo dello stato che mostra il risultato.

Se selezioni questa metrica, verrà visualizzata una schermata in cui ogni bucket di dati sarà simile alla seguente:

b1c18141d15a0e09.png

In sostanza, per ogni combinazione di etichette dati presenti in questa metrica esiste un bucket che registra la modifica (delta) tra gli intervalli di tempo precedenti e attuali. Puoi raggruppare o filtrare questi bucket per ottenere la sezione di dati di visualizzazione desiderata. Inoltre, i dati vengono allineati in intervalli di tempo selezionati con una funzione di allineamento (DELTA, MEAN, MEDIAN, SUM). Se non diversamente necessario, in genere si utilizza l'allineamento delta con una metrica delta.

Puoi creare la maggior parte dei grafici disponibili nelle dashboard di Analytics della home page utilizzando Metrics Explorer e salvare i grafici per accedervi in un secondo momento in una dashboard personalizzata. Per ottenere viste più complesse, ad esempio un grafico di rapporto, devi utilizzare MQL (Monitoraggio di Query Language).

3. Parametri di successo

Per monitorare la riuscita dell'integrazione, puoi utilizzare come indicatore di base la percentuale di successo calcolata dalla metrica di conteggio delle richieste o l'affidabilità dei risultati per un approccio più specializzato.

Percentuale di successo

La percentuale di successo viene calcolata per tutte le integrazioni dividendo il numero di richieste andate a buon fine per tutte le richieste. Puoi accedervi dal grafico della percentuale di successo dell'evasione degli ordini nella dashboard di Google Analytics in Google Home.

55ea8930fbf48d9e.png

Il grafico Percentuale di successo di fulfillment è molto utile per monitorare le prestazioni del progetto, ma non quando crei dashboard personalizzate o imposti avvisi. Poiché la percentuale di successo deriva dalla metrica del conteggio delle richieste e non da una metrica in sé, dovrai ricrearla utilizzando MQL (Monitoring Query Language) in Metrics Explorer per utilizzarla con entrambe le funzionalità.

Inoltre, per tenere traccia delle interruzioni delle prestazioni del progetto, riteniamo che sia necessario un approccio molto più specializzato. Per questo motivo, abbiamo creato la metrica relativa all'affidabilità che cambia in base alla deviazione del tasso di successo dell'evasione degli ordini attuale rispetto alle norme storiche.

Metrica relativa al livello di confidenza

Le interruzioni possono avere forme e dimensioni diverse per i progetti. Possono durare da diverse ore a pochi minuti, il che può rendere difficile identificarli. Per questo motivo abbiamo creato una metrica di confidenza nel progetto, che fornisce un valore normalizzato per prevedere l'affidabilità in base al rendimento passato. Puoi accedere alla metrica relativa all'affidabilità cercando la smart home in Metrics Explorer e poi selezionando Confidenza riuscita dell'esecuzione.

ab467a1777281526.png

Quando l'integrazione della tua smart home garantisce un rendimento uguale o superiore al rendimento storico (media di 7 giorni), questa metrica produrrà il valore massimo (1,0). Quando la percentuale di successo devia di oltre un fattore di 4 deviazioni standard (calcolate anche su 7 giorni), questa metrica restituisce il valore minimo (0,0). Per i casi in cui le deviazioni standard sono troppo piccole (inferiori al 2,5%), questa metrica basa il valore 0,0 su un calo del 10% sulla percentuale di successo.

Per tutti i casi intermedi, questa metrica fornisce valori compresi tra 1,0 (con certezza che non ci sia alcuna interruzione) e 0,0 (massima confidenza che ci sia un'interruzione).

Pertanto, quando imposti un avviso (che verrà illustrato nella prossima sezione), ti consigliamo di utilizzare come soglia un valore pari a 0,5. Ciò corrisponderà a 2 deviazioni standard o a un calo del 5%, a seconda di quale delle due opzioni è più alta.

4. Impostazione degli avvisi

Il passaggio successivo consiste nell'utilizzare quanto hai appreso nella sezione precedente per configurare gli avvisi sul tuo progetto.

Creazione di un criterio di avviso

Gli avvisi automatici sulla piattaforma Google Cloud vengono impostati tramite i criteri di avviso. Puoi accedere ai criteri di avviso dal menu laterale, scheda Operazioni > Monitoraggio > Avvisi. Puoi creare un nuovo criterio di avviso selezionando l'opzione +CREA POLITICA. Verrà visualizzata la schermata di creazione del criterio di avviso:

6e417d88c2274b3d.png

La creazione di un criterio di avviso si compone di tre parti. Per prima cosa, devi stabilire cosa monitorare aggiungendo una condizione. Se premi il pulsante AGGIUNGI CONDIZIONE, verrà visualizzata una finestra simile a Metrics Explorer, con alcuni controlli aggiuntivi per la configurazione della condizione:

df1ccf7da741e1c7.png

Per il target, seleziona la metrica di confidenza di cui abbiamo parlato nella sezione precedente. Assicurati che l'allineamento sia impostato su delta utilizzando questa metrica (Mostra opzioni avanzate > Allineatore). Il passaggio successivo consiste nel configurare la condizione di avviso e utilizzare le seguenti impostazioni:

4192e0f4ea00dd28.png

La condizione si attiva se: è la configurazione principale per determinare quando attivare gli avvisi. Selezionare Qualsiasi violazione di serie temporale funzionerà perché imposteremo una soglia per la nostra metrica e monitoreremo se il valore viene superato.

Condizione: vogliamo che l'avviso venga attivato quando il valore scende al di sotto della soglia, pertanto lo imposteremo su è inferiore. Con la nostra metrica, 1,0 indica che l'integrazione funziona correttamente, mentre 0,0 indica un'interruzione definitiva.

Soglia: abbiamo creato la metrica di confidenza per fornire risultati migliori quando questo valore è impostato su 0,5. Se vuoi ricevere avvisi più frequenti e ricevere notifiche per incidenti di minore entità, puoi provare ad aumentare questo valore (massimo 1,0). Successivamente, se vuoi ricevere meno avvisi, solo per problemi più gravi puoi provare a diminuire questo valore (minimo 0,0).

Per: questa è l'impostazione che consente di identificare la durata dell'interruzione prima di ricevere un avviso. Ti consigliamo di mantenere questa impostazione sul valore più recente per ricevere avvisi quando qualsiasi punto oltrepassa la soglia. La nostra metrica relativa all'affidabilità viene pubblicata ogni 15 minuti per esaminare il successo medio in quel periodo.

Una volta completata l'aggiunta di una condizione, il passaggio successivo consiste nel selezionare il canale di notifica. Il metodo più semplice di notifica sono gli avvisi via email. Puoi scegliere un'email elencata nel menu a discesa Canali di notifica:

3cc10629830e7f13.png

Se selezioni l'opzione Notifica sulla chiusura dell'incidente, verrà inviata un'altra notifica quando l'incidente verrà contrassegnato come chiuso. In questo caso, devi anche selezionare una Durata della chiusura automatica degli incidenti, specificata come 7 giorni per impostazione predefinita.

Il passaggio finale consiste nell'assegnare un nome all'avviso e aggiungere tutta la documentazione che vuoi includere nelle notifiche.

686fb1c537fee10.png

Ti consigliamo di fornire la documentazione, soprattutto se non sei tu a ricevere l'avviso. L'aggiunta di passaggi come dove controllare durante un incidente e come classificare ed eseguire il debug può aiutare durante un'interruzione. Se necessario, puoi consultare la nostra Guida alla risoluzione dei problemi.

Una volta salvato, il criterio di avviso verrà elencato nella sezione Criteri della pagina Avvisi.

c71a001e4df035ee.png

5. Mitigare le interruzioni

Dopo aver configurato gli avvisi, riceverai una notifica durante le interruzioni dai canali di notifica che hai fornito e verrà creata una voce relativa all'incidente nella pagina Avvisi.

Ricezione di avvisi

Il canale di avviso che abbiamo fornito in questo codelab era un'email. Dopo la configurazione, dovresti ricevere alcun avviso (non ci saranno interruzioni), ma in questo caso la notifica sarà simile alla seguente:

43217b0a145c2cd.png

Nota che la notifica di avviso fornisce il valore osservato che supera la soglia specificata, nonché un timestamp che indica quando l'incidente è iniziato per la prima volta.

Monitoraggio degli incidenti

Quando si verificano incidenti, verranno conteggiati anche nella sezione degli incidenti della pagina Avvisi.

fdd883a9604ed981.png

Puoi fare clic sull'incidente specifico per vedere i dettagli dell'interruzione, ad esempio la durata o la gravità.

Ricorda che, quando ricevi gli avvisi, il primo passo migliore è dare un'occhiata alle metriche, quindi cercare nei log gli errori che contribuiscono all'interruzione del servizio. Puoi avere un ripasso su come farlo nel nostro codelab sul debug della smart home.

6. Complimenti

17d485868a6771bc.png

Complimenti! Hai imparato a configurare gli avvisi utilizzando le metriche fornite al tuo progetto per monitorare le interruzioni in modo automatico e ricevere notifiche durante le interruzioni del servizio.

Passaggi successivi

Partendo da questo codelab, prova gli esercizi seguenti ed esplora risorse aggiuntive:

  • Puoi combinare ciò che hai imparato in questo codelab con altre metriche fornite al tuo progetto. Puoi visualizzare l'elenco completo delle metriche disponibili nella sezione Metriche supportate della pagina Monitoring.
  • Esplora altri tipi di canali di notifica per gli avvisi descritti nella pagina Opzioni di notifica della documentazione della piattaforma Google Cloud.