Come usare i log degli errori per risolvere un problema dell'utente?

Un utente del mio Discourse in Belgio si lamenta che il sito risponde troppo lentamente ai click. Io mi trovo in California. Non ho ricevuto lamentele dagli altri utenti, che finora si trovano in Minnesota, Germania e Paesi Bassi. L’utente in questione mi dice che utilizza Chrome su Windows. Le sue velocità di download e upload risultano simili alle mie quando testate tramite speedof.me.

Se visito https://discourse.MY_DOMAIN.com/logs/, vedo che l’ultima voce è stata timestampata pochi minuti prima dell’invio della sua email. La scheda “info” riporta:

Uncaught [object Object]
Url: https://discourse.MY_DOMAIN.com/assets/ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js
Line: 1
Column: 268124
Window Location: https://discourse.MY_DOMAIN.com/

La scheda “backtrace” è vuota. La scheda “env” riporta:

hostname    MY_APP-app
process_id    780
application_version    ab0b0344048e7e7354615286486bf0508c7c2df6
HTTP_HOST    discourse.MY_DOMAIN.com
REQUEST_URI    /logs/report_js_error
REQUEST_METHOD    POST
HTTP_USER_AGENT    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36
HTTP_ACCEPT    */*
HTTP_REFERER    https://discourse.MY_DOMAIN.com/
HTTP_X_FORWARDED_FOR    IP_ADDRESS_IN_BELGIUM
HTTP_X_REAL_IP    IP_ADDRESS_IN_BELGIUM
time    4:25 am
params    
message    Uncaught [object Object]
url    https://discourse.MY_DOMAIN.com/assets/ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f78
line    1
column    268124
window_location    https://discourse.MY_DOMAIN.com/

Come posso utilizzare queste informazioni, o cosa altro dovrei fare, per risolvere il problema segnalato?

Grazie.

Se si tratta di un singolo utente, è probabile che si tratti di un problema locale del client o relativo alla rete.

  • Dove è ospitato il tuo sito?
  • Stai utilizzando CloudFlare?
  • Hai verificato se sta utilizzando una VPN o qualsiasi cosa che influisca sul suo percorso verso il tuo server? Un traceroute può aiutare in questo caso.

Grazie per la risposta.

  • Il sito è ospitato su AWS, non su CloudFlare.
  • L’utente non è molto esperta di tecnologia, quindi dubito che stia usando una VPN, ma potrei chiederle. Le ho chiesto di accedere in modalità provvisoria e di segnalare se questo migliora la situazione, ma non ha ancora risposto (in Europa è tardi).
  • Puoi consigliarmi o linkare uno strumento di traceroute per Discourse?

Traceroute è uno strumento da riga di comando presente su macOS (traceroute) e Windows (tracert). Mostra il percorso di rete dal computer dell’utente al tuo server, salto per salto. Non sono a conoscenza di valide alternative basate su browser; la maggior parte mostra il percorso dal server anziché dal client.

Potresti chiedere uno screenshot del browser per verificare se sono installate estensioni sospette.

Hai escluso la possibilità che sia un software di sicurezza locale? Ho occasionalmente visto estensioni antivirus per browser che fanno da proxy al traffico e possono causare problemi.

Ah. Quindi, posso fare SSH sulla nostra macchina Discourse, vedo che traceroute non è installato, eseguo apt install traceroute (installa la versione 2.1.0) e poi posso eseguire traceroute HER_APPARENT_IP_ADDRESS_FROM_DISCOURSE LOGS?

Se lo faccio, ottengo questo output.

traceroute to 84.196.9.6 (84.196.9.6), 30 hops max, 60 byte packets
 1  * * *
 2  10.70.134.15 (10.70.134.15)  1.101 ms 10.70.134.35 (10.70.134.35)  1.079 ms 10.70.134.27 (10.70.134.27)  0.988 ms
 3  138.197.251.92 (138.197.251.92)  1.323 ms 138.197.251.94 (138.197.251.94)  1.628 ms 138.197.251.124 (138.197.251.124)  1.206 ms
 4  138.197.251.110 (138.197.251.110)  1.079 ms  1.071 ms 138.197.251.114 (138.197.251.114)  1.056 ms
 5  138.197.244.17 (138.197.244.17)  1.247 ms  1.251 ms 138.197.244.19 (138.197.244.19)  1.112 ms
 6  nyk-b3-link.telia.net (62.115.45.5)  1.866 ms  1.383 ms nyk-b3-link.telia.net (62.115.45.9)  1.331 ms
 7  * * *
 8  ldn-bb3-link.telia.net (62.115.113.21)  82.665 ms  82.486 ms  82.459 ms
 9  adm-bb4-link.telia.net (62.115.134.26)  78.418 ms adm-bb3-link.telia.net (62.115.113.210)  82.951 ms  83.025 ms
10  brx-b3-link.telia.net (62.115.116.191)  82.894 ms brx-b4-link.telia.net (62.115.116.231)  78.732 ms  78.321 ms
11  be-dgb01a-rb1-ae-20-0.aorta.net (213.46.162.13)  82.955 ms  82.970 ms be-zav01a-rb1-ae-21-0.aorta.net (213.46.162.6)  87.143 ms
12  * * *
13  * * *
14  * * *
15  * d54C40906.access.telenet.be (84.196.9.6)  94.362 ms  93.255 ms

Il salto più lungo è l’ultimo, 94 millisecondi, che sembra ragionevole. Questo indicherebbe che il percorso dalla nostra macchina Discourse nel nord della California al suo computer in Belgio dovrebbe essere perfettamente funzionante? Il log di Discourse nel mio post originale sopra era privo di qualsiasi altra informazione utile, oltre a fornire il suo apparente indirizzo IP?

Avresti bisogno che lei esegua un traceroute verso di te; il percorso che segue in uscita dal suo provider non è necessariamente lo stesso che il tuo server impiegherebbe per raggiungere la sua rete.

Il problema è recente? Oggi c’è stato un grande interruzione di Level3/CenturyLink che ha sicuramente colpito alcune rotte transatlantiche.

Grazie per i tuoi continui interventi.

La mia utente ha riferito che, durante la notte, l’accesso in modalità sicura di Discourse ha risolto il suo problema. Le ho chiesto se può aiutarmi a capire quale delle tre caselle di controllo della modalità sicura sia quella che risolve effettivamente il problema.

Le mie difficoltà continuano a essere la differenza di fuso orario, la differenza linguistica e la diversa familiarità con la tecnologia. Aggiungerò aggiornamenti a questo thread se e quando avrò maggiori informazioni.

Grazie anche per l’articolo di notizie pertinente. Questa era la prima volta che la mia utente utilizzava il nostro Discourse, quindi ora mi chiedo anche se quell’interruzione possa essere rilevante.