1. Prima di iniziare
Come abbiamo spiegato nel codelab Debug della smart home, pubblichiamo metriche e log nei tuoi progetti per la smart home. Le metriche ti aiutano a determinare dove si verificano problemi con la tua Azione per la smart home, mentre i log sono utili per approfondire la risoluzione di questi problemi.

Puoi configurare avvisi utilizzando le metriche fornite al tuo progetto per monitorare le interruzioni in modo automatico e ricevere notifiche durante le interruzioni del servizio. Stiamo pubblicando una metrica di confidenza per evidenziare le interruzioni del tuo progetto, che tratteremo in questo codelab insieme a tutti gli altri strumenti di avviso disponibili su Google Cloud.
Prerequisiti
- Avere un'integrazione Funziona con la smart home.
- Completa il codelab Debug della smart home.
Obiettivi didattici
- Come monitorare i problemi di prestazioni e le interruzioni del servizio nel tuo progetto.
- Come creare un avviso basato su una soglia e ricevere notifiche durante le interruzioni.
- Come utilizzare la metrica di confidenza fornita al tuo progetto per rilevare interruzioni.
2. Monitoraggio del rendimento
Il monitoraggio delle prestazioni è fondamentale per un'integrazione riuscita con l'ecosistema Google Home. Forniamo un insieme di strumenti di monitoraggio agli sviluppatori di smart home su Google Cloud. Puoi utilizzare questi strumenti per farti un'idea del rendimento del tuo progetto.
Accesso alle dashboard
Il primo passo per accedere ai tuoi dati è controllare le dashboard di Google Home. Per farlo, accedi alla console Google Cloud e vai a Operazioni > Monitoring > Dashboard. Vedrai che sono disponibili diverse dashboard e che quelle per la smart home hanno il prefisso Google Home Analytics.

Abbiamo creato dashboard individuali per rappresentare ogni tipo di integrazione. Le integrazioni cloud, locali 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 disponi di un'integrazione del tipo corrispondente, nonché di un progetto funzionante che soddisfi le richieste.
Quando apri uno di questi prospetti, la visualizzazione che ottieni è simile alla seguente:

Le dashboard contengono vari grafici che mostrano i dettagli delle richieste gestite dal tuo progetto. In ogni dashboard di integrazione, vedrai un grafico che mostra il numero totale di richieste gestite dal tuo progetto, un grafico che mostra il tasso di successo per quel tipo di integrazione e diversi grafici che mostrano i tipi e le caratteristiche dei dispositivi coinvolti.
Esistono tre grafici fondamentali per valutare il rendimento delle tue Azioni per la casa smart:

Durante le interruzioni, in genere si osservano tendenze al ribasso nella percentuale di successo e una tendenza al rialzo nel grafico di distribuzione 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 una tendenza al rialzo della latenza durante le interruzioni, che puoi vedere nei grafici della latenza delle richieste.
Tieni presente che la visualizzazione predefinita con i grafici che vedi nelle dashboard di Google Home Analytics è solo una visualizzazione che abbiamo creato per il tuo progetto utilizzando i dati delle metriche per la smart home. Puoi anche utilizzare Esplora metriche per creare grafici personalizzati a partire dalle stesse metriche sottostanti e salvarli nelle dashboard personalizzate.
Esplora metriche
Explorer delle metriche è uno strumento per visualizzare le sezioni trasversali del set di dati del tuo progetto. Lo strumento è accessibile in Google Cloud Console andando a Operations > Monitoring > Esplora metriche.
Google Cloud fornisce molte metriche diverse pronte all'uso, tra cui 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 facilmente cercate digitando "smarthome" nella casella di selezione delle metriche.

