Главная
|
Услуги и цены
VDS
Выделенные серверы
Размещение сервера
|
F.A.Q
|
О компании
|

Где и как смотреть логи в Linux - команды journalctl, tail и logrotate

  • Где хранятся логи в Linux
  • Команда journalctl
  • Команда tail
  • logrotate
  • Возможные ошибки
  • Лучшие практики
  • Заключение

Один из важнейших навыков при работе с виртуальным сервером (VDS) — это умение анализировать и просматривать логи. Логи помогают выявить ошибки, следить за состоянием системы, отслеживать работу сервисов и приложений. В этой статье мы подробно разберём:

  • где хранятся логи в Linux,
  • как использовать команды journalctl, tail и logrotate,
  • и дадим полезные советы для администраторов и владельцев VDS.

Где хранятся логи в Linux?

Стандартная директория логов:

/var/log/

В этой папке хранятся текстовые лог-файлы, в том числе:

ФайлНазначение
/var/log/syslog или /var/log/messagesОбщесистемные события
/var/log/auth.logАутентификация и вход в систему
/var/log/kern.logСообщения ядра
/var/log/nginx/ или /var/log/apache2/Логи веб-серверов
/var/log/dpkg.logУстановка и обновление пакетов (Debian/Ubuntu)

Команда journalctl: системный журнал systemd

Современные дистрибутивы Linux используют systemd и хранят системные логи в бинарном формате, который читается через journalctl.

Общий синтаксис:

journalctl [опции]

Полезные команды:

Просмотреть все логи:

journalctl

Просмотр последних записей:

journalctl -n 50

Живой просмотр (аналог tail -f):

journalctl -f

Логи с указанием времени:

journalctl --since "1 hour ago"

journalctl --since "2024-06-01" --until "2024-06-02"

Логи конкретного сервиса:

journalctl -u nginx.service

journalctl -u sshd

Логи текущей загрузки:

journalctl -b

Фильтрация по PID:

journalctl _PID=1234

PID можно найти с помощью команды:

ps aux | grep имя_процесса

Или с помощью htop

Команда tail: просмотр «хвоста» логов

Команда tail позволяет просматривать последние строки файла — идеально подходит для работы с обычными текстовыми логами в /var/log.

Примеры:

Последние 10 строк (по умолчанию):

tail /var/log/syslog

Указать количество строк:

tail -n 50 /var/log/nginx/access.log

Живой просмотр в реальном времени:

tail -f /var/log/nginx/access.log

Можно использовать вместе с grep для фильтрации:

tail -f /var/log/auth.log | grep "Failed password"

logrotate: автоматическое управление логами

logrotate — это системная утилита в Linux, которая автоматически управляет лог-файлами, что бы они не переполняли диск, не росли бесконечно, при этом сохраняли необходимую информацию.

Что делает logrotate:

  • Разбивает логи на архивы (ротация)
  • Удаляет старые логи
  • Сжимает логи (.gz)
  • Работает по расписанию (обычно через cron)

Конфигурации:

Основной файл:

/etc/logrotate.conf

Дополнительные настройки:

/etc/logrotate.d/

Пример конфигурации:

/var/log/nginx/*.log { 
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 0640 www-data adm
    postrotate
        systemctl reload nginx > /dev/null
    endscript
}

  • *.log — будут обрабатываться все лог-файлы
  • daily — выполнение ежедневно
  • rotate 7 — хранить 7 архивов
  • compress — старые логи сжимаются
  • missingok — не показывать ошибку, если файла нет
  • notifempty — не ротировать пустые логи
  • create — создаётся новый файл после ротации
  • postrotate — что делать после ротации

Проверка и отладка:

logrotate -d /etc/logrotate.conf

Возможные ошибки и как их решить

Permission denied

Проверьте права доступа:

sudo tail -f /var/log/auth.log

No space left on device

Логи могут переполнить диск. Настройте logrotate и регулярно чистите:

sudo journalctl --vacuum-time=7d

journalctl показывает не всё

Возможно, логи только для root. Используйте sudo:

sudo journalctl -u apache2

Лучшие практики для VDS-администраторов

  1. Мониторьте /var/log/ — следите за размером логов.
  2. Настройте logrotate — это продлит жизнь диска и упростит отладку.
  3. Используйте journalctl с фильтрами — быстро находите нужные события.
  4. Сохраняйте критические логи — например, логи отказов доступа или подозрительной активности.
  5. Автоматизируйте через скрипты и cron — например, ежедневная проверка логов на ошибки.

Заключение

Логи — это сердце диагностики вашего VDS. Понимание и умелое использование journalctl, tail и logrotate позволяет:

  • быстро выявлять проблемы,
  • оптимизировать работу сервисов,
  • защищать систему от взломов и сбоев.

Освойте эти инструменты — и ваш сервер будет под надёжным контролем.

logo
© 2022 62yun
Все права защищены
vk.com/62yuncom
support@62yun.ru
logo
vk.com/62yuncom
support@62yun.ru
Услуги
VDS Выделенные серверы
Полезное
F.A.Q О компании Политика конфиденциальности Оферта
Способы оплаты
wechatpay visa mastercard
MirAccept
Партнеры
25port
© 2022 62yun Все права защищены
ВВЕРХ