Linux: Полное руководство
Шрифт:
Селектор представляет собой правило отбора сообщений, а действие — указание, что с отобранными сообщениями дальше делать. Например, строка
диктует перенаправление сообщений от пользовательских программ в файл
Действиями могут быть:
♦ /абсолютное/имя/файла — записать сообщение в файл. Префикс «-» перед именем файла запрещает синхронизировать файл после каждой записи. По умолчанию 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