Иллюстрированный самоучитель по Linux

Что заносится в журнал

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

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

Записи в системные журналы заносятся демоном syslogd, запускаемым при загрузке системы. Демон получает сообщения восьми уровней серьезности от различных процессов – ядра, системы электронной почты, пользовательских программ, конфигурированных на использование syslogd, а также аутентификационных программ, наподобие программы входа в систему.

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

  • debug (отладочные);
  • info (информационные);
  • notiсе (извещения);
  • warning (предупреждения);
  • err (сообщения об ошибках);
  • crit (критические);
  • alert (предостережения);
  • emerg (аварийные).

По этим уровням, записанным в файле /etc/syslog .conf, демон syslogd определяет, в какие журналы заносить те или иные сведения. Файл /etc/ syslog .conf содержит множество записей – по одной на строку по два поля, разделенных пробелами, в каждой. Левое поле содержит список источников и уровней сообщений, правое – файл журнала, в который они заносятся.

Пары источник-уровень в левом поле перечисляются через точку с запятой. Источники указаны по именам – например, mail (электронная почта), kern (ядро системы), user (программы пользователей) или auth (аутентификационные программы). Примеры пар источник-уровень:

  • mail .err: сообщения об ошибках, генерируемые демоном электронной почты;
  • * .info: все информационные сообщения;
  • kern .emerg: аварийные сообщения от ядра.

Рассмотрим файл / etc / sys log .conf, входящий в дистрибутив Linux Red Hat 7.1.

# Запись всех сообщений ядра" на 'консоль.
# Не записывать больше, чтобы не засорять экран.
# kern.* /dev/console.
# Записывать все (кроме почты) уровня info и выше.
# Не записывать частных аутентификационных рообщений!
*.info;mail.none;news.none;authpriv.none /var/log/messages
# Ограниченный доступ к файлу authpriv.
authpriv.* /var/log/secure
# Запись всех почтовых сообщений в одном месте.
mail.* /var/log/maillog
# Аварийные сообщения рассылаются всем и записываются
# на другой машине.
* .emerg *
# Запись сообщений об ошибках электронной почты и новостей уровня err
# и выше в отдельном файле.
uucp,news.crit /var/log/spooler
# Запись сообщений о загрузке также в файл bopt.log
loca17.* /var/log/boot.log

Первая важная строка этого файла:

*.info;mail.none,news.none;authpriv.none /var/log/messages

В ней указана запись всех информационных сообщений, кроме сообщений от программ электронной почты, групп новостей и аутентификационных программ (обозначенных составляющими mail.none;news.none; authpriv.none), в файл /var/log/messages.

Далее следует строка authpriv.* /var/log/secure предписывающая запись всех аутентификационных сообщений в файл /var/log/secure.

В следующей строке указано помещать все сообщения от программ электронной почты в файл /var/log/maillog.

mail.* /var/log/maillog

Наконец, строка:

uucp,news.crit /var/log/spooler

…указывает, что определенные сообщения, связанные с работой программ электронной почты и новостей, записываются в файл /var /log/spooler.

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

Стратегию ведения регистрационных журналов можно поменять, изменив файл /etc/syslog.conf и заставив демон syslogd загрузить новые конфигурационные данные командой:

# kill – HUP `cat /var/run/syslogd.pid"

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.