Начало работы с системным журналом в 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 – отличный способ получить представление об основных действиях, происходящих в вашей системе, которые могут обеспечить безопасность и общую стабильность системы. Знание того, как просматривать и анализировать сообщения журнала на сервере или ПК, будет иметь большое значение для поддержания надежности вашей системы.
Иногда пользователям трудно использовать определенные приложения в своей системе из-за низкой доступности системных ресурсов. В таких ситуациях завершение работы неотвечающих программ может освободить место в основной памяти вашей системы.