La ricerca di "smarthome" mostrerà tutte le metriche per la smart home che forniamo al tuo progetto. Puoi trovare informazioni dettagliate su ciascuna delle nostre metriche nelle pagine Monitoring e Logging della nostra documentazione.
Quando si tratta di monitorare il tuo progetto, la metrica più semplice da consultare è il Conteggio richieste (che è una metrica delta). Questa metrica registra una voce per ogni esecuzione della smart home avviata dagli utenti e registra campi come tipo di dispositivo, caratteristica, tipo di esecuzione coinvolto nell'esecuzione e il campo di stato che mostra il risultato.
Se selezioni questa metrica, viene visualizzata una schermata che mostra ogni bucket di dati in modo simile al seguente:

In sostanza, per ogni combinazione di etichette dei dati presente in questa metrica esiste un bucket che registra la variazione (delta) tra gli intervalli di tempo precedente e attuale. È possibile raggruppare o filtrare questi bucket per ottenere la visualizzazione dei dati che ti interessa. Inoltre, i dati vengono allineati negli intervalli di tempo selezionati con una funzione di allineamento (DELTA, MEDIA, MEDIANA, SOMMA). Se non è necessario diversamente, in genere utilizzerai l'allineamento delta con una metrica delta.
Puoi creare la maggior parte dei grafici disponibili nelle dashboard di Google Home Analytics utilizzando Esplora metriche e salvarli per accedervi in un secondo momento in una dashboard personalizzata. Per ottenere visualizzazioni più complesse, ad esempio un grafico del rapporto, devi utilizzare MQL (Monitoring Query Language).
3. Metriche di efficacia
Per monitorare l'efficacia dell'integrazione, puoi utilizzare la percentuale di successo che calcoliamo dalla metrica del conteggio delle richieste come indicatore di base oppure la confidenza di successo per un approccio più specializzato.
Percentuale di successo
Il tasso di successo viene calcolato per tutte le integrazioni dividendo il numero di richieste riuscite per il numero totale di richieste. Puoi accedervi dal grafico Tasso di completamento nella dashboard di Google Home Analytics.

Il grafico Tasso di completamento riuscito è molto utile per monitorare il rendimento del tuo progetto, ma non altrettanto quando crei dashboard personalizzate o configuri avvisi. Poiché il tasso di successo deriva dalla metrica del conteggio delle richieste e non è una metrica a sé stante, dovrai ricrearlo utilizzando MQL (Monitoring Query Language) in Esplora metriche per poterlo utilizzare con entrambe le funzionalità.
Inoltre, per monitorare le interruzioni delle prestazioni del tuo progetto, riteniamo sia necessario un approccio molto più specializzato. Per questo motivo, abbiamo creato la metrica di affidabilità, che cambia in base a quanto il tasso di completamento attuale si discosta dalle norme storiche.
Metrica di confidenza
Le interruzioni possono esistere in diverse forme e dimensioni per i progetti. Possono durare da diverse ore a pochi minuti, il che può rendere difficile la loro identificazione. A questo scopo, abbiamo creato una metrica di confidenza nel tuo progetto, che fornisce un valore normalizzato per prevedere l'affidabilità in base al rendimento passato. Puoi accedere alla metrica di affidabilità cercando smarthome in Metrics Explorer e selezionando Affidabilità esecuzione riuscita.

Quando l'integrazione della smart home ha un rendimento pari o superiore a quello storico (media di 7 giorni), questa metrica restituisce il valore massimo (1,0). Quando la percentuale di successo si discosta di più di un fattore di 4 deviazioni standard (calcolate anche su 7 giorni), questa metrica restituisce il valore minimo (0,0). Nei 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% della percentuale di successo.
Per tutti i casi intermedi, questa metrica fornisce valori compresi tra 1,0 (confidenza perfetta che non si è verificato un disservizio) e 0,0 (massima confidenza che si è verificato un disservizio).
Pertanto, quando imposti un avviso (come vedremo nella sezione successiva), ti consigliamo di utilizzare il valore 0,5 come soglia. Ciò corrisponderà a 2 deviazioni standard o a un calo del 5%, a seconda di quale sia il valore maggiore.
4. Configurazione degli avvisi
Il passaggio successivo consiste nell'utilizzare tutto ciò che hai appreso nella sezione precedente per configurare gli avvisi nel tuo progetto.
Creazione di un criterio di avviso
Gli avvisi automatici su Google Cloud vengono impostati tramite le policy di avviso. Puoi accedere ai criteri di avviso tramite il menu laterale, scheda Operazioni > Monitoraggio > Avvisi. Puoi creare una nuova policy di avviso selezionando l'opzione +CREA POLICY, che ti porterà alla schermata di creazione della policy di avviso:

