Quali sono i modi migliori per monitorare un negozio dal vivo?


41

Prefazione: Vogliamo estendere il monitoraggio di uno dei nostri negozi online poiché il provider ha avuto problemi con la configurazione di PHP e alcune parti del negozio online dal vivo si sono bloccate (back-end e checkout non funzionanti). Non voglio discutere sul passaggio a un altro fornitore qui.

Dato che ora stiamo pensando alle possibilità di monitorare lo stesso negozio online e la disponibilità di alcune parti (come "La cassa funziona?"), La domanda è:

Quali strumenti e strategie suggerisci per monitorare un sito web dal vivo?

Qualche idea:

  • Verifichi automaticamente se il checkout funziona ancora su un sito web live?
  • Quali possono essere buoni parametri da monitorare per rilevare guasti? Ultimo ordine <1 giorno fa, ultimo accesso utente, ...
  • Utilizzo dei lavori cron: Verifica ad esempio la data / ora dell'ultimo ordine e se è passato troppo tempo, invia un'email e / o controlla manualmente se il checkout funziona ancora?
  • Utilizzando software / strumenti come Icinga, Uptime Robot, ...
  • Invio di e-mail di avviso agli amministratori, ...

In attesa di vostre risposte :)


1
Anche se questo sembra un po '"basato sull'opinione", sono davvero ansioso di vedere alcune risposte :).
Marius

Grazie @ Mario, so che è un po 'soggettivo, ma potrebbe essere interessante condividere comunque :)
Anna Völkl

Ottima domanda, mi chiedevo la stessa cosa! Grazie!
Wessel,

Risposte:


30

Ci sono un paio di cose che potresti fare automaticamente.

  1. Se alcune parti del negozio smettono di funzionare I test unitari sono un buon modo per rilevare se alcune funzionalità sono ancora funzionanti.
  2. Per testare il frontend uso phpQuery su un server remoto per cercare periodicamente determinati elementi DOM su determinate pagine chiave come 'ci sono ancora prodotti nell'elenco delle categorie', 'c'è un piè di pagina * sulla homepage', ecc.
  3. Imposta un semplice cronjob che esegue il ping del tuo host per vedere se è ancora disponibile
  4. Usa il feed RSS degli ordini nativi di Magento per verificare se gli ordini stanno ancora arrivando. Nei negozi ad alto traffico nessun ordine per un'ora di venerdì sera è un buon indicatore che c'è qualcosa di sbagliato :)
  5. Monitora il tuo fornitore di servizi di pagamento. Nei Paesi Bassi utilizziamo iDeal per gestire i pagamenti. Questo sito Web mostra i loro tempi di attività, la tua PSP potrebbe fornire un servizio simile

* se non c'è piè di pagina in una pagina che potrebbe indicare un errore PHP che interrompe il rendering.

Queste sono un paio di soluzioni che stiamo usando. Hanno solo bisogno di un po 'di tempo di installazione e sono liberi di funzionare.

Ottima domanda a proposito, non vedo davvero l'ora di tutte le risposte!


25

Mi collegherò alla fantastica risposta di Sander che segue, che presuppone che tu abbia installato e utilizzato un servizio di monitoraggio come Pingdom *:

  • Guarda il contenuto della pagina; di solito il </html>tag di chiusura . Ho visto così tanti before_body_endscript fallire con terze parti (eccezioni non rilevate, ecc.) Che sono invisibili agli utenti finali ma restituiscono lo stato 500 - molto male per SEO / Google / Strumenti per i Webmaster
  • Imposta Strumenti per i Webmaster per avvisarti quando gli errori aumentano oltre una determinata soglia
  • Imposta avvisi per SSL non valido sulla pagina
  • Imposta avvisi per errori javascript nella pagina
  • Utilizza i gruppi di email / ccn per email di pagamento non riuscite, segnalazioni di errori.
  • Entra in contatto con le persone del tuo call center e assicurati che sappiano come risolvere i problemi delle schermate: di solito sono i primi a sottolineare quando le cose vanno male.
  • Un sito lento è cattivo come un sito inattivo. Assicurati che i tuoi avvisi siano sensibili su quando il tuo sito impiega più tempo a caricare del solito.
  • Iscriviti ai feed di Twitter per tutti i servizi chiave di terze parti / ospitati. Gli host più grandi di solito hanno trigger di Twitter per quando ci sono problemi. Puoi configurare Twitter per inviarti e-mail / SMS quando vengono pubblicati determinati account.

