Операционные системы - статьи


Обработка сообщений демоном syslogd


Все сообщения, формируемые отдельными программами с помощью функции syslog, отправляются через сокет /dev/log системному демону syslogd. Надо сказать, что вообще-то в системе запускаются два демона протоколирования: syslogd и klogd, входящие в состав пакета sysklogd (). Демон klogd отвечает за протоколирование событий, происходящих в ядре системы. Ядро не может использовать стандартную функцию syslog - стандартные библиотеки предназначены для использования только обычными приложениями, а поскольку ядро тоже нуждается в аналогичных функциях, в него включены свои библиотеки, недоступные приложениям, поэтому ядро использует свой собственный механизм генерации сообщений.

Обработка сообщений демоном syslogd состоит в том, что он постоянно отслеживает появление сообщений и сравнивает каждую пришедшую запись с правилами, которые находятся в файле /etc/syslog.conf и записываются в виде строки, состоящей из двух полей. Левое поле () задает один или несколько шаблонов, по которым отбираются сообщения. Правое () определяет порядок обработки отобранных сообщений. Каждый шаблон в поле имеет вид . Значениями поля может служить одно из условных наименований категорий, несколько таких наименований или символ (все категории). Значениями поля может служить одно из условных наименований уровня, символ (все сообщения данной категории, независимо от уровня) или слово none (не записывать сообщения данной категории).

Когда обнаруживается соответствие категории и уровня полученного сообщения с одним из шаблонов поля какой-то строки, syslogd обрабатывает запись в соответствии с действием, прописанным в правом поле данной строки. В поле может стоять:

  • имя файла протокола;
  • название именованного канала (FIFO);
  • указание на терминал или консоль (как на устройство: /dev/tty1);
  • указание на удаленный хост;
  • список пользователей, на терминалы которых будет послано сообщение по данному правилу.

В качестве устройства в поле можно указать также принтер - /dev/lp0, что целесообразно, когда речь идет об особо важных системах.


Начало  Назад  Вперед



Книжный магазин