Поиск причины сбоя приложения Spring Boot

Мое приложение Spring Boot перестало работать пару дней назад, и я пытаюсь понять, почему, чтобы предотвратить это в будущем. . Это происходит впервые, поэтому я не знаю, с чего начать. Перезагрузка сервера решила проблему.

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

  • Размещено на капле Digital Ocean.
  • Ubuntu 16.04, 1 ГБ ОЗУ, 25 ГБ SSD, 1 ядро.
  • HTTP-запросы попадают на отдельный сервер (такая же установка), на котором запущен Nginx, и передаются вышестоящему серверу, на котором запущено приложение Spring Boot. Во время сбоя все HTTP-запросы возвращают 502 и регистрируются Nginx в error.log как

2019/04/20 20:06:56 [ошибка] 14576 # 14576: * 1161160 connect () не удалось (111: соединение отклонено) при подключении к восходящему потоку, клиент: xx.xxx.x.xxx, сервер: api.example.com, запрос: "OPTIONS / oauth / token HTTP / 1.1 ", восходящий поток:" http://xx.xxx.xx.xxx:8080/oauth/token ", хост: "api.example.com", реферер: " https://example.com/login "

2019/04/20 20:06:56 [ошибка] 14576 # 14576: * 1161160 нет живые апстримы при подключении к восходящему потоку клиент: xx.xxx.x.xxx, сервер: api.example.com, запрос: "OPTIONS / oauth / token HTTP / 1.1", восходящий поток: « http: // server_upstream / oauth / token », хост: «api.example.com ", реферер: " https://example.com/login "

  • Мне удалось без проблем подключиться к серверу по SSH.
  • Я использую log4j2 для входа в приложение Spring Boot, но во время сбоя ничего не было зарегистрировано.
  • Отдельный cron на том же сервере, периодически извлекающий данные по HTTP, работал нормально во время сбоя.
  • Когда произошел сбой, объем используемой памяти сервера резко упал (85% -> 18%).
  • Я не могу найти никакой соответствующей информации в системном журнале.
  • Приложение Spring Boot запущено в systemd, и (я думаю) приложение Spring Boot все еще работало во время сбоя.

С чего начать поиск причины сбоя? Что я могу сделать, чтобы упростить отладку, если это повторится снова?

1
задан 23 April 2019 в 13:43
1 ответ

Похоже, ваш процесс Java не работает. Не могли бы вы предоставить дополнительную информацию:

  • команда запуска, если это systemd - служебный файл
  • последние журналы

Возможная причина - нехватка памяти, потому что 1 ГБ - это довольно маленький объем памяти для веб-приложения Java. Но это зависит от кода и параметров запуска.

0
ответ дан 23 December 2020 в 14:56

Теги

Похожие вопросы