Devops:

  • Configurare Nagios per il monitoraggio dei sistemi critici e l'invio di avvisi
  • Configurare un syslog o Splunk (gratuito fino a un determinato numero di query / giorno) per aggregare i registri e inviare avvisi in base ai dati del registro
  • Configura un controllo di routine, programmato con il tuo dispositivo di rete. Ho visto (in più di un'occasione) schede di rete tornare indietro e passare da 1 GB a 10 MB a nostra insaputa.

Per i team più grandi:

  • Imposta un server CI (Travis, Jenkins / Hudson, Capistrano) per avvisarti di potenziali test falliti dopo il commit.
  • Imposta hook pre-commit nel controllo del codice sorgente per applicare gli standard del codice o per verificare la presenza di problemi palesi come il codice non funzionante
  • Come ha detto Sander, imposta qualcosa per monitorare i feed RSS per gli ordini e il volume in base all'ora del giorno - un vantaggio qui è che non è memorizzato nella cache e in genere se imposti la soglia di notifica abbastanza in basso un potenziale problema risolverà immediatamente
  • Usa il selenio. UN SACCO. Esegui test con script che eseguono il processo di verifica ogni ora o due.
  • Imposta promemoria del calendario e avvisi specifici per la scadenza SSL

Genererai MOLTI dati e potenzialmente falsi positivi; non diventare immune agli avvisi.


Non sono affiliato con Pingdom. Adoro il loro prodotto (gratuito).


8

Se hai solo problemi con il tuo hoster e non con il pagamento, puoi pensare alla configurazione di un prodotto, che è nascosto, scrivere un test di selenio metterlo nel carrello aggiungere un coupon per renderlo gratuito e quindi passare alla cassa.


1
bello, mi piace l'idea nascosta del prodotto gratuito :-)
Anna Völkl

5

Ci sono già alcune ottime risposte qui, a seconda della configurazione. Uso NewRelic per monitorare le statistiche del server e delle transazioni, nonché per impostare le transazioni chiave per ogni fase del processo di pagamento. In questo modo, posso guardare un singolo schermo sul mio telefono e determinare se stiamo ancora ricevendo la quantità appropriata di persone che effettuano il check-out durante l'intero processo e se stanno ottenendo tempi di risposta adeguati. Se vedo un sacco di throughput su tutto fino all'ultimo passaggio, so che PayPal è probabilmente rotto in quanto nessuno è in grado di elaborare le proprie carte. Ricevo anche avvisi se ci sono molti errori, i tempi di risposta sono disattivati, ecc. Non è strettamente necessario NewRelic per farlo, ma è molto semplice e veloce da impostare e non ho avuto il tempo di costruire il mio cruscotto / app / sistema di allarme.


1
Sono d'accordo con te sul fatto che NewRelic funziona come un incantesimo. Vorrei anche aggiungere che l'utilizzo di un servizio come Pingdom è una buona opzione anche per monitorare l'accessibilità del server.
Eirik,

5

Mi piace NewRelic e PagerDuty per questo, sono semplicemente perfetti e ti avvisano (e-mail, sms e chiamate) in un minuto se il tuo sito o qualsiasi parte del tuo sito è inattivo. Notifica anche se la CPU o la memoria supera la percentuale di utilizzo specificata, rendendo il sito non rispondente.

  • Imposta New Relic con tutte le pagine che desideri monitorare e monitorare la frequenza. Esempio: Pagina iniziale, 1 pagina categoria, 1 pagina prodotto, pagina carrello, pagina di pagamento, ecc.
  • Aggiungi utenti (che ricevono tutti le notifiche), pianificazioni (giorno e ora in cui preferisci ricevere notifiche), servizi (avvisi Nuova reliquia) e criteri di escalation sugli avvisi PagerDuty e i tipi di notifiche che desideri (e-mail, SMS, chiamate)

https://www.pagerduty.com/docs/guides/new-relic-integration-guide/

Dichiarazione di non responsabilità: non sono affiliato con nessuno dei servizi di cui sopra.



3
  • Munin sul lato provider per ottenere valori storici per tutti i server (LB, App, DB, Redis, ecc.) E tutti i servizi (memoria, caricamento, io ecc.)
  • Nagios / Icinga su provider o lato locale per un carico di monitoraggio quasi live su tutti i server
  • Pingdom raccoglie i tempi di risposta per gli URL "importanti" come prima pagina, checkout ecc.
  • Pingdom per il vero monitoraggio degli utenti, ottieni un valore simile a APDEX e vedi lo sviluppo storico
  • Pingdom per controllare gli URL e il loro contenuto corretto
  • Rapporti con gli ultimi X ordini in modalità di ricarica automatica. Con esso posso vedere possibili pause
  • Test automatizzati con selenio su un sistema di palcoscenico identico. Non sono un amico di checkout automatici sul mio sistema live. Avrai problemi con la tua contabilità più tardi :)
  • Zapier e Twilio per Email2SMS. Gli errori critici vengono inviati come SMS a un telefono
  • freeboard.io e dweet.io per visualizzare tutto su una bella dashboard.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.