Логи: где искать и что читать
Лог — это дневник сервера, и почти любой сбой в нём уже записан. Статья: где искать, как быстро фильтровать и какими словами читать, чтобы найти причину за минуты.
Системный журнал: journalctl
Заголовок раздела «Системный журнал: journalctl»Все сервисы systemd пишут в единый журнал:
journalctl -u sshd -n 50 # последние 50 строк сервиса sshdjournalctl -u nginx --since "1 hour ago"journalctl -p err -n 100 # только ошибки за всёjournalctl -f # живой поток (как tail -f)Приоритеты по возрастанию серьёзности: info → warning → err → crit → alert → emerg. Ищите первую ошибку перед сбоем — обычно она причина, всё дальше — следствия.
Типовые места прикладных логов
Заголовок раздела «Типовые места прикладных логов»| Что | Где |
|---|---|
| Веб-сервер nginx | /var/log/nginx/{access,error}.log |
| Apache | /var/log/apache2/ (Debian/Ubuntu), /var/log/httpd/ (RHEL-семейство) |
| MySQL/MariaDB | /var/log/mysql/, journalctl -u mysql |
| PostgreSQL | /var/log/postgresql/, journalctl -u postgresql |
| Ваше приложение (systemd) | journalctl -u имя-службы |
| Docker-контейнеры | docker logs имя-контейнера |
| Авторизации/входы | /var/log/auth.log (Debian/Ubuntu), secure (RHEL) |
Как читать быстро
Заголовок раздела «Как читать быстро»- Время решает: знаете момент сбоя — режьте по времени:
journalctl --since "14:00" --until "14:10". - Первая ошибка — причина. Ленты из 200 повторов «Connection refused» сводятся к одному событию выше: «упал postgres».
- Копируйте ошибку как есть в поиск — для типовых ошибок stack trace почти всегда уже описан.
- Ошибки 502/504 в nginx error.log говорят, к какому upstream не удалось подключиться — сверяйте с «Серверами сайта» в панели.
Что смотреть при типовых сбоях
Заголовок раздела «Что смотреть при типовых сбоях»- Сайт лежит:
journalctl -u ваш-сервис -n 100, потомdf -h /(диск переполнен — классика). - SSH не пускает:
journalctl -u sshd -n 50,/var/log/auth.log. - Медленно: access.log — какие запросы и сколько «времени ответа»; медленные запросы — slow query log БД.
Проверка результата
Заголовок раздела «Проверка результата»Вы нашли строку с ошибкой, поняли сервис и причину (или получили точный текст для поиска/поддержки).
Если что-то пошло не так
Заголовок раздела «Если что-то пошло не так»| Симптом | Причина | Что делать |
|---|---|---|
| Логи пустые | journald ограничен или лог не пишется | systemctl status rsyslog; проверьте Storage= в journald.conf |
| Логи заняли весь диск | Нет ротации | Настройте logrotate; journalctl --vacuum-size=200M |
| Не понимаю ошибку | Всё бывает | Скопируйте строку с меткой времени в поддержку — ответит по существу |
Частые вопросы
Заголовок раздела «Частые вопросы»Есть ли логи в самой панели?
В карточке сервера есть «История» — события платформы (создание, образы, питание). Логи внутри ОС — на сервере, по SSH или в консоли VNC.
Как освободить место от старых логов?
`journalctl --vacuum-size=200M` для journald; для файлов — logrotate или удаление архивов *.gz в /var/log.
Видит ли поддержка мои логи?
Нет, мы не читаем ваши серверы без запроса. Приложите строки с ошибкой к тикету — это ускорит ответ в разы.