Comment utiliser les journaux d'erreurs pour résoudre un problème utilisateur ?

Un utilisateur de mon Discourse en Belgique se plaint que notre site réagit trop lentement aux clics. Je suis en Californie. Je n’ai reçu aucune réclamation de la part de mes autres utilisateurs, qui se trouvent pour l’instant dans le Minnesota, en Allemagne et aux Pays-Bas. L’utilisatrice concernée m’indique qu’elle utilise Chrome sous Windows. Ses vitesses de téléchargement et d’envoi sont similaires aux miennes selon speedof.me.

Si je visite https://discourse.MY_DOMAIN.com/logs/, je constate que la dernière entrée est horodatée quelques minutes seulement avant l’envoi de son e-mail. L’onglet « info » affiche :

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/

L’onglet « backtrace » est vide. L’onglet « env » affiche :

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/

Comment puis-je exploiter ces informations, ou que devrais-je faire d’autre, pour résoudre ce problème signalé par l’utilisatrice ?

Merci.

S’il s’agit d’un seul utilisateur, le problème vient probablement de son client local ou du réseau.

  • Où votre site est-il hébergé ?
  • Utilisez-vous CloudFlare ?
  • Avez-vous vérifié si elle utilise un VPN ou tout autre outil qui affecte son chemin vers votre serveur ? Un traceroute peut aider dans ce cas.

Merci pour votre réponse.

  • Le site est hébergé sur AWS, pas sur CloudFlare.
  • L’utilisatrice n’est pas très à l’aise avec la technologie, donc je doute qu’elle utilise un VPN, mais je pourrais lui demander. Je lui ai demandé de se connecter en mode sans échec et de me dire si cela améliore quelque chose, mais elle n’a pas encore répondu (il est tard en Europe maintenant).
  • Pouvez-vous recommander ou fournir un lien vers un traceroute pour Discourse ?

Traceroute est un outil en ligne de commande, présent sur Mac (traceroute) et Windows (tracert). Il affiche le chemin réseau, saut par saut, entre l’ordinateur de l’utilisateur et votre serveur. Je ne connais pas d’alternatives fiables basées sur un navigateur ; la plupart affichent le chemin depuis le serveur plutôt que depuis le client.

Vous pourriez demander une capture d’écran du navigateur pour vérifier si des extensions étranges sont installées.

Avez-vous écarté la possibilité d’un logiciel de sécurité local ? J’ai parfois vu des extensions antivirus pour navigateur qui font office de proxy pour le trafic et peuvent causer des problèmes.

Ah. Donc, je peux me connecter en SSH à notre machine Discourse, je vois que traceroute n’est pas installé, je peux lancer apt install traceroute (installe la version 2.1.0), puis exécuter traceroute ADRESSE_IP_APPARENTE_DE_ELLE_DEPUIS_DISCOURSE ?

Si je le fais, voici la sortie :

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

Le saut le plus long est le dernier, à 94 millisecondes, ce qui semble raisonnable. Cela indiquerait-il que la route depuis notre machine Discourse en Californie du Nord jusqu’à son ordinateur en Belgique semble tout à fait correcte ? Le journal Discourse de mon message initial ci-dessus était-il autrement dépourvu de toute information utile, à part l’obtention de son adresse IP apparente ?

Il faudrait qu’elle effectue un traceroute vers vous, car le chemin qu’elle emprunte depuis son FAI n’est pas nécessairement le même que celui que votre serveur empruntera vers son réseau.

Le problème est-il récent ? Il y a eu une importante panne chez Level3/CenturyLink aujourd’hui qui a définitivement affecté certaines routes transatlantiques.

Merci pour vos réponses continues.

Mon utilisateur a signalé que la connexion en mode sécurisé de Discourse a résolu son problème. Je lui ai maintenant demandé si elle pouvait aider à identifier laquelle des trois cases à cocher du mode sécurisé est effectivement utile.

Mes défis persistent : la différence de fuseau horaire, la différence de langue et la différence de familiarité avec la technologie. Je mettrai à jour ce fil si et quand j’en saurai plus.

Merci également pour l’article d’actualité pertinent. C’était la première fois qu’elle utilisait notre Discourse, je me demande donc maintenant si cette panne pourrait être pertinente.