Как просматривать и записывать системные журналы в Ubuntu

Быстрые ссылки
- Просмотр логов графически
- Запись в системный журнал
- Просмотр логов в терминале
Linux записывает множество событий на диск. Большинство журналов хранится в /var/log в виде текстовых файлов. Записи обычно проходят через демон системного логирования и пишутся в системный журнал (syslog). Ubuntu предоставляет несколько способов просмотра этих файлов: графические средства и командная строка. Вы также можете отправлять свои сообщения в системный журнал — полезно для скриптов и автоматизации.
Просмотр логов графически
Чтобы открыть журналы удобным графическим приложением, запустите Log File Viewer из Dash или меню приложений.

Log File Viewer по умолчанию показывает системный журнал (syslog), журнал менеджера пакетов (dpkg.log), журнал аутентификации (auth.log) и журнал графического сервера (Xorg.0.log). Все логи можно видеть в одном окне: когда появляется новое событие, оно автоматически добавляется и выделяется жирным. Нажмите Ctrl+F для поиска или используйте меню «Фильтры» для отбора записей.

Если нужно открыть специфичный лог (например, лог приложения), выберите File → Open и укажите файл. Он появится в списке и будет автоматически мониториться, как и другие журналы.

Важно: графический просмотрщик удобен для быстрого анализа, но при большом объёме событий или при работе по SSH удобнее использовать терминал.
Запись в системный журнал
Утилита logger позволяет быстро отправить сообщение в системный журнал одной командой. Это удобно внутри скриптов и для пометок в логах при автоматизации.
Пример простого сообщения:
logger "Hello World"
Если хотите указывать источник сообщения (например, имя скрипта), используйте опцию –t:
logger --t ScriptName "Hello World"
Полезные опции logger:
- -p priority — задать приоритет (facility.level), например user.info
- -t tag — прикрепить тег (короткое имя источника)
- -s — продублировать сообщение в stderr
Примеры:
logger -p user.notice -t myscript "Задача завершена"
logger -s -t deploy "Ошибка на этапе деплоя"Просмотр логов в терминале
Команда dmesg показывает буфер сообщений ядра, который хранится в памяти. Выполнение отдаст много строк.
dmesg
Чтобы отфильтровать вывод, передайте его в grep:
dmesg | grep somethingДля постраничного просмотра используйте less. Нажмите Q для выхода:
dmesg | less
Если grep возвращает много результатов, можно объединить с less:
dmesg | grep something | lessКроме того, вы можете открывать файлы из /var/log в любом редакторе или выводить их содержимое командами cat, head, tail:
cat /var/log/syslogДля фильтрации и постраничного просмотра используйте grep и less:
grep something /var/log/syslog | lesshead и tail полезны для показа начала и конца файла. tail особенно удобен для подписки на новые записи (опция -f):
head -n 10 /var/log/syslog
tail -n 10 /var/log/syslog
tail -f /var/log/syslog
Многие приложения пишут собственные логи в подкаталоги /var/log. Например, Apache обычно использует /var/log/apache2. Для точного расположения смотрите конфигурацию приложения.
Чек-лист при расследовании проблемы
- Определите, какой компонент вызывает событие (ядро, служба, приложение).
- Откройте соответствующий лог в /var/log или используйте dmesg для ошибок ядра.
- Отфильтруйте по времени и уровню важности (grep, journalctl, если systemd).
- Отслеживайте обновления в реальном времени (tail -f).
- Зафиксируйте запись в отдельный файл, добавьте метку через logger.
Быстрый справочник команд
- Просмотр буфера ядра: dmesg
- Поиск в dmesg: dmesg | grep <шаблон>
- Постраничный просмотр: less
- Вывод файла: cat /var/log/<файл>
- Первые N строк: head -n N /var/log/<файл>
- Последние N строк: tail -n N /var/log/<файл>
- Подписка на файл: tail -f /var/log/<файл>
- Запись в журнал: logger -t <тег> “сообщение”
Методика: как быстро локализовать событие
- Определите примерное время инцидента.
- Ищите записи в syslog и auth.log вокруг этого времени.
- Используйте grep по ключевым словам (error, fail, panic, segfault).
- Проверьте отдельные сервисы (systemctl status
) и их логи в /var/log. - Повторите с фильтрами по PID или тегу, если известно.
Когда этот подход не сработает
- Если приложение пишет логи в нестандартное место — проверьте конфигурации.
- Если логи ротацированы и старые файлы сжаты (.gz) — используйте zgrep или распакуйте.
- Если система использует systemd journal без пересылки в /var/log — используйте journalctl.
Пример для journalctl:
journalctl -u nginx.service --since "2025-01-01" --no-pagerПримечание: в новых релизах Ubuntu многие службы регистрируют логи через systemd-journald. journalctl предоставляет мощные фильтры по юнитам, приоритетам и времени.
Ролевые чек-листы
Администратор:
- Проверить /var/log/syslog, auth.log и daemon.log.
- Просмотреть systemctl status для подозрительных сервисов.
- Настроить ротацию логов (logrotate) и мониторинг.
Разработчик:
- Локально воспроизвести проблему и добавить логирование через logger или лог-фреймворк.
- Проверить, не теряются ли логи при ротации.
SRE/Операции:
- Настроить централизованный сбор логов (rsyslog, syslog-ng, fluentd, ELK).
- Настроить алерты по уровням и шаблонам ошибок.
Критерии приёмки
- Можно воспроизвести ошибку и найти соответствующую запись в логах.
- Сообщения имеют достаточный контекст (метки, PID, время).
- Логи ротацированы и сохраняются в соответствии с политикой.
Безопасность и конфиденциальность
Не записывайте в логи чувствительные данные (пароли, персональные данные). При централизованном сборе логов шифруйте канал и ограничьте доступ к хранилищу.
Мини‑глоссарий (1 строка на термин)
- syslog — общий системный журнал для сообщений от демонов и приложений.
- dmesg — буфер сообщений ядра, хранится в памяти.
- journalctl — просмотрщик журналов systemd-journald.
- logger — утилита для отправки сообщений в системный журнал.
Советы по миграции и совместимости
Если вы переходите между версиями Ubuntu или дистрибутивами, проверьте, используется ли rsyslog или systemd-journald, и адаптируйте команды (cat /var/log vs journalctl). Для распределённых систем настройте централизованный стек логирования.
Заключение
Просмотр и запись системных журналов — базовый навык для диагностики в Ubuntu. Используйте графические инструменты для быстрого анализа и командную строку для гибкого и автоматизируемого подхода. logger помогает помечать события из скриптов, а комбинация grep/less/tail делает работу с большими логами удобной.
Ключевые команды: dmesg, journalctl, tail -f, grep, logger.
Краткие рекомендации: регулярно проверяйте ротацию логов, не храните в логах секреты и при необходимости централизуйте сбор.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента