Что это значит

Сообщение отличается от «Сервер недоступен»: связь с сервером есть, запрос до него дошёл, но при выполнении произошло исключение, и сервер ответил кодом 500. Само сообщение причину не называет. Она записана в журнале веб-сервера RX на то же время.

Обычно ошибка привязана к конкретному действию: открыть определённую карточку, сохранить документ, выполнить задание. Если она появляется у всех и на любом действии, значит, недоступно что-то общее: база, брокер очередей, хранилище.

Как проверить

  1. Записать точное время, пользователя и действие. Без этого искать в журналах долго.
  2. В браузере открыть инструменты разработчика, вкладку «Сеть», повторить действие и посмотреть, какой запрос вернул 500. Его адрес подскажет, какая операция упала.
  3. В журнале веб-сервера RX найти запись уровня Error на это время для этого пользователя и прочитать исключение целиком, вместе со стеком вызовов.
  4. По месту падения определить, чья это зона: - исключение в прикладном модуле, в стеке пространства имён вашего решения (например, NullReferenceException в обработчике): разбираются разработчики решения; - ошибка базы (could not execute query, обрыв чтения, таймаут): разбирается администратор СУБД, см. could not execute query и Exception while reading from stream; - брокер сообщений (Already closed), блокировка записи (Не удалось установить блокировку) или несовпадение сборок после публикации (Method not found in type): у каждой из этих ошибок свой разбор в справочнике.

Что сделать

  1. Чинить по найденному исключению. Текст на экране одинаковый у десятков разных причин.
  2. Если в журнале ничего нет, проверить, что журнал пишется и уровень логирования не поднят до Fatal. Если журналы собираются централизованно, искать там по времени и имени пользователя, см. Логи RX.
  3. Если ошибка массовая и началась после публикации или обновления, первым делом сравнить с тем, что менялось, и при необходимости откатить, см. Обновление RX с планом отката.
  4. Вендору или разработчикам отдавать время, пользователя, действие и полный текст исключения. Фраза «внутренняя ошибка сервера» без этого ничего не говорит.