Questo tutorial mostra come configurare un avviso di uptime per l'app Python Hello World in esecuzione nell'ambiente flessibile di App Engine utilizzando Cloud Monitoring. Gli avvisi di uptime ti informano quando la tua app non gestisce il traffico. Puoi anche impostare avvisi di uptime per le app in esecuzione su Compute Engine o Google Kubernetes Engine (GKE).
Obiettivi
- Esegui un'app Hello World di base.
- Crea un controllo di uptime che monitori se l'app restituisce un codice di stato HTTP "200".
- Crea un avviso che ti invii un messaggio email quando il controllo di uptime non viene superato.
- Riavvia l'app per attivare l'avviso.
Costi
Al momento, il monitoraggio viene offerto agli utenti beta senza costi.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Clonazione dell'app di esempio
L'app di esempio è disponibile su GitHub all'indirizzo
GoogleCloudPlatform/getting-started-python.
Clona il repository.
git clone https://github.com/GoogleCloudPlatform/getting-started-python.gitVai alla directory di esempio.
cd getting-started-python/gcePoiché l'app restituisce solo "Hello World!", non richiede alcuna configurazione e puoi eseguirla immediatamente.
gcloud app deployPer visualizzare il messaggio restituito, inserisci il seguente URL nel browser:
https://PROJECT_ID.REGION_ID.r.appspot.comSostituisci quanto segue:
PROJECT_ID: il tuo ID progetto Google CloudREGION_ID: un codice assegnato da App Engine alla tua app
Creazione di un controllo di uptime
Dopo aver eseguito il deployment dell'app, puoi utilizzare Monitoring per creare un controllo di uptime. Il controllo pinga continuamente l'app di cui è stato eseguito il deployment per assicurarsi che restituisca una risposta integra.
-
Nella console Google Cloud , vai alla pagina
Controlli di uptime:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoring.
- Fai clic su Crea controllo di uptime.
Assegna un titolo al tuo controllo, ad esempio
Check Hello World, quindi fai clic su Avanti.Nella sezione Target, specifica cosa deve monitorare il controllo di uptime:
- Poiché hai eseguito il deployment in App Engine, modifica Tipo di risorsa in App Engine anziché URL. (L'URL serve per generare un URL personalizzato su un'istanza Compute Engine.)
- Seleziona il servizio da monitorare con il controllo di uptime.
- Lascia vuoto il campo Percorso per impostare come predefinita la pagina di indice principale.
- Lascia Frequenza di controllo sul valore predefinito di 1 minuto.
- Fai clic su Avanti.
Lascia invariati i valori predefiniti dei campi Convalida della risposta e fai clic su Avanti.
Nella sezione Avviso e notifica, specifica come ricevere le notifiche in caso di avviso:
- Assicurati che l'etichetta del pulsante di attivazione/disattivazione sia La generazione degli avvisi è abilitata.
- Lascia invariati i valori predefiniti dei campi Nome e Durata.
Per aggiungere un canale di notifica al criterio di avviso, nella casella di testo etichettata Canali di notifica, fai clic su Menu. Seleziona i canali da aggiungere e fai clic su Ok. Le notifiche sono raggruppate in ordine alfabetico per ogni tipo di canale.
Per aggiungere una voce all'elenco delle caselle di controllo, fai clic su Gestisci canali di notifica e segui le istruzioni. Quando torni a questa finestra di dialogo, fai clic su Aggiorna refresh.
Fai clic su Crea. Quando l'azione di creazione va a buon fine, viene visualizzato il messaggio Controllo e avviso creati e poi viene visualizzata la pagina della dashboard Controlli di uptime.
Il nuovo controllo di uptime viene visualizzato nella dashboard dei controlli di uptime. Se fai clic sul nome del controllo, si apre la visualizzazione dettagliata del controllo di uptime. Questa visualizzazione mostra diversi grafici, la percentuale di uptime e le informazioni di configurazione ed elenca i criteri di avviso configurati. Per visualizzare una policy, fai clic sul relativo nome.
Puoi anche visualizzare il criterio di avviso a partire dalla pagina Avvisi. Nella pagina Avvisi, il riquadro Policy elenca un sottoinsieme di policy. Per visualizzare un elenco di tutte le norme, fai clic su Visualizza tutte le norme.
Simulazione di un'interruzione del servizio
Ora che il controllo di uptime è stato creato, puoi simulare un'interruzione modificando
la tua app in modo che risponda con un errore HTTP 404 Sorry, we can't find that page
anziché con una risposta HTTP 200 OK.
Il seguente codice mostra dove l'app Hello World restituisce solo un messaggio "Hello World!" e che il codice di stato della risposta è impostato per impostazione predefinita su
200 OK. Per visualizzare questo codice nell'app Hello World, utilizza la funzione di visualizzazione.Per fare in modo che l'app Hello World restituisca un codice di errore HTTP
404, modifica la riga di ritorno aggiungendo un valore404alla seconda parte del valore restituito.return 'Hello World', 404
Esegui il deployment della nuova app intenzionalmente danneggiata.
gcloud app deploy
Entro mezz'ora riceverai un messaggio email che ti informa che il controllo dell'uptime non è riuscito.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Il modo più semplice per eliminare la fatturazione è eliminare il progetto creato per il tutorial.
Per eliminare il progetto:
- Nella console Google Cloud , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona quello che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.