Что заносится
в журнал
Очень важно понимать различия
между журналами системы Linux. Существует два основных типа журналов: системные
журналы и журналы приложений. В этом параграфе мы рассматриваем системные журналы,
поскольку они есть в любой системе. Что касается журналов приложений, то каждое
приложение (программа) может иметь (или не иметь) свой журнал, зависящий от
конфигурации этой программы.
В системные журналы, как
правило, записываются сообщения и предупреждения ядра системы, в том числе о
загрузке модулей, данные от демона sendmail, отслеживающего сообщения, обрабатываемые
системой, а также сообщения об успешных или неудачных попытках входа в систему.
Записи в системные журналы
заносятся демоном syslogd, запускаемым при загрузке системы. Демон получает
сообщения восьми уровней серьезности от различных процессов - ядра, системы
электронной почты, пользовательских программ, конфигурированных на использование
syslogd, а также аутентификационных программ, наподобие программы входа в систему.
Перечислим уровни серьезности
сообщений в порядке возрастания:
По этим уровням, записанным
в файле /etc/syslog. conf, демон syslogd определяет, в какие журналы заносить
те или иные сведения. Файл
/etc/
syslog. conf содержит множество записей
- по одной на строку по два поля, разделенных пробелами, в каждой. Левое поле
содержит список источников и уровней сообщений, правое - файл журнала, в который
они заносятся.
Пары источник-уровень в
левом поле перечисляются через точку с запятой. Источники указаны по именам
— например, mail (электронная почта), kern (ядро системы), user (программы пользователей)
или auth (аутентификационные программы). Примеры пар источник-уровень:
Рассмотрим файл
/
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 указывает, что процесс должен заново считать конфигурационные данные без завершения работы.