Sono venuto qui sperando di trovare una diagnosi passo passo per quando un sito Discourse si trova in una condizione 502 Bad Gateway. Sembra che le uniche opzioni siano del tipo:
L’aggiornamento di Discourse potrebbe essere fallito, usa ./launcher rebuild app.
Aggiorna e riavvia il server.
Queste sono il tipo di risposte che otteniamo da un tecnico di supporto di livello 1, o da un bot email.
Cos’altro possiamo fare per esaminare i log e vedere esattamente perché l’ambiente è morto? Con queste informazioni potremmo imparare come prevenire il problema in futuro.
Ad esempio, sarebbe appropriato creare uno script cron per eseguire periodicamente un ping a Discourse e, se la risposta è un codice di ritorno 502 o simile, ricostruire automaticamente?
La ricostruzione sembra anche un modo piuttosto brutale per risolvere un problema. Non è una diagnosi.
Spero davvero che qualcuno possa indicarci un documento popolare “Diagnosi dei problemi di Discourse” che noi “dummies” ci siamo persi.
Leggendo molti post qui, tipicamente gli amministratori del forum non sono la causa dei 502, e si tratta di un errore di plugin/core. Quindi non ci sarebbe molto che tu possa fare per evitare questi problemi.
I log della console aiutano sempre, possono individuare il plugin problematico molte volte.
Posso aprire la console su questo VPS ma la finestra di testo è limitata.
Ci sono log specifici che possono essere controllati nel container o nel sistema operativo?
Esiste già una qualche forma di processo di ping nel sistema operativo host o nel container che rileva quando i processi sono inattivi?
Un semplice riavvio del server all’interno del container potrebbe essere un buon modo per affrontare questo problema piuttosto che una ricostruzione completa?
A proposito, sto eseguendo l’ultima versione beta/dev, quindi è del tutto possibile che un aggiornamento recente abbia messo fuori servizio il server, come abbiamo visto in passato. Al momento non ricordo se ci siano plugin non predefiniti installati.
Ho la libertà di aiutare con la diagnostica di questo problema senza che la nostra community si arrabbi, anche se entro alcuni mesi dovremo passare a versioni più stabili solo per mettere a proprio agio i nostri utenti. Quindi, se si tratta di qualcosa nella build, sono felice di aiutare a trovarlo.
Disco utilizzato <50%.
La RAM tende a rimanere nell’intervallo 80-90%, Swap <40%. Suppongo che sia qui che si verifichi il problema.
I log si trovano in /var/discourse/shared/standalone/log/rails.
production.log e i file gzip correlati contengono molti dettagli sulle transazioni. Cosa potrei cercare?
Non ci sono voci in production_error.log.
“Frequentemente”? No. Ma abbastanza spesso da essere leggermente fastidioso e indurmi a scrivere qui.
Ho esaminato syslog e non ho visto nulla - non sono sicuro che ci sarebbe qualcosa lì se il problema fosse limitato al container, come dovrebbe essere.
Sono un principiante di Docker, quindi mi dispiace di non avere informazioni dal container, ma sarò felice di fare ciò che mi verrà indicato.
Penso che quasi tutti i thread qui sugli errori 502 si verifichino quando Discourse è stato aggiornato e non è tornato in vita. L’aggiornamento è fallito, o l’amministratore non ha aspettato abbastanza a lungo che il servizio si avviasse.
Stai dicendo che hai un Discourse funzionante, non intraprendi alcuna azione amministrativa, ma inizia a restituire 502 spontaneamente?
E quando lo fa, restituisce sempre 502 fino al riavvio o funziona di nuovo in modo intermittente?