Как отследить причину ошибки upstream timed out в Nginx?
Есть сервер на ubuntu apache + nginx. На нем несколько сайтов и в последнее время каждый день сервер умирает с ошибкой "*46 upstream timed out (110: Connection timed out) while connecting to upstream". Особых изменений в код не было, но каждый из сайтов ежедневно обновляет информацию у себя, в файлах на сервере и т.п. Перезагрузка сервера помогает, но мне не хватает знаний, чтобы понять как выявить проблему - есть доступ к логам ошибок, доступа, но ничего необычного я там не вижу.
Посоветуйте здравый материал или методику для того, чтобы понять какой именно скрипт перегружает систему. Сайты объемные с множеством функций и даже если понять какой из них запускает пагубный процесс, то дальше будет опять непонятно как внутри именно этого сайта выявить ту самую функцию.
да, работает на php. лог ошибок php и смотрю, как я понимаю. лог включен, для каждого домена свой файл с ними и там как раз нет ничего необычного, но в момент, когда сервер перегружен добавляется ошибка из моего вопроса.
нет, названий нет. когда есть какая-то ошибка - он прям пишет файл, строчку и т.п. здесь же www-data на 100% грузить сервак начинает и во фронте возвращается Connection timed out, в логи пишется ошибка из вопроса.
- в логах линукса что то есть, например out of memore killer?
где его откопать можно?
нашел логи, но они с момента последней перезагрузки идут, как я вижу. когда ошибка повторится - открою их и посмотрю что внутри тогда, спасибо. есть рекомендации на что там обращать внимание?
Да, нашел предыдущий файл, там в момент сбоя сегодня (около 10 часов) вот такая интересная фигня:
Apr 29 09:55:01 localhost CRON[20256]: (admin) CMD (sudo /usr/local/vesta/bin/v-update-sys-queue letsencrypt)
Apr 29 09:55:01 localhost CRON[20260]: (admin) CMD (sudo /usr/local/vesta/bin/v-update-sys-queue backup)
Apr 29 10:00:01 localhost CRON[20694]: (admin) CMD (sudo /usr/local/vesta/bin/v-update-sys-queue letsencrypt)
Apr 29 10:00:01 localhost CRON[20696]: (admin) CMD (sudo /usr/local/vesta/bin/v-update-sys-rrd)
Apr 29 10:00:01 localhost CRON[20698]: (admin) CMD (sudo /usr/local/vesta/bin/v-update-sys-queue backup)
Apr 29 10:00:08 localhost systemd[1]: Stopping nginx - high performance web server...
Apr 29 10:00:08 localhost systemd[1]: Stopped nginx - high performance web server.
Apr 29 10:00:08 localhost systemd[1]: Starting nginx - high performance web server...
Apr 29 10:00:08 localhost nginx[21039]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in
Apr 29 10:00:08 localhost nginx[21039]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in
Apr 29 10:00:08 localhost nginx[21039]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in
Apr 29 10:00:08 localhost nginx[21039]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in
Apr 29 10:00:08 localhost systemd[1]: Started nginx - high performance web server.
Apr 29 10:00:08 localhost systemd[1]: Reloading LSB: Apache2 web server.
Apr 29 10:00:08 localhost apache2[21055]: * Reloading Apache httpd web server apache2
Apr 29 10:00:09 localhost apache2[21055]: *
Apr 29 10:00:09 localhost systemd[1]: Reloaded LSB: Apache2 web server.
Apr 29 10:00:09 localhost systemd[1]: Stopping nginx - high performance web server...
Apr 29 10:00:09 localhost systemd[1]: Stopped nginx - high performance web server.
Apr 29 10:00:09 localhost systemd[1]: Starting nginx - high performance web server...
Apr 29 10:00:09 localhost nginx[21137]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in
Apr 29 10:00:09 localhost nginx[21137]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in
Apr 29 10:00:09 localhost nginx[21137]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in
Apr 29 10:00:09 localhost nginx[21137]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in
Apr 29 10:00:09 localhost systemd[1]: Started nginx - high performance web server.
Apr 29 10:00:09 localhost systemd[1]: Reloading LSB: Apache2 web server.
Apr 29 10:00:09 localhost apache2[21151]: * Reloading Apache httpd web server apache2
Apr 29 10:00:10 localhost apache2[21151]: *
т.е. после CRON в панели управления хостом (Vesta CP) система перезагружает апач и nginx циклично, пока не начинается вот такой лог
Apr 29 10:03:04 localhost systemd[1]: nginx.service: Can't open PID file /var/run/nginx.pid (yet?) after start: No such file or directory
Apr 29 10:03:04 localhost systemd[1]: Started nginx - high performance web server.
Apr 29 10:03:04 localhost systemd[1]: Reloading LSB: Apache2 web server.
Apr 29 10:03:04 localhost apache2[21372]: * Reloading Apache httpd web server apache2
Apr 29 10:03:04 localhost apache2[21372]: *
Apr 29 10:03:04 localhost apache2[21372]: * Apache2 is not running
Apr 29 10:03:04 localhost systemd[1]: apache2.service: Control process exited, code=exited status=1
Apr 29 10:03:04 localhost systemd[1]: Reload failed for LSB: Apache2 web server.
Apr 29 10:03:04 localhost systemd[1]: Stopping LSB: Apache2 web server...
Apr 29 10:03:04 localhost apache2[21391]: * Stopping Apache httpd web server apache2
Apr 29 10:03:04 localhost apache2[21391]: *
Apr 29 10:03:04 localhost apache2[21391]: * There are processes named 'apache2' running which do not match your pid file which are left untouched in the name of safety, Please review t$
Apr 29 10:03:04 localhost systemd[1]: apache2.service: Control process exited, code=exited status=1
Apr 29 10:03:04 localhost systemd[1]: Stopped LSB: Apache2 web server.
Apr 29 10:03:04 localhost systemd[1]: apache2.service: Unit entered failed state.
Apr 29 10:03:04 localhost systemd[1]: apache2.service: Failed with result 'exit-code'.
Apr 29 10:03:04 localhost systemd[1]: Starting LSB: Apache2 web server...
Apr 29 10:03:04 localhost apache2[21404]: * Starting Apache httpd web server apache2
Apr 29 10:03:04 localhost apache2[21404]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive global$
Apr 29 10:03:05 localhost apache2[21404]: *
Apr 29 10:03:05 localhost systemd[1]: Started LSB: Apache2 web server.
Apr 29 10:03:06 localhost systemd[1]: Stopping nginx - high performance web server...
Apr 29 10:03:06 localhost systemd[1]: Stopped nginx - high performance web server.
Apr 29 10:03:06 localhost systemd[1]: Starting nginx - high performance web server...
Apr 29 10:03:06 localhost nginx[21491]: nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in
верно я понимаю, если да - то куда теперь копать, переустановить весту?