venerdì 23 marzo 2012

Sono StillAlive (e così è il mio sito AppHarbor) - monitoraggio in loco effettuata impressionante

Come molti di voi sanno ormai, sono particolarmente affezionato AppHarbor . Continuano a fornire un totale impressionante integrato CI e l'ambiente di hosting, continuano ad offrire un mezzo per prendere il servizio up for free (così come di recente l'aggiunta di alcune offerte commerciali), e soprattutto a questo post, hanno ancora una grande selezione di very cool add-ons.
Uno di questi add-ons è StillAlive che è impressionante per due motivi: in primo luogo, è una società locale Aussie e in secondo luogo, fornisce in realtà un servizio molto prezioso, che sta per aiutarmi a risolvere un problema con la niggling ASafaWeb in esecuzione su AppHarbor.

E 'rotto - e io sono l'ultimo a sapere

Mi sono alzato ieri mattina e controllato le statistiche di scansioni eseguite su ASafaWeb.Tutto era buono fino alle 3 e poi .... nulla. Non correvano più scansioni. Questa è una relazione che è riuscito a caricare attraverso l'interfaccia di amministrazione in modo così chiaro il sito stesso ha lavorato bene. Il problema è, ad ogni scansione portato a questo:
ASafaWeb errore generico
Ora, il design, questo è un messaggio di errore particolarmente inutile, che non denuncia nulla del problema di fondo o possibile implementazione interna del codice. Non c'è da preoccuparsi, è per questo che abbiamo ELMAH - ma non c'era niente di nuovo nel registro ELMAH sia - in realtà non c'era nulla di nuovo ovunque .
Vedete, al fine di mantenere i miei costi giù (tutta la strada fino a $ 0), stavo facendo uso di AppHarbor di Yocto scala SQL condiviso SQL hosting:
AppHarbor di Yocto SQL
Che 20 MB si riempie abbastanza veloce, una volta che si avvia la registrazione di eventi ELMAH grosso ad esso! Così era il problema e nessuno spazio a sinistra sul DB significava non scrive ha permesso la registrazione significato non potrebbe accadere significa analizza mai completato e reso sullo schermo. Bugger davvero.

Ci sono "Alive", e poi c'è "Alive"

Il mio sito era ancora in vita, almeno nella misura in cui si poteva caricare e per quanto riguarda qualsiasi tipo di monitoraggio uptime di base, come Pingdom si preoccuperebbe, tutto andava bene. Ma solo dimostrando che il servizio Web è in esecuzione non è sufficiente; devi avere fiducia che sia funzionante correttamente.
Questo ci porta alla value proposition di StillAlive . Ciò che questi ragazzi hanno fatto è stato creato un servizio che mette alla prova le azioni , piuttosto che il semplice invio di un impulso di controllare il sito web. Siamo in grado di assumere questo servizio, direttamente dal AppHarbor e rapidamente riempire alcuni dati del profilo che porta poi ad un cruscotto con i siti che stiamo attualmente monitorando:
I miei siti web StillAlive
Per gentile concessione di AppHarbor, il valore predefinito al sito ASafaWeb. Tirare fuori un po ', avere una buona visione di ciò che questo particolare sito è un test per:
Il sito ASafaWeb sul StillAlive
Quello che vediamo qui è un singolo script. Gli script sono i dadi e bulloni del servizio - sono quelli che in realtà fanno il lavoro. Quando guardiamo quello che sta accadendo all'interno di questo script, possiamo vedere che ogni quattro ore lo script verrà eseguito e notifica ad un massimo di quattro volte dopo aver fallito una volta:
Lo script predefinito StillAlive
Ecco dove cominciamo a raggiungere i limiti di un servizio gratuito; qualsiasi frequenza superiore a ogni 4 ore e abbiamo bisogno di dare un contributo in denaro.
Quindi fuori dalla scatola, StillAlive farà in modo che il mio sito restituisce un HTTP 200 "OK", che è, beh, solo ok - non è molto diverso rispetto a un ping (anche se almeno il server web deve essere l'elaborazione delle richieste) . Quello che voglio fare è prova che il mio database può essere scritto . Naturalmente StillAlive non può farlo da sola, ha bisogno di un endpoint su ASafaWeb da confrontare.
Oltre al codice di base ASafaWeb, drop in una tabella per contenere alcuni dati di prova, scrivere un po 'di accesso ai dati metodo per verificare che qualche migliaio di byte può essere scritto che quindi chiamare da un controller e solo tornare HTTP 200 o 500 a seconda del risultato. Lavoro. Tutto quello che dovete fare ora è aggiornare lo script StillAlive con il percorso aggiornato.
Per essere sicuri che tutto funziona bene, ho impostato il test fino a non riuscire poi aggiornato lo script per puntare la mia posizione di prova e ha colpito il "Test Now" nella prima immagine:
In mancanza di script StillAlive
Perfetto. Ripristinare il test sul sito ASafaWeb e lei è pronta a correre. C'è solo una cosa da fare - decidere come voglio essere notificati:
Impostazioni di notifica a StillAlive
Email da sola va bene per ora e un messaggio di prova simile a questa:
Un messaggio di prova StillAlive
E questo è tutto - lavoro fatto! Una volta che funziona per un po 'che effettivamente vediamo un pò di storia sensata cercando:
Storia dello script sul StillAlive
Questa è stata anche una demo piuttosto semplicistico. StillAlive ha un bellissimo video che illustra come creare uno script molto più intelligente che in realtà i dati pali e cerca i modelli particolari nel corpo della risposta.

Riassunto

Come ogni altro add-on che ho incontrato in AppHarbor, StillAlive era molto semplice da implementare e l'entry-level viene offerta gratuitamente. Lo script che ho creato in precedenza vi aiuterà a mantenere un occhio su quel database fastidioso e assicurarsi che il sito stesso è in realtà risponde (nessuna risposta HTTP 200 significa che non torneranno). E 'solo un altro piccolo pezzo nella corazza ASafaWeb.

Nessun commento:

Posta un commento