Знакомство с лог файлами Linux

Лог файл (файл журнала), как вы наверное догадались, сохраняет хронологию событий для операционной системы Linux, её приложений и служб.

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

Где находятся лог файлы в Linux

Файлы журналов Linux обычно хранятся в папке /var / logs.

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

Например, когда команда ls выполняется к примеру в папке /var/logs, вот несколько доступных журналов:

  • kern.log
  • auth.log
  • bootstrap.log
  • alternatives.log
  • samba
  • cups
  • lightdm

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

Поскольку лог файлы находятся в текстовом формате, их можно прочитать, введя следующую команду:

nano <logfilename>

Приведенная выше команда открывает файл журнала в редакторе nano. Если лог файл имеет небольшой размер, то нет ничего лучше, чем открыть файл журнала в редакторе, но если файл журнала большой, то вас, вероятно, интересует только конец журнала.

Команда tail позволяет читать последние несколько строк в файле следующим образом:

tail <logfilename>

Можно указать, сколько строк должно отображаться с помощью параметра -n следующим образом:

tail -n <logfilename>

Если же вы хотите увидеть начало файла, вы можете использовать команду head.

Основные системные журналы

Следующие лог файлы являются основными в Linux.

  • Журнал авторизации
  • Журнал демонов
  • Журнал отладки
  • Журнал ядра
  • Системный журнал

Журнал авторизации (auth.log) отслеживает использование систем авторизации, контролирующих доступ пользователей.

Журнал демонов (daemon.log) отслеживает службы, работающие в фоновом режиме и выполняющие важные задачи. Демоны, как правило, не выводятся на экране.

Журнал отладки предоставляет вывод отладок для приложений.

Журнал ядра содержит подробные сведения о ядре Linux.

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

Анализ содержимого файла журнала

Изображение выше показывает содержание последних 50 файлов в файле системного журнала (syslog).

Каждая строка журнала содержит следующие данные:

  • Дата
  • Имя хоста
  • Служба/Приложение
  • Сообщение

Пример одной из строк в файле syslog:

jan 20 12:28:56 gary-virtualbox systemd[1]: starting cups scheduler

Это говорит о том, что служба планирования cups была запущена в 12.28 20 января.

Ротация логов

Файлы журнала периодически меняются, чтобы они не становились слишком большими.

Утилита log rotate отвечает за ротацию файлов журнала. Вы можете определить, что журнал был заменен, потому что его название будет содержать число, такое как auth.log.1, auth.log.2.

Можно изменить частоту замены журнала, отредактировав файл /etc/logrotate.conf.

Ниже показан пример записей из файла logrotate.conf:

#rotate log files
weekly

#keep 4 weeks worth of log files

rotate

create new log files after rotating

create

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

При замене файла журнала на его месте создается новый файл.

Каждое приложение может иметь свою собственную политику ротации. Это, определенно, полезно, потому что файл системного журнала будет расти быстрее, чем файл журнала cups.

Политики ротации хранятся в /etc/logrotate.d. У каждого приложения, для которого требуется собственная политика ротации, в папке с приложением будет храниться файл конфигурации.

Например, инструмент apt содержит файл в папке logrotate.d со следующим содержанием:

/var/log/apt/history.log {
rotate 12
monthly
compress
missingok
notifempty
}

В принципе, этот журнал говорит вам следующее. Журнал будет хранить лог файлы в течение 12 недель и будет меняться каждый месяц (по одному в месяц). Файл журнала будет сжат. Если в журнал не записываются сообщения (т.е. он пуст), это нормально. Журнал не будет заменяться на новый, если он пустой.

Чтобы изменить политику файла, замените его параметры на нужные вам, а затем выполните следующую команду:

logrotate-f

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter




Добавить комментарий

Ваш e-mail не будет опубликован.