Как использовать журналы ошибок для устранения проблемы пользователя?

Один из пользователей моего форума Discourse в Бельгии жалуется, что наш сайт реагирует на клики слишком медленно. Я нахожусь в Калифорнии. От остальных пользователей, которые пока находятся в Миннесоте, Германии и Нидерландах, жалоб не поступало. Пользовательница, о которой идёт речь, сообщает, что использует Chrome под Windows. Её скорости загрузки и выгрузки при тестировании через speedof.me примерно такие же, как и у меня.

Если я перехожу по адресу https://discourse.MY_DOMAIN.com/logs/, то вижу, что последняя запись помечена временной меткой всего за несколько минут до отправки ею письма. Во вкладке «info» указано:

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/

Вкладка «backtrace» пуста. Во вкладке «env» указано:

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/

Как мне использовать эту информацию или что ещё следует сделать, чтобы разобраться в проблеме, о которой она сообщает?

Спасибо.

Если проблема у одного пользователя, то, скорее всего, это либо локальная проблема на стороне клиента, либо связана с сетью.

  • Где размещён ваш сайт?
  • Используете ли вы CloudFlare?
  • Проверили ли вы, использует ли она VPN или что-либо ещё, что влияет на её маршрут до вашего сервера? Трассировка (traceroute) может помочь в этом.

Спасибо за ваш ответ.

  • Сайт размещён на AWS, а не на CloudFlare.
  • Пользователь очень далёк от технологий, поэтому я сомневаюсь, что она использует VPN, но я могу уточнить. Я попросил её войти в безопасный режим и сообщить, улучшит ли это что-либо, но она ещё не ответила (сейчас в Европе уже поздно).
  • Можете ли вы порекомендовать или предоставить ссылку на трассировку для Discourse?

Traceroute — это утилита командной строки, которая присутствует на macOS (traceroute) и Windows (tracert). Она показывает сетевой маршрут от компьютера пользователя до вашего сервера, по каждому узлу. Мне не известны хорошие браузерные альтернативы; большинство из них показывают маршрут от сервера, а не от клиента.

Вы также можете попросить скриншот браузера, чтобы проверить, не установлены ли какие-либо подозрительные расширения.

Исключили ли вы проблемы с локальным программным обеспечением безопасности? Я иногда сталкивался с расширениями антивирусов для браузера, которые проксируют трафик и могут вызывать проблемы.

Ага. То есть я могу подключиться по SSH к нашему серверу с Discourse, вижу, что traceroute не установлен, могу выполнить apt install traceroute (установится версия 2.1.0), а затем запустить traceroute ЕЁ_ВИДИМЫЙ_IP_АДРЕС_ИЗ_ЛОГОВ_DISCOURSE?

Если я это сделаю, вывод будет следующим.

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

Самая длинная задержка — на последнем шаге, 94 миллисекунды, что кажется вполне приемлемым. Не указывает ли это на то, что маршрут от нашего сервера Discourse в Северной Калифорнии до её компьютера в Бельгии выглядит вполне исправным? Был ли лог Discourse в моём первоначальном сообщении выше, помимо получения её видимого IP-адреса, в остальном лишён какой-либо ценной информации?

Вам нужно, чтобы она выполнила трассировку маршрута до вас, так как маршрут, по которому она выходит через своего провайдера, не обязательно совпадает с маршрутом, по которому ваш сервер достигает её сети.

Проблема возникла недавно? Сегодня произошло крупное сбой у Level3/CenturyLink, который точно затронул некоторые трансатлантические маршруты.

Спасибо за ваши последовательные ответы.

Мой пользователь, работающий в ночную смену, сообщил, что вход через безопасный режим Discourse решил её проблему. Я уже попросил её помочь определить, какой именно из трёх чекбоксов безопасного режима оказался полезным.

Мои трудности продолжают заключаться в разнице часовых поясов, языковом барьере и различии в уровне комфорта с технологиями. Я обновлю эту тему, если/когда узнаю что-то новое.

Также спасибо за соответствующую новостную статью. Это был её первый раз использования нашего Discourse, поэтому теперь я также задаюсь вопросом, могла ли эта неполадка иметь к этому отношение.