Как отслеживать файлы журналов в реальном времени в Linux [Настольный компьютер и сервер]
В этом руководстве объясняется, как отслеживать файлы журналов Linux (рабочего стола, сервера или приложений) в режиме реального времени для диагностики и устранения неполадок.
Когда вы сталкиваетесь с проблемами на рабочем столе Linux, сервере или в любом приложении, вы сначала просматриваете отдельные файлы журналов. Файлы журналов обычно представляют собой текстовый поток и сообщения приложений с отметкой времени. Это помогает вам сузить круг конкретных случаев и позволяет найти причину любой проблемы. Это также может помочь получить помощь из Интернета.
Обычно все файлы журналов расположены в папке /var/log
. Этот каталог содержит файлы журналов с расширениями .log
для конкретных приложений и служб, а также отдельные другие каталоги, содержащие их файлы журналов.
Лог-файлы в var-log
Итак, если вы хотите отслеживать несколько файлов журналов или один конкретный, вот несколько способов сделать это.
Отслеживание файлов журналов в режиме реального времени - Linux
Использование команды хвоста
Команда tail
— это самый простой способ отслеживания файла журнала в реальном времени. Особенно, если вы находитесь на сервере только с терминалом и без графического интерфейса. Это очень полезно.
Примеры:
Основной синтаксис
tail /path/to/log/file
Использование
Мониторинг нескольких файлов журналов через хвост
Используйте переключатель -f
, чтобы следить за файлом журнала, который обновляется в режиме реального времени. Например, если вы хотите следить за системным журналом, вы можете использовать следующую команду.
tail -f /var/log/syslog
Вы можете отслеживать несколько файлов журналов с помощью одной команды, используя -
tail -f /var/log/syslog /var/log/dmesg
Если вы хотите отслеживать HTTP, sftp или любой другой сервер, вы можете использовать соответствующие файлы журналов в этой команде.
Помните, что для приведенных выше команд требуются права администратора.
Использование lnav (Навигатор файлов журналов)
LNAV Бег
lnav — отличная утилита, которую можно использовать для более структурированного мониторинга файлов журналов с помощью сообщений с цветовой кодировкой. Он не установлен по умолчанию в системах Linux. Вы можете установить его с помощью следующей команды:
sudo apt install lnav (Ubuntu)
sudo dnf install lnav (Fedora)
Преимущество lnav в том, что если вы не хотите его устанавливать, вы можете загрузить предварительно скомпилированный исполняемый файл и запустить его где угодно, даже с USB-накопителя. Никакой настройки не требуется, плюс множество функций. Используя lnav, вы можете запрашивать файлы журналов через SQL, а также о других интересных функциях, о которых вы можете узнать на его официальном сайте.
После установки вы можете запустить lnav из терминала с правами администратора, и он по умолчанию покажет все журналы из /var/log
и начнет мониторинг в режиме реального времени.
Примечание о журнале systemd
Все современные дистрибутивы Linux сегодня в основном используют systemd. Systemd предоставляет базовую структуру и компоненты, которые в целом запускают операционную систему Linux. Systemd предоставляет службы журнала через журналctl, который помогает управлять журналами всех служб systemd. Вы также можете отслеживать соответствующие службы и журналы systemd в режиме реального времени, используя следующую команду.
journalctl -f
Вот несколько конкретных команд журналаctl, которые вы можете использовать в нескольких случаях. Вы можете объединить их с переключателем -f выше, чтобы начать мониторинг в режиме реального времени.
- Для сообщений системы экстренной помощи используйте:
journalctl -p 0
- Показать ошибки с пояснениями:
journalctl -xb -p 3
- Используйте контроль времени, чтобы отфильтровать:
journalctl --since "2022-12-04 06:00:00"
journalctl --since "2022-12-03" --until "2022-12-05 03:00:00"
journalctl --since yesterday
journalctl --since 09:00 --until "1 hour ago"
Если вы хотите узнать больше и узнать подробности о журналеctl — я написал руководство здесь.
Заключительные замечания
Я надеюсь, что эти команды и приемы помогут вам найти причину вашей проблемы/ошибки на вашем рабочем столе или серверах. Для получения более подробной информации вы всегда можете обратиться к справочным страницам и поиграть с различными переключателями. Дайте мне знать, если у вас есть какие-либо комментарии или мысли по поводу этой статьи, используя поле для комментариев ниже.