Best practice per la visualizzazione di dati in tempo reale sul server di sviluppo?

StackOverflow https://stackoverflow.com/questions/272798

  •  07-07-2019
  •  | 
  •  

Domanda

Presupposto: l'app Web live / di produzione elimina gli errori mostrati agli utenti finali.

Supponiamo che il tuo team di supporto tecnico voglia vedere i dati in tempo reale ma attraverso gli occhi del lato di sviluppo dell'applicazione (forse vuoi vedere quali errori si verificano o vuoi vedere quando hai risolto un problema usando un dati dell'utente finale).

In questo momento abbiamo un database che serve sia gli sviluppatori che i live box (non la mia idea - so che è disgustoso).

idee?

Modifica : gli strumenti migliori / utili per implementare il tuo suggerimento?

È stato utile?

Soluzione

Replichiamo i dati in un altro database. Sì, c'è un ritardo, ma mantiene le persone fuori dai server di produzione. Questo ci consente anche di & Quot; nascondere & Quot; informazioni che il supporto tecnico (e altre persone per quella materia) non dovrebbero vedere.

Altri suggerimenti

Oltre a replicare i dati, in fase di produzione, vediamo chi ha effettuato l'accesso all'applicazione e, se è un membro dell'azienda, li invia alla pagina di errore reale rispetto al gattino felice che gioca con un gomitolo di scuse.

Esegui regolarmente il backup e il ripristino da live a dev (una volta, due volte al giorno). Non è necessario che sia in tempo reale (dato che potresti comunque inserire dati dal lato sviluppo, il che potrebbe causare problemi).

Se disponi di dati PCI o HIPAA, assicurati di non inserirli nel tuo ambiente di sviluppo - ciò potrebbe infrangere le leggi.

In genere mi piace avere un sistema a 3 livelli per lo sviluppo web:
sviluppo
test
Chat

Il più delle volte il test è una copia esatta del sistema live, tranne per il fatto che gli errori vengono attivati, quando una nuova versione sta per essere spostata dal vivo viene sostituita con la nuova versione PRIMA del live, per rilevare i problemi di aggiornamento.

Lo sviluppo è completamente separato da live, per consentire importanti cambiamenti a cose come il database o l'ambiente di produzione.

In primo luogo, farei degli errori o sono inviato per e-mail a qualcuno con i dettagli su come l'utente è arrivato lì o almeno registrato in modo da poter guardare il registro degli errori mentre si eseguono azioni simili per vedere se si ottengono gli stessi messaggi nel registro.

/ p>

E sì, la copia del database sul server / sito dev è probabilmente l'unica opzione. Non vuoi che le modifiche apportate dal team di sviluppo vivano dati e probabilmente avrai anche modifiche che non funzioneranno con il database di produzione ad un certo punto.

Non consiglierei di fare una copia notturna perché uno sviluppatore potrebbe trovarsi nel mezzo di alcune nuove funzionalità in cui hanno aggiunto dati e poi cancellato quella notte. Di solito copio i database di produzione per lo sviluppo ogni volta che viene rilasciata una versione principale. Ciò mi consente anche di eseguire test di velocità con molti dati in tempo reale. Su alcuni sistemi cambio anche la password di tutti su un valore predefinito in modo da poter accedere facilmente come qualsiasi utente.

Se la configurazione lo consente:

a. Aggiungi una funzione di registrazione (se non ce n'è già una) per scrivere messaggi di interesse in un file di registro.

b. Esegui il comando unix

tail -f < logfile.txt

che eseguirà lo streaming del file di registro crescente sulla tua console.

http://www.monkey.org/cgi-bin/man2html?tail

Se hai Windows, puoi provare questo:

http://tailforwin32.sourceforge.net/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top