По умолчанию используется файл конфигурации /etc/syslog.conf. Вы можете указать другой файл конфигурации с помощью опции -f.
Запись в файле конфигурации состоит из двух полей, разделенных символами табуляции:
селектор действие
Поле селектор содержит список разделенных точкой с запятой спецификаций приоритетов вида: компонент.уровень [; компонент.уровень]
где компонент задает компонент или список компонентов системы через запятую, а уровень показывает серьезность регистрируемой ситуации. Распознаются следующие значения компонента:
Компонент
Описание
user
Сообщения, сгенерированные пользовательскими процессами. Это стандартный приоритет для сообщений от программ или компонентов, не перечисленных в данном файле.
kern
Сообщения, сгенерированные ядром.
mail
Система электронной почты.
daemon
Системные демоны, такие как in.ftpd(1M)
auth
Система авторизации: login(1), su(1M), getty(1M) и другие программы.
lpr
Система очередей печати (line printer spooling system): lpr(1B), lpc(1B) и другие программы.
news
Зарезервировано для системы дискуссионных групп USENET.
uucp
Зарезервировано для системы UUCP; эта система сейчас механизм
cron
Компоненты cron/at; crontab(1), at(1), cron(1M) и другие программы.
local0-7
Разновидности локальных сообщений. Зарезервировано для локального использования.
mark
Для временных отметок, генерируемых демоном syslogd.
*
Звездочка обозначает все компоненты, кроме mark.
Поддерживаются следующие значения уровня (в порядке убывания серьезности):
Уровень
Значение
emerg
Для критических ситуаций, о которых надо срочно сообщать всем пользователям.
alert
Для сообщений о проблемах, которые надо немедленно решать, например, повреждение системной базы данных.
crit
Для предупрреждений о критических ситуациях, например, сбое диска.
err
Для других сообщений об ошибках.
warning
Для предупреждающих сообщений.
notice
Для сообщений о ситуациях. не являющихся ошибочными, но, возможно, требующих особого реагирования. Запись в файле конфигурации со значением уровня notice должна быть на отдельной строке.
info
Инофрмационные сообщения.
debug
Для сообщений, обычно используемых только при отладке программ.
none
Не посылать сообщений от указанного компонента в заданный файл. Например, селектор
Например:
*.debug;mail.none
будет посылать все сообщения, кроме генерируемых системой электронной почты, в указаный файл.
Поле действие задает, куда пересылать соответствующее селектору сообщение. Значение этого поля может быть одного из четырех видов:
· Имя файла, начинающееся с косой черты, что говорит о необходимости записи соответствующих селектору сообщений в указанный файл. Этот файл открывается на добавление.
· Имя удаленного хоста с префиксом @, например, @server, что говорит о необходимости перенаправления соответствующих селектору сообщений демону syslogd на указанном хосте. Имя хоста "loghost" соответствует машине, которая будет регистрировать сообщения демона syslogd. Каждая машина по умолчанию является loghost. См. файл /etc/ hosts. Можно также задать одну машину в локальной сети в качестве loghost, задав соответствующие записи в таблице хостов. Если в качестве loghost указана локальняя машина, сообщения демона syslogd записываются в соответствующие файлы. В противном случае, они пересылаются машине loghost в сети.
· Список имен пользователей через запятую, что говорит о необходимости выдать соответствующие селектору сообщения на терминал перечисленным пользователям, если они зарегистрированы в системе.
· Звездочка, что говорит о необходимости выдачи соответствующих селектору сообщений на терминылы всех зарегистрированных пользователей.
Пустые строки игнорируются. Строки, первым непробельным символом которых является символ '#', считаются комментариями.
Рассмотрим установки демона на примере обычного файла конфигурации (SLES8):
######################
# /etc/syslog.conf - Configuration file for syslogd(8)
# отправлять предупреждения (warn)ядра(kern)на терминал tty10 и в именованный канал xconsole
# Если есть необходимость все предупреждения выводить на терминал root
# раскоментируйте строку
#*.alert root
#
# Всю информацию о email сохранить в файл
#
mail.* -/var/log/mail
#
# Всю информацию о news-messages
#
# these files are rotated and examined by "news.daily" news.crit -/var/log/news/news.crit news.err -/var/log/news/news.err news.notice -/var/log/news/news.notice
# enable this, if you want to keep all news messages
# Сохранять ошибки почты и новостей (уровень err и выше)
# в отдельном файле uucp,news.crit -/var/log/spooler
# Загрузочные сообщения local7.* -/var/log/boot.log Сетевое протоколирование.
Сейчас разберемся как обеспечить протоколирование в сети. Это означает перенаправление сообщений на демон syslogd, запущенный на другой машине, где они будут записаны на диск.
Для передачи сообщений используется протокол UDP. Он менее надежный, чем TCP, но отправление пакетов происходит несколько быстрее. Убедитесь, что в вашем файле
Затем нужно внести некоторые коррективы в наш файл конфигурации. Как и прежде, определите объекты протоколирования, а вместо файлов протоколов используйте параметр
@hostname, где hostname это имя компьютера, на который будут перенаправлены сообщения. Например, для перенаправления всех сообщений об ошибках на узел сети hostname можно использовать такую запись:
*.err @hostname
Для перенаправления всех сообщений используется запись:
*.* @hostname
Имя узла желательно указать в файле /etc/hosts, так как демон syslogd может быть запущен после сервера доменных имен или сервер DNS окажется недоступным.
Вы можете организовать центральный сервер протоколирования для всей вашей локальной сети. Для того, чтобы указать какие хосты вы хотите протоколировать, используйте опцию -l список_хостов. В списке указываются простые имена машин, то есть без указания имени домена. Имена машин разделяются двоеточием (:). Возможно, вы захотите использовать опцию -s для указания дополнительного сокета для прослушивания. Для перенаправления сообщений используйте опцию -r на машине-клиенте для перенаправления сообщений на сервер (см. таблицу 1).