Linux: Полное руководство
Шрифт:
Если ваша система загружается в стиле System V, то сценарий запуска демона — это
а остановить —
Автоматический запуск системы syslog можно отключить или включить при помощи графического конфигуратора (setup для дистрибутива Red Hal, drakxservices для Mandrake, system-config-services для Fedora Core).
В Red Hat-совместимых дистрибутивах демон syslogd устанавливается из пакета sysklogd, в состав которого входит также демон klogd, принимающий сообщения ядра
Как и всякий демон, syslogd управляется конфигурационным файлом. По умолчанию это файл
По сигналу HUP демон закрывает все журнальные файлы, перечитывает конфигурационный файл и возобновляет процесс протоколирования. Чтобы изменения в конфигурационном файле вступили в силу, нужно послать демону syslogd сигнал HUP. Например, так:
9.3.1. Конфигурационный файл /etc/syslog.conf
Это простой текстовый файл, каждая непустая и незакомментированная (знак комментария — #) строка которого имеет следующий формат:
Селектор представляет собой правило отбора сообщений, а действие — указание, что с отобранными сообщениями дальше делать. Например, строка
диктует перенаправление сообщений от пользовательских программ в файл
Действиями могут быть:
♦ /абсолютное/имя/файла — записать сообщение в файл. Префикс «-» перед именем файла запрещает синхронизировать файл после каждой записи. По умолчанию syslogd после записи каждой строки выполняет вызов fsync. Это делается ради сохранности журналов, но при интенсивной записи может отнять половину процессорного времени. Поэтому следует отключать синхронизацию протоколов, в которые пишется много сообщений — например, отладочных.
♦ @имя_машины —переслать сообщение демону syslogd, работающему на указанной машине. Имя должно быть известно DNS или прописано в
♦
♦
Несколько селекторов, отбирающих сообщения разной категории, можно группировать, разделяя точкой с запятой, для того, чтобы над ними было выполнено одно и то же действие. Действия группировать нельзя. Чтобы направить одни и те же сообщения и в файл, и на удаленный компьютер, нужно вписать в конфигурационный файл две строки с одинаковыми селекторами.
Селектор, в свою очередь, имеет формат:
Средство (facility) — это категория программы, пославшей сообщение. Категория выбирается из списка ключевых слов, приведенного в таблице 9.2.
Категории программ, ведущих протокол Таблица 9.2
Ключевое слово | Назначение программы, пославшей сообщение |
---|---|
auth authpriv security | Программы, отслеживающие регистрацию пользователей в системе и повышение привилегий пользователи (login, su) |
authpriv | Программы, отслеживающие повышение привилегий пользователя (команда su) |
cron | Выполнение заданий по расписанию (cron и at) |
daemon | Системные демоны, для которых не нашлось более подходящей категории |
kern | Ядро |
lpr | Подсистема печати |
Почтовые программы | |
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