La creazione di un criterio di avviso è composta da tre parti. Innanzitutto, devi determinare cosa vuoi monitorare aggiungendo una condizione. Se premi il pulsante AGGIUNGI CONDIZIONE, viene visualizzata una finestra simile a Esplora metriche, con alcuni controlli aggiuntivi per configurare la condizione:

Per il target, seleziona la metrica di affidabilità che abbiamo trattato nella sezione precedente. Assicurati che l'allineatore 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:

La condizione si attiva se: questa è la configurazione principale per determinare quando attivare gli avvisi. La selezione di Qualsiasi serie temporale viola 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, quindi impostiamo questa opzione su è inferiore a. 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 i risultati migliori quando questo valore è impostato su 0,5. Se vuoi ricevere avvisi più frequenti e notifiche per incidenti minori, puoi provare ad aumentare questo valore (max.1,0). Successivamente, se vuoi ricevere meno avvisi, solo per i problemi più gravi, puoi provare a diminuire questo valore (minimo 0,0).
Per: questa impostazione 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 per qualsiasi punto che superi la soglia. La nostra metrica di confidenza viene pubblicata ogni 15 minuti e prende in esame la percentuale di successo media in quel periodo.
Una volta completata l'aggiunta di una condizione, il passaggio successivo consiste nel selezionare il canale di notifica. Il metodo di notifica più semplice sono gli avvisi via email. Puoi scegliere un indirizzo email elencato nel menu a discesa Canali di notifica:

Se selezioni l'opzione Notifica alla chiusura dell'incidente, verrà inviata un'altra notifica una volta che l'incidente è stato contrassegnato come chiuso. In questo caso, devi selezionare anche una Durata chiusura automatica incidenti, che per impostazione predefinita è di 7 giorni.
Il passaggio finale consiste nell'assegnare un nome all'avviso e aggiungere la documentazione che vuoi includere nelle notifiche.

È consigliabile fornire la documentazione, soprattutto se non sei tu a ricevere l'avviso. L'aggiunta di passaggi come dove controllare durante un incidente e come eseguire la valutazione e il debug può essere utile durante un'interruzione. Se necessario, puoi consultare la nostra guida alla risoluzione dei problemi.
Una volta salvata, la policy di avviso verrà elencata nella sezione Norme della pagina Avvisi.

5. Mitigazione delle interruzioni
Una volta configurati gli avvisi, riceverai notifiche durante le interruzioni dai canali di notifica che hai fornito e verrà creato un incidente nella pagina Avvisi.
Ricezione di avvisi
Il canale di avviso che abbiamo fornito in questo codelab era un'email. Una volta impostato, speriamo che tu non riceva alcun avviso (nessuna interruzione), ma in caso contrario la notifica avrà il seguente aspetto:

Tieni presente che la notifica di avviso fornisce il valore osservato che supera la soglia specificata, nonché un timestamp che indica quando è iniziato l'incidente.
Incidenti di Monitoring
Man mano che si verificano, gli incidenti vengono conteggiati anche nella sezione Incidenti della pagina Avvisi.

Puoi fare clic sull'incidente specifico per visualizzare i dettagli relativi all'interruzione, ad esempio la durata o la gravità.
Ricorda che, quando ricevi avvisi, la prima cosa da fare è esaminare le metriche, quindi cercare gli errori che contribuiscono all'interruzione nei log. Puoi ripassare come fare nel nostro codelab Debug della smart home.
6. Complimenti

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 i seguenti esercizi ed esplora le 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 di Google Cloud.