2010-05-23 16 views
5

Abbiamo un server Web sul quale stiamo per lanciare un numero di applicazioni. Condivideranno tutti database e server memcached, ma ogni applicazione ha il proprio database mySQL e tutte le chiavi memcached per applicazione, è preceduta dal prefisso.Monitoraggio/gestione degli errori sui server Web

Possibile scenario:

Se un server memcached nel nostro gruppo va boom, noi vogliamo qualcuno (sistema operativo admin) da contattare automaticamente notifica push e-mail/iPhone o in qualsiasi altro modo appropriato.

Se stiamo installando 150 applicazioni identiche per i nostri clienti sui nostri server e un server memcached muore, tutte le 150 applicazioni lo scopriranno individualmente e contattano il nostro amministratore di sistema, che sicuramente penserà a ottenere un nuovo lavoro dove non si sta per essere svegliato ricevendo 150 messaggi inviati 4:15 di mattina.

Possibile soluzione:

Un'idea è quella di configurare un server esterno per la gestione degli errori che riceve una richiesta di $ _POST o cURL inviato, e gestisce lo stoccaggio del messaggio di errore a seconda della gravità del messaggio di errore effettivo. Sarebbe naturalmente controllare dopo aver ricevuto la chiamata di errore, che se lo stesso server memcached sono già stati segnalati come non in linea, non ci sarebbe alcun bisogno di spammare l'amministratore di sistema con ulteriori solleciti ...

Le domande:

  • Qual è un buon approccio su come gestire gli errori?
  • Come gestiscono i grandi del settore?

Grazie!

+0

La taglia è attiva! – Industrial

risposta

3

È possibile utilizzare un framework di monitoraggio open source come Hyperic in modo da non dover reinventare la ruota.

Hyperic è in grado di monitorare molti aspetti del sistema fuori dalla scatola ed è abbastanza semplice collegare nuovi punti di monitoraggio. Fornisce avvisi basati su regole e puoi configurare quali tipi di avvisi sono una tantum fino a quando non si ripristinano e una volta ogni volta che succede.

Non l'ho usato per monitorare un'applicazione PHP (anche se presumo che sia possibile), ma l'ho usato con molto successo per monitorare un'app java e il DB MySQL associato.

+0

Hyperic sembra super dolce. Lo controlleremo sicuramente! – Industrial

+0

Grazie per il suggerimento, Eric. Hyperic è attivo e funzionante ora :) Grazie mille! – Industrial

+1

@Industrial: sono contento che abbia funzionato per te. Lo usiamo in produzione da circa 18 mesi e siamo abbastanza felici. –

2

Bene, penso che il problema sia risolto al di fuori dell'applicazione.

Si desidera monitorare server e servizi fisici e software. Consiglierei qualcosa come http://www.nagios.org/ o http://www.opennms.org/. Impostalo per guardare ogni server memcached, server mysql, apache, ecc. E inviare notifiche sul cambio di stato (basso, basso, recupero, ecc.)

Problemi correlati