Анализ строк системного журнала ошибок error.log и логов VPS на сервере Linux

Читаем error.log и системные логи VPS: как искать скрытые сбои сервера и спасать трафик сайта

Если бортовой журнал доступа access.log отвечает нам на вопрос: «Кто, когда и какой именно URL запрашивал на моем сайте?», то журналы ошибок — это единственный инструмент, способный честно ответить на самый главный русский вопрос: «Почему всё сломалось?».

Вы можете вылизывать тексты, закупать дорогие ссылки и сутками настраивать Rank Math, но если сервер втихую спотыкается на кривом плагине или падает от нехватки памяти, реальные пользователи и поисковые роботы вместо сайта увидят лишь пустой белый экран. Метрика промолчит (скрипт-то не загрузился), а Googlebot молча выкинет страницы из индекса. Чтобы не гадать на кофейной гуще, давайте заглянем под капот вашего VPS и препарируем error.log вместе с ключевыми системными журналами Linux.

Файл error.log: почему сервер бьет тревогу?

Файл error.log — это личный дневник плача вашего веб-сервера (чаще всего Nginx). Сюда записывается каждый технический сбой: от безобидных потерянных картинок (404) до фатальных падений PHP-обработчика. По умолчанию в Ubuntu и Debian этот страдалец лежит по адресу /var/log/nginx/error.log.

Давайте препарируем стандартную запись, которую вы гарантированно найдете у себя, когда сайт внезапно отдает ошибку 502 Bad Gateway:

text

2026/07/22 01:15:32 [error] 1432#1432: *5821 connect() failed (111: Connection refused) while connecting to upstream, client: 193.124.45.10, server: webindex.su, request: "GET /wp-admin/ HTTP/2.0", upstream: "fastcgi://127.0.0.1:9000"

Здесь нет канцеляризмов, но есть всё, чтобы понять причину аварии:

  1. 2026/07/22 01:15:32 — точное время катастрофы. Сверяйте его с графиками падения трафика.
  2. [error] — уровень критичности (Severity Level). Сервер использует жесткую иерархию: warn (просто предупреждение, жить можно), error (что-то сломалось), crit (критический сбой) и emerg (сервер уходит в нирвану, тушите свет).
  3. connect() failed (111: Connection refused) — суть боли. Nginx стучит в дверь к PHP-FPM (обработчику вашего WordPress), а там заперто. Сайт лежит.
  4. client: 193.124.45.10 — IP-адрес бедолаги, который пытался зайти на сайт в момент падения.
  5. request: «GET /wp-admin/ HTTP/2.0» — адрес страницы, на которой всё рухнуло.

Глубже в кроличью нору: системные логи VPS

Nginx — парень исполнительный, но если сама операционная система Linux чувствует себя плохо, он просто не сможет физически записать лог. Когда сайт «ложится» намертво, а error.log девственно чист, нужно спускаться в подвал сервера — в директорию /var/log/.

Вот два главных системных журнала, которые обязан знать в лицо каждый владелец VDS:

1. syslog (или messages в CentOS) — бортовой журнал операционной системы

Сюда пишется вообще всё: от подключения флешки до краха ядра. Если ваш сайт регулярно отдает 500-ю ошибку, а в логах веб-сервера тишина, открывайте терминал и вбивайте: tail -n 100 /var/log/syslog.

Ищите там страшную фразу Out of memory: Kill process или аббревиатуру OOM Killer. Что это такое? Это внутренний палач Linux. Когда вы запускаете Мастер Кампаний или на сайт набегает банда парсеров, оперативная память VPS заканчивается. Чтобы сервер не сгорел, OOM Killer принудительно и без предупреждения убивает самый прожорливый процесс — обычно это база данных MySQL или PHP. База упала, сайт лежит, а в логах Nginx — пустота.

2. auth.log (или secure в CentOS) — журнал цифровой безопасности

Сюда записывается каждая попытка входа на ваш сервер, использование команды sudo и подключение по SSH.

Если вы откроете /var/log/auth.log прямо сейчас, у вас волосы встанут дыбом. Вы увидите бесконечную пулеметную очередь из строк: Failed password for invalid user root from 91.241.13.5. Это хакерские боты-брутфорсеры со всего мира в режиме 24/7 перебирают пароли к вашему серверу. Даже если у вас сложный пароль, этот бесконечный подбор дико грузит процессор вашего VPS.

Двухуровневая линия обороны: Logrotate и Fail2ban

Оставлять логи без присмотра — техническое преступление. Если пустить процесс на самотек, журналы ошибок за пару месяцев раздуются до сотен гигабайт, полностью забьют жесткий диск и намертво повесят сервер. Для наведения порядка используйте двух верных помощников:

  • Logrotate (Автоматическая ротация): Эта утилита настроена на большинстве хостингов по умолчанию. Она работает как дворник: раз в сутки берет ваш гигантский error.log, упаковывает его в архив (например, error.log.1.gz), хранит их за последние 14–30 дней, а старый хлам безжалостно удаляет. Если ротация сломалась — диск забьется мгновенно.
  • Fail2ban (Цифровой вышибала): Идеальное решение для защиты от брутфорса и сканеров уязвимостей. Этот демон непрерывно читает файлы auth.log и error.log. Как только он видит, что подозрительный IP-адрес 5 раз подряд ввел неверный пароль по SSH или судорожно ищет на вашем сайте хакерские веб-шеллы (вызывая кучу ошибок 404), Fail2ban мгновенно отправляет этот IP в жесткий бан на уровне системного брандмауэра. Боты отлетают еще на подлете, экономя ресурсы вашего процессора.

В чем главное отличие access.log от error.log?

Журнал access.log фиксирует абсолютно все запросы посетителей к страницам сайта (включая успешные), в то время как error.log собирает только информацию о внутренних технических сбоях, предупреждениях и ошибках сервера.

Где находятся логи авторизации и попыток взлома на VPS?

На операционных системах Ubuntu/Debian все попытки входа регистрируются в файле /var/log/auth.log, а на CentOS/RHEL — в файле /var/log/secure.

Прокрутить вверх