9.3.1. Конфигурационный файл /etc/syslog.conf

We use cookies. Read the Privacy and Cookie Policy

9.3.1. Конфигурационный файл /etc/syslog.conf

Это простой текстовый файл, каждая непустая и незакомментированная (знак комментария — #) строка которого имеет следующий формат:

<селектор>[;<селектор>...] <действие>

Селектор представляет собой правило отбора сообщений, а действие — указание, что с отобранными сообщениями дальше делать. Например, строка

user.* -/var/log/user.log

диктует перенаправление сообщений от пользовательских программ в файл /var/log/user.log.

Действиями могут быть:

/абсолютное/имя/файла — записать сообщение в файл. Префикс «-» перед именем файла запрещает синхронизировать файл после каждой записи. По умолчанию syslogd после записи каждой строки выполняет вызов fsync(). Это делается ради сохранности журналов, но при интенсивной записи может отнять половину процессорного времени. Поэтому следует отключать синхронизацию протоколов, в которые пишется много сообщений — например, отладочных.

@имя_машины —переслать сообщение демону syslogd, работающему на указанной машине. Имя должно быть известно DNS или прописано в /etc/hosts; в противном случае следует писать @IP-адрес.

? /dev/console — вывести сообщение на консоль.

? * — вывести сообщение на экраны всех работающих в данный момент пользователей.

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

Селектор, в свою очередь, имеет формат:

<средство> [, средство2..,] . <уровень_серьезности>

Средство (facility) — это категория программы, пославшей сообщение. Категория выбирается из списка ключевых слов, приведенного в таблице 9.2.

Категории программ, ведущих протокол Таблица 9.2

Ключевое слово Назначение программы, пославшей сообщение auth authpriv security Программы, отслеживающие регистрацию пользователей в системе и повышение привилегий пользователи (login, su) authpriv Программы, отслеживающие повышение привилегий пользователя (команда su) cron Выполнение заданий по расписанию (cron и at) daemon Системные демоны, для которых не нашлось более подходящей категории kern Ядро lpr Подсистема печати mail Почтовые программы news Подсистема, обслуживающая телеконференции Usenet uucp Система UUCP syslog Сам демон syslogd user Все остальные программы * Любая программа none Никакая программа

Уровень серьезности (priority) определяет важность сообщения. Программы регистрируют любые сообщения — от отладочной информации до требований экстренного вмешательства — а демон syslogd игнорирует те из них, важность которых ниже, чем указано в конфигурационном файле. Уровень серьезности указывается ключевым словом, список которых в порядке возрастания важности приведен в таблице 9.3. Допускаются также ключевые слова * (все сообщения) и none (никаких сообщений).

Уровни серьезности сообщений Таблица 9.3

Ключевое слово Означает debug Отладочные сообщении Info Информационные сообщения о штатных ситуациях notice Замечания: сообщения о необычных ситуациях warning Предупреждения err Ошибки crit Критические ошибки alert События, требующие срочного вмешательства emerg События, угрожающие работе системы

В Red Hat-совместимых системах можно ставить перед уровнем серьезности дополнительные модификаторы «=» (регистрировать сообщения только указанного уровня) и «!» (игнорировать сообщения указанного и более высоких уровней). Можно также направлять сообщения не только в обычный файл, но и в именованный канал, поставив перед ним символ «|».

Листинг 9.4. Примерный файл /etc/syslog.conf

# Протоколирование аутентификации. Файл протокола

auth,authpriv.* /var/log/auth.log

*.*;auth,authpriv.none -/var/log/syslog

# Файл регистрации попыток доступа к системе, имеет

# ограниченный доступ. Обычно в этот файл записываются

# сообщения об удаленном доступе к этой машине, например,

# сообщения от демона FTP о том, какие пользователи и

# когда регистрировались на данном сервере.

authpriv.* /var/log/secure

# Сообщения пользовательских программ

user.* -/var/log/user.log

# Протоколировать все информационные сообщения, кроме

# почтовых

*.info;mail.none; -/var/log/messages

# Протоколирование почты

# Уровень отладки, информации и замечаний

mail.=debug;mail.=info;mail.=notice -/var/log/mail/info

# Уровень предупреждений

mail.=warn -/var/log/mail/warnings

# Уровень ошибок

mail.err -/var/log/mail/errors

# Протоколирование демона cron.

cron.=debug;cron.=info;cron.=notice -/var/log/cron/info

cron.=warn -/var/log/cron/warnings

cron.err -/var/log/cron/errors

# Протоколирование ядра

kern.=debug;kern.=infо;kern.=notice -/var/log/kernel/info

kern.=warn -/var/log/kernel/warnings

kern.err -/var/log/kernel/errors

# Очередь печати: сообщения уровня от "инфо" до "предупреждений"

lpr.info;lpr.!err -/var/log/lpr/info

# Протоколирование демонов: сообщения всех уровней, кроме "инфо"

daemon.=debug;daemon.!=info -/var/log/daemons

# Критические сообщения - всем тревога

*.emerg *

# Сохранять ошибки почты и новостей в отдельном файле

uucp,news.crit -/var/log/spooler

# Загрузочные сообщения

lоса17.* -/var/log/boot.log

Данный текст является ознакомительным фрагментом.