Привет всем.
Сервис на Laravel, состоящий из связки docker-compose (nginx + php-fpm 7.1.2) поднятый на t2.medium(два ядра), висящий под LoadBalancer (AWS) + AutoScaling (AWS) вызывается через cron в 5 часов утра. Работа скрипта длится примерно полтора часа.
Проблема: во время работы скрипта, минут через 5, AWS показывает сервис как unhealthy - при вызове сервиса (по айпи), nginx кидает 502.
docker logs web_container
выдаёт
*AWESOME_IP*- - [02/Mar/2018:05:05:26 +0000] "GET / HTTP/1.1" 499 0 "-" "ELB-HealthChecker/2.0" "-"
AWS проверяет раз в минуту.
Т.е. по логам, через 5 минут после запуска cron начинаются 499. Параллельно, даже ночью, несколько точек связываются ежеминутно с сервисом. Cron проходит успешно.
Локально проблемы такой не наблюдалось, естественно без HealthChecker и доп. вызовов с точек.
Оба контейнера пингуются между собой, по отдельности оба реагируют, nginx кидает ошибки, а php container позволяет вызывать функции laravel (php artisan tinker etc..), работать с контроллерами и базой.
Подорожник на коленку: рестарт app-Container (php).
Подскажите как и где копать, что-бы найти и пофиксить проблему?
Конечно же, как план на будущее, вытянуть рутину cron в отдельный сервис, который запускается только для этой цели, но пока к сожалению на это времени нет, да и проблему понять хочется.
Большое спасибо!
UPDATE
такс, я копал дальше,
нашёл статейку
по ней сделал запрос, живой контейнер, отдаёт сразу ответ
Primary script unknown
Status: 404 Not Found
X-Powered-By: PHP/7.1.14
Content-type: text/html; charset=UTF-8
File not found.
а дохлый не отдаёт вообще ничего - висит, через 2-3 минуты сбрасывает.
Так-что проблема напрямую связана с php-fpm ибо сам php пашет, а вот запросы обработать не может. Поэтому удаляю тэг docker.
Подскажите куда копать дальше?
Логинг php-fpm был отключен, сейчас включил, самому воссоздать ошибку не получилось, буду смотреть и ждать зависа...UPDATE 5.03
Сервак опять "упал", а в лог не написал...