4 способа просмотра или мониторинга файлов журналов в режиме реального времени
Как я могу увидеть содержимое файла журнала в реальном времени в Linux? Что ж, существует множество утилит, которые могут помочь пользователю выводить содержимое файла, пока файл изменяется или постоянно обновляется. Одной из наиболее известных и часто используемых утилит для отображения содержимого файла в реальном времени в Linux является команда Tail (эффективное управление файлами).
Читайте также: 4 хороших инструмента мониторинга и управления журналами с открытым исходным кодом для Linux
1. Команда Tail — мониторинг журналов в режиме реального времени
Как уже говорилось, команда Tail является наиболее распространенным решением для отображения файла журнала в реальном времени. Однако команда отображения файла имеет две версии, как показано в примерах ниже.
В первом примере команде tail нужен аргумент -f
, чтобы отслеживать содержимое файла.
sudo tail -f /var/log/apache2/access.log
Вторая версия команды на самом деле представляет собой саму команду: tailf. Вам не понадобится использовать переключатель -f
, поскольку команда встроена с аргументом -f
.
sudo tailf /var/log/apache2/access.log
Обычно файлы журналов часто меняются на сервере Linux с помощью утилиты logrotate. Чтобы просматривать файлы журналов, которые меняются ежедневно, вы можете использовать флаг -F
для команды Tail.
Читайте также: как управлять системными журналами (настройка, ротация и импорт в базу данных) в Linux
tail -F
будет отслеживать создание нового файла журнала и начнет отслеживать новый файл вместо старого.
sudo tail -F /var/log/apache2/access.log
Однако по умолчанию команда Tail отображает последние 10 строк файла. Например, если вы хотите просматривать в режиме реального времени только две последние строки файла журнала, используйте файл -n
в сочетании с флагом -f
, как показано на рисунке приведенный ниже пример.
sudo tail -n2 -f /var/log/apache2/access.log
2. Команда Multitail — мониторинг нескольких файлов журналов в режиме реального времени.
Еще одна интересная команда для отображения файлов журналов в реальном времени — команда multitail. Название команды подразумевает, что многопользовательская утилита может отслеживать и отслеживать несколько файлов в режиме реального времени. Multitail также позволяет перемещаться вперед и назад по отслеживаемому файлу.
Чтобы установить многопользовательскую утилиту в системах на базе Debian и RedHat, введите приведенную ниже команду.
sudo apt install multitail [On Debian & Ubuntu]
sudo yum install multitail [On RedHat & CentOS]
sudo dnf install multitail [On Fedora 22+ version]
Чтобы одновременно отобразить выходные данные двух файлов журнала, выполните команду, как показано в примере ниже.
sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log
3. Команда lnav — мониторинг нескольких файлов журналов в режиме реального времени.
Еще одна интересная команда, похожая на команду multitail, — это команда lnav. Утилита Lnav также может просматривать и отслеживать несколько файлов и отображать их содержимое в режиме реального времени.
Чтобы установить утилиту lnav в дистрибутивах Linux на базе Debian и RedHat, введите приведенную ниже команду.
sudo apt install lnav [On Debian & Ubuntu]
sudo yum install lnav [On RedHat & CentOS]
sudo dnf install lnav [On Fedora 22+ version]
Просматривайте содержимое двух файлов журналов одновременно, введя команду, как показано в примере ниже.
sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log
4. Команда less – отображение вывода файлов журналов в реальном времени.
Наконец, вы можете отобразить вывод файла в реальном времени с помощью команды less, если наберете Shift+F
.
Как и в случае с утилитой Tail, нажатие Shift+F
в открытом файле в less начнет следовать за концом файла. Альтернативно, вы также можете запустить less с флагом less +F
, чтобы войти в режим просмотра файла в реальном времени.
sudo less +F /var/log/apache2/access.log
Вот и все! Вы можете прочитать следующие статьи о мониторинге и управлении журналами.
- Эффективно управляйте файлами с помощью команд head, Tail и Cat в Linux
- Как настроить и управлять ротацией журналов с помощью Logrotate в Linux
- Petiti — инструмент анализа журналов с открытым исходным кодом для системных администраторов Linux
- Как запросить журналы аудита с помощью инструмента ausearch в CentOS/RHEL
- Управление сообщениями журнала в Systemd с помощью Journalctl [Подробное руководство]
В этой статье мы показали, как наблюдать за добавлением данных в файлы журналов в режиме реального времени на терминале в Linux. Вы можете задать любые вопросы или поделиться своими мыслями об этом руководстве через форму комментариев ниже.