Добавить в корзинуПозвонить
Найти в Дзене

Работа с системными логами в Linux: руководство для обычного пользователя

В любой операционной системе, особенно в Linux, системные логи — это ключ к пониманию происходящего. Когда система ведёт себя не так, как ожидается, или приложения «падают», именно журналы помогут выяснить причины проблемы. Эта статья — простое и понятное руководство по работе с логами для обычного пользователя, который хочет научиться выявлять и устранять неполадки. Изложенный ниже материал - только вершина айсберга для новичков. Некая точка для старта. Если вы только входите в мир Linux-дистрибутивов, то подпишитесь на канал, так как тут каждый день выходят интересные и качественные статьи! В Linux почти все системные логи хранятся в каталоге /var/log. Наиболее важные файлы, которые вы можете там найти: На самом деле, в Linux-дистрибутиве много интересных папок, в которые новичок боится заглядывать, чтобы что-нибудь не сломать. Считаю, что со лучше чувство страха поменять на тягу к узнаванию чего-либо нового, потому оставлю ниже ссылку на статью про системные папки в Linux. Можете ис
Оглавление
Работа с системными логами в Linux: руководство для обычного пользователя
Работа с системными логами в Linux: руководство для обычного пользователя

В любой операционной системе, особенно в Linux, системные логи — это ключ к пониманию происходящего. Когда система ведёт себя не так, как ожидается, или приложения «падают», именно журналы помогут выяснить причины проблемы. Эта статья — простое и понятное руководство по работе с логами для обычного пользователя, который хочет научиться выявлять и устранять неполадки.

Изложенный ниже материал - только вершина айсберга для новичков. Некая точка для старта. Если вы только входите в мир Linux-дистрибутивов, то подпишитесь на канал, так как тут каждый день выходят интересные и качественные статьи!

📁 Где находятся логи?

В Linux почти все системные логи хранятся в каталоге /var/log. Наиболее важные файлы, которые вы можете там найти:

  • /var/log/syslog или /var/log/messages — общая системная информация.
  • /var/log/dmesg — логи ядра, особенно полезны при загрузке или проблемах с оборудованием.
  • /var/log/auth.log — информация об аутентификации (входы в систему, sudo).
  • /var/log/kern.log — сообщения ядра.
  • /var/log/Xorg.0.log — если вы используете графическую среду, тут могут быть логи X-сервера.
  • /var/log/journal/ — бинарные логи systemd, если используется journald.

На самом деле, в Linux-дистрибутиве много интересных папок, в которые новичок боится заглядывать, чтобы что-нибудь не сломать. Считаю, что со лучше чувство страха поменять на тягу к узнаванию чего-либо нового, потому оставлю ниже ссылку на статью про системные папки в Linux.

🧰 Как просматривать логи?

Можете использовать cat, less, tail:

# Пролистать весь файл
less /var/log/syslog
# Показать последние 50 строк
tail -n 50 /var/log/syslog
# "Живой просмотр" (следим за новым выводом)
tail -f /var/log/syslog

Поиск по логам:

# Найти ошибки
grep -i error /var/log/syslog
# Найти всё, связанное с nginx
grep nginx /var/log/syslog

Ранее на канале выходила статья про работу с утилитой grep, которую можно назвать швейцарским ножом пользователя Linux-дистрибутива. Ссылку на неё оставлю ниже.

🧠 Как понимать, что там написано?

Пример строки из syslog:

Apr 29 11:23:04 myhost systemd[1]: Starting User Manager for UID 1000...

Разберем:

  • Apr 29 11:23:04 — дата и время события.
  • myhost — имя хоста.
  • systemd[1] — процесс, который записал сообщение.
  • Сообщение: Starting User Manager for UID 1000... — суть события.

Если сообщение содержит слова вроде Failed, Error, Timeout, Segfault — стоит обратить внимание.

🧭 Использование journalctl

Если ваша система использует systemd, у вас есть мощный инструмент: journalctl. Примеры:

# Показать все логи
journalctl
# Показать последние логи
journalctl -xe
# Только за сегодня
journalctl --since today
# Только для службы nginx
journalctl -u nginx
# Сортировка по времени, только ошибки
journalctl -p err -b

Полезные ключи:

  • -p — уровень приоритета (emerg, alert, crit, err, warning, notice, info, debug)
  • -b — только с текущей загрузки

Чтобы узнать больше информации по работе с любой командой, используй утилиту man, про которую ранее выходила статья на канале.

🔎 Как искать проблему?

  • Уточните время, когда возникла проблема — это сильно сузит область поиска.
  • Определите компонент системы, который может быть виноват (служба, пользователь, оборудование).
  • Посмотрите соответствующие логи — syslog, auth.log, journalctl -u <служба>.
  • Ищите ключевые слова: fail, error, segfault, denied, timed out.
  • Проверяйте статус сервисов:
systemctl status <имя_сервиса>
journalctl -u <имя_сервиса> --since "30 min ago"

⚠️ Полезные советы

Чистка логов: Не удаляйте файлы логов вручную. Используйте logrotate или journalctl --vacuum-time=7d.

Права доступа: Некоторые файлы логов можно читать только с правами sudo.

Не паникуйте при виде ошибок: Некоторые ошибки в логах могут быть нормальными для вашего окружения.

🏁 Вместо заключения...

Работа с логами — это навык, который приходит с опытом. Не обязательно быть системным администратором, чтобы научиться понимать, что происходит в системе. Достаточно базовых команд, внимательности и немного логики. Если вы поймёте, как «разговаривает» ваша система, она станет гораздо менее загадочной и более управляемой.