13.2. Демон syslogd

13.2. Демон syslogd

Системы Unix обычно запускают демон syslogd в одном из сценариев инициализации системы, и он функционирует, пока система работает. Реализации syslogd, происходящие от Беркли, выполняют при запуске следующие действия:

1. Считывается файл конфигурации, обычно /etc/syslog.conf, в котором указано, что делать с каждым типом сообщений, получаемых демоном. Эти сообщения могут добавляться в файл (особой разновидностью такого файла является /dev/console, который записывает сообщение на консоль), передаваться определенному пользователю (если этот пользователь вошел в систему) или передаваться демону syslogd на другом узле.

2. Создается доменный сокет Unix и связывается с полным именем /var/run/log (в некоторых системах /dev/log).

3. Создается сокет UDP и связывается с портом 514 (служба syslog).

4. Открывается файл (устройство) /dev/klog. Любые сообщения об ошибках внутри ядра появляются как входные данные на этом устройстве.

Демон syslogd выполняется в бесконечном цикле, в котором вызывается функция select, ожидающая, когда один из трех его дескрипторов (из п. 2, 3 и 4) станет готов для чтения. Этот демон считывает сообщение и выполняет то, что предписывает делать с этим сообщением файл конфигурации. Если демон получает сигнал SIGHUP, он заново считывает файл конфигурации.

ПРИМЕЧАНИЕ

Более новые реализации отключают возможность создания сокета UDP, если она не задана администратором, поскольку если позволить кому угодно отправлять дейтаграммы UDP на этот порт (возможно, заполняя приемный буфер его сокета), это может привести к тому, что законные сообщения не будут получены (атака типа отказ в обслуживании) или переполнится файловая система из-за неограниченного роста журналов.

Между реализациями демона syslogd существуют различия. Например, доменные сокеты Unix используются Беркли-реализациями, а реализации System V используют потоковый драйвер (streams log driver). Различные реализации, происходящие от Беркли, используют для доменных сокетов Unix различные полные имена. Мы можем игнорировать все эти тонкости, если используем функцию syslog.

Мы можем отправлять сообщения о событиях для записи в журнал (log messages) демону syslogd из наших демонов, создав дейтаграммный доменный сокет Unix и указывая при отправке полное имя, с которым связан демон, но более простым интерфейсом является функция syslog, которую мы описываем в следующем разделе. В качестве альтернативы мы можем создать сокет UDP и отправлять наши сообщения на адрес закольцовки и порт 514.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

5.8.5. Демон klogd

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

5.8.5. Демон klogd Демон klogd предназначен для перехвата и протоколирования сообщений ядра Linux (klogd расшифровывается как kernel-logging daemon). В своей работе вы можете использовать параметры демона, указанные в табл. 5.9.Параметры демона klogd Таблица 5.9 Параметр Описание -c n


11.6.8.2. Пара спулер/демон

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

11.6.8.2. Пара спулер/демон Облегченный вариант пары конфигуратор/актор может оказаться полезным в ситуациях, когда требуется сериализованный доступ к общему ресурсу в пакетном режиме, т.е. когда четко определенный поток заданий или последовательность запросов требует


11.6.8.2. Пара спулер/демон

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

11.6.8.2. Пара спулер/демон Облегченный вариант пары конфигуратор/актор может оказаться полезным в ситуациях, когда требуется сериализованный доступ к общему ресурсу в пакетном режиме, т.е. когда четко определенный поток заданий или последовательность запросов требует


9.4.2. Диспетчер расписаний — демон cron

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

9.4.2. Диспетчер расписаний — демон cron Этот демон запускается во время инициализации системы (сценарий /etc/init.d/crond), читает свои конфигурационные файлы и переходит в режим ожидания. Раз в минуту демон просыпается, проверяет дату последнего изменения конфигурационных файлов,


19.2.1. Демон routed

Из книги Linux глазами хакера автора Флёнов Михаил Евгеньевич

19.2.1. Демон routed Стандартной программой маршрутизации в Linux является демон routed. Этот демон, как правило, настраивается сам (динамически) и не требует конфигурирования. Обнаруженные маршруты он заносит в маршрутную таблицу ядра.В своей работе демон routed использует протокол


5.4. Демон inetd/xinetd

Из книги Операционная система UNIX автора Робачевский Андрей М.

5.4. Демон inetd/xinetd Для того чтобы сервер смог обрабатывать запросы клиентов, программа должна быть постоянно загружена и связана с определенным портом. В этом нет ничего сложного, но зачем постоянно держать программу в памяти, особенно если она слишком большая, а работает


Демон

Из книги UNIX: разработка сетевых приложений автора Стивенс Уильям Ричард

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


13.2. Демон syslogd

Из книги Разработка ядра Linux автора Лав Роберт

13.2. Демон syslogd Системы Unix обычно запускают демон syslogd в одном из сценариев инициализации системы, и он функционирует, пока система работает. Реализации syslogd, происходящие от Беркли, выполняют при запуске следующие действия:1. Считывается файл конфигурации, обычно /etc/syslog.conf,


13.5. Демон inetd

Из книги The Intel [Как Роберт Нойс, Гордон Мур и Энди Гроув создали самую влиятельную компанию в мире] автора Мэлоун Майкл

13.5. Демон inetd В типичной системе Unix может существовать много серверов, ожидающих запроса клиента. Примерами являются FTP, Telnet, Rlogin, TFTP и т.д. В системах, предшествующих 4.3BSD, каждая из этих служб имела связанный с ней процесс. Этот процесс запускался во время загрузки из файла


28.7. Демон сообщений ICMP

Из книги Linux и все, все, все... Статьи и колонки в LinuxFormat, 2006-2013 автора Федорчук Алексей Викторович

28.7. Демон сообщений ICMP Получение асинхронных ошибок ICMP на сокет UDP всегда было и продолжает оставаться проблемой. Ядро получает сообщения об ошибках ICMP, но они редко доставляются приложениям, которым необходимо о них знать. Мы видели, что для получения этих ошибок в API


Демон icmpd

Из книги автора

Демон icmpd Начинаем описание нашего демона icmpd с заголовочного файла icmpd.h, приведенного в листинге 28.23.Листинг 28.23. Заголовочный файл icmpd.h для демона icmpd//icmpd/icmpd.h 1 #include "unpicmpd.h" 2 struct client { 3  int connfd; /* потоковый доменный сокет Unix к клиенту */ 4  int family; /* AF_INET или AF_INET6 */ 5  int lport;  /*


Демон ksoftirqd

Из книги автора

Демон ksoftirqd Обработка отложенных прерываний (softirq) и, соответственно, тасклетов может осуществляться с помощью набора потоков пространства ядра (по одному потоку на каждый процессор). Потоки пространства ядра помогают обрабатывать отложенные прерывания, когда система


Демон pdflush

Из книги автора

Демон pdflush Измененные (dirty, "грязные") страницы памяти когда-нибудь должны быть записаны на диск. Обратная запись страниц памяти выполняется в следующих двух случаях.• Когда объем свободной памяти становится меньше определенного порога, ядро должно записать измененные


Демоны syslogd и klogd

Из книги автора

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


Пердем – персональный демон

Из книги автора

Пердем – персональный демон LinuxFormat #112 (декабрь 2008)Все знают, что пермаш – это персональная машина, пердач – персональная дача, перпен – это... нет, не то, что вы подумали, а персональная пенсия, и так далее. А вот что такое пердем? Это – персональный демон, система PC-BSD,