Начало работы с системным журналом в Linux

Системные журналы в Linux дают вам полное представление об основных действиях на вашем ПК или серверной инфраструктуре. Они критически важны для обеспечения стабильности и безопасности вашей системы. Системные журналы также предоставляют вам возможность контролировать различные действия, которые имели место в прошлом.

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

Почему системные журналы важны?

Представьте, что на вашем компьютере с Linux недавно возникли ошибки при запуске, или вы подозреваете, что кто-то пытался войти в вашу систему. Эти события можно легко отследить, поскольку ваша система отслеживает такие действия в виде журналов.

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

В Linux есть специальная служба, известная как Syslog, которая специально отвечает за создание журналов с помощью System Logger. Системный журнал состоит из нескольких компонентов, таких как формат сообщения системного журнала, протокол системного журнала и демон системного журнала, широко известный как syslogd или rsyslogd в новых версиях Linux.

В каталоге / var / log хранится большая часть журналов в системе Linux. Каталог / var в основном содержит файлы и каталоги переменных, то есть данные, которые должны часто меняться. Стандартного формата для журналов не существует, но, как минимум, журналы должны содержать метку времени и сведения о регистрируемой активности.

Список файлов, управляемых системным журналом

Все общие журналы в вашей системе хранятся в файле / var / log / syslog в дистрибутивах Linux на основе Debian. В других дистрибутивах для хранения журналов используется файл / var / log / messages .

Примечание : разные дистрибутивы Linux могут использовать разные файлы для записи определенных сообщений. Например, в дистрибутивах Linux на основе Debian файл /var/log/auth.log содержит журналы аутентификации, а системы RedHat используют файл / var / log / secure для хранения таких журналов.

Чтобы узнать больше обо всех файлах, которые отвечают за хранение журналов, вы можете заглянуть в каталог /etc/rsyslog.d , который содержит важные файлы конфигурации Syslog. Например, чтобы перечислить стандартные файлы журнала, вы можете взглянуть на файл /etc/rsyslog.d/50-default.conf .

 cat /etc/rsyslog.d/50-default.conf

В этом файле показаны имена системных приложений и соответствующие файлы журналов, связанные с ними.

Как проверить файлы журналов

Большинство файлов журналов довольно длинные. Таким образом, одна из наиболее важных команд для проверки файлов журнала в Linux – это команда less , которая выводит содержимое файла в удобных для навигации разделах.

Например, чтобы просмотреть содержимое файла / var / log / syslog , используйте команду less следующим образом.

 less /var/log/syslog

Используйте клавишу F для прокрутки вперед и клавишу B для прокрутки назад.

Файл системного журнала содержит журналы некоторых наиболее важных действий, таких как системные ошибки и действия служб в вашей системе.

Если вы хотите проверить только самые последние журналы, вы можете использовать команду tail , которая по умолчанию перечисляет только последние 10 сообщений журнала.

 tail /var/log/syslog

Вы также можете указать количество сообщений журнала, которые вы хотите просмотреть с помощью утилиты tail. Команда принимает следующий формат: tail -n file-to-inspect, где n – количество строк, которые вы хотите просмотреть. Например, чтобы просмотреть последние 7 сообщений журнала в файле системного журнала, вы можете использовать следующую команду.

 tail -7 /var/log/syslog

Чтобы просмотреть самые последние журналы в режиме реального времени, вы можете использовать команду tail с параметром -f следующим образом.

 tail -f /var/log/syslog

Другой важной командой для проверки сообщений журнала является команда head . В отличие от команды tail, которая отображает последние сообщения журнала в файле, команда head показывает первые строки файла. По умолчанию команда выводит только первые 10 строк.

 head /var/log/syslog

Журналы аутентификации

Если вы хотите найти информацию о логинах пользователей в вашей системе, вы можете взглянуть на файл /var/log/auth.log . Здесь можно найти информацию, относящуюся к логинам пользователей, ошибкам входа и используемому методу аутентификации.

Журналы ядра

Когда ваша система Linux загружается, важные данные о кольцевом буфере ядра записываются в файл / var / log / dmesg . Другая информация о драйверах оборудования, ядре и статусе загрузки записывается в этом файле.

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

 dmesg

Примечание . Сообщения журнала в файле / var / log / dmesg сбрасываются при каждой загрузке системы.

Другой важный файл журнала, связанный с проблемами ядра, – это /var/log/kern.log .

Регистрация сообщений с помощью команды logger

Помимо просмотра сообщений журнала, регистрируемых системными приложениями или службами, система ведения журнала в Linux также позволяет вам регистрировать сообщения вручную с помощью команды logger . По умолчанию пользователь может записывать сообщения в файл / var / log / syslog . Например, чтобы зарегистрировать простое сообщение, вы можете выполнить следующую команду.

 logger hello world!

Теперь вы можете использовать команду tail для просмотра недавно зарегистрированного сообщения.

 tail -3 /var/log/syslog

Вы даже можете регистрировать вывод других команд с помощью команды logger, заключив команду в символ обратной галочки ( ` ).

 logger `whoami`

Вы также можете использовать команду logger в своих сценариях для регистрации важных событий. Используйте страницы руководства, чтобы узнать больше о команде logger и ее параметрах.

 man logger

Управление файлами журнала

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

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

Вы можете настроить утилиту logrotate с любым текстовым редактором по вашему выбору. Файл конфигурации для logrotate можно найти в /etc/logrotate.conf .

Сохранение надежности вашей системы с помощью журналов

Системные журналы в Linux – отличный способ получить представление об основных действиях, происходящих в вашей системе, которые могут обеспечить безопасность и общую стабильность системы. Знание того, как просматривать и анализировать сообщения журнала на сервере или ПК, будет иметь большое значение для поддержания надежности вашей системы.

Иногда пользователям трудно использовать определенные приложения в своей системе из-за низкой доступности системных ресурсов. В таких ситуациях завершение работы неотвечающих программ может освободить место в основной памяти вашей системы.