Поиск по сайту:

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

Вот и все! Вы можете прочитать следующие статьи о мониторинге и управлении журналами.

  1. Эффективно управляйте файлами с помощью команд head, Tail и Cat в Linux
  2. Как настроить и управлять ротацией журналов с помощью Logrotate в Linux
  3. Petiti — инструмент анализа журналов с открытым исходным кодом для системных администраторов Linux
  4. Как запросить журналы аудита с помощью инструмента ausearch в CentOS/RHEL
  5. Управление сообщениями журнала в Systemd с помощью Journalctl [Подробное руководство]

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