Назад | Перейти на главную страницу

Как узнать причину, по которой среда превращает здоровье в КРАСНЫЙ в Elastic Beanstalk?

я использую AWS Elastic Beanstalk, и очень часто при развертывании среды проверка работоспособности становится КРАСНОЙ, но я не могу найти объяснения, почему:

Нажав на Monitor мало помогает:

Есть ли способ получить более конкретную информацию о том, почему окружающая среда становится КРАСНОЙ?

Для информации: в моем EC2 есть работоспособный экземпляр для этой среды, я подключил его по SSH, и он действительно отвечает на HTTP-запросы, хотя при загрузке http://xxx.elasticbeanstalk.com/ из моего браузера время ожидания запроса истекло.

Это старый вопрос, но для людей, заходящих на этот сайт, вот обновление. Elastic Beanstalk недавно объявил о поддержке расширенного мониторинга работоспособности приложений.

https://aws.amazon.com/blogs/aws/elastic-beanstalk-update-enhanced-application-health-monitoring/

Теперь, наряду с цветом здоровья, вы также можете обнаружить «причины», которые являются описанием на английском языке причин изменения состояния окружающей среды.

Вы также можете прочитать об улучшенной отчетности о состоянии здоровья здесь: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/health-enhanced.html

AWS довольно бесполезен на экране здоровья, он показывает только на моем экране "серьезно", вот и все. Я тоже вижу это на главном экране, мне интересно, почему программисты Amazon любят создавать довольно бесполезные экраны. Если это происходит во время развертывания вашего кода, для этого есть одна причина: ваш экземпляр t1.micro или t2.micro выделил и поделился довольно небольшим объемом ресурсов. Похоже, что во время развертывания ресурсы недоступны. Если вы готовы платить, вы получите свои ресурсы.

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

Проверьте журналы доступа к серверу, чтобы узнать, какой beanstalk пытается попасть, и убедитесь, что вы отвечаете по этому адресу.

Elastic Beanstalk использует мониторинг работоспособности приложения, предоставляемый ELB, для обнаружения неисправных экземпляров, и это продолжается даже во время развертывания приложения. Если вашему приложению требуется много времени для запуска и развертывания, тогда ELB может обнаружить, что один или несколько экземпляров находятся в неработоспособном состоянии во время перезапуска, и Elastic Beanstalk изменит статус работоспособности на «желтый» или «красный».

Однако, если это основная причина, статус должен вскоре вернуться к «зеленому». Если индикатор работоспособности остается красным, возможно, в вашем приложении возникла другая проблема.

Для меня это оказалось потому, что:

  1. Мое приложение вернуло код 302 когда идете прямо к / и 200 если бы я пошел к чему-то вроде /index.html, а путь проверки работоспособности по умолчанию - /
  2. Балансировщик нагрузки искал только код 200.

Это могут быть такие детали. Поэтому я бы начал с проверки работоспособности балансировщика нагрузки и конкретного кода возврата, который вы получаете, или чего-то подобного простого.

Это именно то, в чем была моя проблема. В моем приложении пользователи, которые не вошли в систему, перенаправляются на страницу входа (302). Я отредактировал вкладку «Проверки работоспособности» в «Целевых группах» в разделе «БАЛАНСИРОВКА ЗАГРУЗКИ» для экземпляра EC2. Я добавил 302 к уже существующим 200 (через запятую). Теперь это работает.