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

Как отладить сервер EC2, который перестает отвечать тихо и случайным образом

Я использую экземпляр t2.micro в Amazon Linux AMI 2018.03 (4.14.59-64.43.amzn1.x86_64). Он размещает веб-сайт php с использованием Apache / 2.4.33 и подключается к базе данных RDS MySQL.

Время от времени сервер полностью «пропадает». Попытка отобразить веб-сайт, подключиться к FTP или даже подключиться по SSH со шпатлевкой - все это приводит к таймауту. И он не возвращается сам по себе, мне нужно вручную выключить сервер через консоль AWS и запустить его снова, после чего все вернется в норму. (Интересно, что команда "перезагрузка" ничего не делает и кажется, что сервер игнорирует ее. Работает только ее выключение и повторный запуск)

Проблема в том, что я проверил все файлы журналов, которые смог найти, и похоже, что в то время, когда сервер перестает отвечать, вообще ничего нет, поэтому я не знаю, как устранить неполадки. При проверке метрик Cloudwatch использование ЦП и сети также кажется нормальным, пока сервер не отвечает.

Похоже, это происходит, когда я запускаю определенный PHP-скрипт с тяжелым объемом памяти несколько раз (но случайно я также могу запустить этот скрипт без проблем), поэтому я подозреваю, что это может быть связано с заполнением оперативной памяти. Но если система что-то закрывала для освобождения памяти, разве это не отображалось в журналах?

Как можно отладить в такой ситуации?

Спасибо

Вот единственное, что записано в журнале сообщений вокруг последнего появления:

Sep  6 15:11:34 compta dhclient[2266]: PRC: Renewing lease on eth0.
Sep  6 15:11:34 compta dhclient[2266]: XMT: Renew on eth0, interval 10970ms.
Sep  6 15:11:34 compta dhclient[2266]: RCV: Reply message on eth0 from ****::***:****:****:****.
Sep  6 15:11:34 compta ec2net: [get_meta] Trying to get http://***.***.***.***/latest/meta-data/network/interfaces/macs/**:**:**:**:**:**/local-ipv4s
Sep  6 15:11:34 compta ec2net: [rewrite_aliases] Rewriting aliases of eth0
Sep  6 15:11:34 compta ec2net: [get_meta] Trying to get http://***.***.***.***/latest/meta-data/network/interfaces/macs/**:**:**:**:**:**/subnet-ipv4-cidr-block
Sep  6 15:22:13 compta kernel: imklog 5.8.10, log source = /proc/kmsg started.
Sep  6 15:22:13 compta rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="2356" x-info="http://www.rsyslog.com"] start
Sep  6 15:22:13 compta kernel: [    0.000000] Linux version 4.14.59-64.43.amzn1.x86_64 (mockbuild@gobi-build-64010) (gcc version 7.2.1 20170915 (Red Hat 7.2.1-2) (GCC)) #1 SMP Thu Aug 2 21:29:33 UTC 2018
Sep  6 15:22:13 compta kernel: [    0.000000] Command line: root=LABEL=/ console=tty1 console=ttyS0 selinux=0 LANG=en_US.UTF-8 KEYTABLE=us
Sep  6 15:22:13 compta kernel: [    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'

15:22 - это когда я перезапускаю сервер.

Только что кое-что понял: аренда eth0 обычно обновляется ~ каждую минуту, но останавливается, как только сервер перестает отвечать.

Согласован с проверкой кредитов ЦП на инстансе t2. Такое поведение может иметь дросселирование.

Посмотрите эту ссылку: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-credits-baseline-concepts.html

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

Я предлагаю вам настроить пространство подкачки, чтобы проверить, не проблема ли это с оперативной памятью. У меня есть инструкция, как это сделать Вот, но это очень распространенная вещь, поэтому существуют сотни ресурсов, которые расскажут, как это сделать.