Я запускаю виртуальный сервер Debian с Apache, PHP, MySQL. Есть только 1 веб-сайт с очень низким трафиком, но сервер очень часто (почти каждый день) зависает и не отвечает.
Когда это происходит, сервер недоступен из веб-браузера или SSH, и мне нужно обратиться к администрации моего провайдера и выполнить полный сброс сервера, после чего сервер, похоже, работает нормально.
Как я могу узнать, что вызывает зависания?
Linux vm2797 2.6.32-5-amd64 #1 SMP Tue Jun 14 09:42:28 UTC 2011 x86_64 GNU/Linux
Перенастройте свой системный журнал для перехода на другой сервер - это подталкивает события, любой мониторинг опрашивает сервер (возможно, пропустите большой segfault, если вы не опрашиваете в тот момент, когда это происходит).
Захват журналов на машину, на которой происходит сбой, - плохая идея: вы всегда потеряете большинство импортируемых (прочитанных последних) строк журналов.
man rsyslog.conf дает информацию о перенаправлении на другую машину и о том, как настроить прослушивание сообщений журнала.
Журналы будут отображаться в системном журнале хоста с предварением имени сервера, с которого они пришли.
На стороне прослушивания 'man rsyslogd' предоставит вам параметры запуска, которые затем можно установить в / etc / default / rsyslog (вам может потребоваться -4 или -6). Вы можете проверить его прослушивание с помощью lsof -p pid_of_rsyslogd
Если вы ничего не видите в файлах / var / log / syslog или / var / log / messages, я рекомендую вам использовать любой инструмент записи состояния системы. Я использую nmon (в режиме захвата данных) для мониторинга своих систем.
Вы можете найти это Вот
Здесь нужно заглянуть в свои журналы. Обычно они находятся в / var / log. Запишите время, когда вы перезагружаете свою систему, и посмотрите в журналах, нет ли сообщений непосредственно перед этим временем.
/var/log/syslog
/var/log/messages
/var/log/apache2/error.log
/var/log/mysql*
было бы хорошее место для начала.