The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

syslog.conf (5)
  • syslog.conf (4) ( Solaris man: Специальные файлы /dev/* )
  • syslog.conf (4) ( Русские man: Специальные файлы /dev/* )
  • syslog.conf (5) ( FreeBSD man: Форматы файлов )
  • >> syslog.conf (5) ( Русские man: Форматы файлов )
  • syslog.conf (5) ( Linux man: Форматы файлов )
  •  

    ИМЯ

    syslog.conf - syslogd(8)  

    ОПИСАНИЕ

    Файл syslog.conf является главным конфигурационным файлом для демона syslogd(8) , выполняющего журналирование системных сообщений на *nix системах. Этот файл определяет правила для журналирования. Для описания особых возможностей смотрите руководство по sysklogd(8).

    Каждое правило представляет из себя два поля: поле селектора и поле действия . Эти два поля разделены одним (или более) пробелом или символом табуляции. Поле селектора описывает шаблон, определяющий над какими сообщениями (они задаются службами и приоритетами), надлежит выполнять определенные действия.

    Строки начинающиеся с символа `#' и пустые строки игнорируются.

    Эта версия syslogd понимает расширенный синтаксис: одно правило может быть разделено на несколько строк, если строка правила заканчивается символом `\'.

     

    СЕЛЕКТОРЫ

    Поле селектора, в свою очередь, тоже состоит из двух частей: служба и приоритет, разделенных точкой (`.'). Обе части не чувствительны к регистру и могут быть заданы также в виде десятичных чисел, но не делайте этого. И службы, и приоритеты описаны в syslog(3). Указанные ниже имена описаны в /usr/include/syslog.h, в виде LOG_-значений.

    Служба задается одним из следующих ключевых слов: auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security (тоже что и auth), syslog, user, uucp и local0 ... local7. Ключевое слово security больше не должно использоваться, а mark предназначено только для внутреннего использования и не указывается для приложений - хотя вы можете задать такие сообщения для перенаправления. Служба определяет подсистемы, которые генерируют сообщение, т.е. все почтовые программы, конечно, если они используют syslog, журналируют сообщения c указанием почтовой службы (LOG_MAIL).

    Прироритет задается одним из следующих ключевых слов (в порядке возрастания серьезности): debug, info, notice, warning, warn (тоже что и warning), err, error (тоже что и err), crit, alert, emerg, panic (тоже что и emerg). Ключевые слова error, warn и panic устарели и не должны больше использоваться. Приоритет определяет серьезность сообщения.

    Поведение оригинального BSD syslogd такое, что все сообщения определенного приоритета и выше журналируются в соответствии с заданным действием. Поведение этой версии syslogd(8) такое же, но с некоторыми дополнениями.

    Дополнительно к указанным выше именам, syslogd(8) понимает следующие расширения: `*' обозначает все службы или все приоритеты, в зависимости от того, где используется (до или после точки `.'). Ключевое слово none означает отсутствие приоритета для данной службы.

    Вы можете задать несколько служб в одном правиле для одного и того же приоритета, используя `,'. Запомните, что при использовании такой записи из шаблона извлекается только та часть, которая отвечает за службу, а часть, которая отвечает за приоритет, игнорируется.

    Для одного действия может быть задано несколько селекторов с использованием `;'. Запомните, что каждый селектор в поле селектор может перезаписать предшествующие. Используя это поведение, вы можете исключать некоторые приоритеты из шаблона.

    Эта версия syslogd(8) расширяет синтаксис оригинальной версии BSD, что делает его использование более интуитивно понятным. Вы можете перед каждым приоритетом ставить `=' (равенство), чтобы определить только один приоритет, а не любой из тех, что выше. Вы можете также (использовать оба символа корректно) перед приоритетом ставить `!' (инвертирование), чтобы игнорировать все приоритеты, которые совпадают с указанным или выше него. Если вы используете оба расширения, то `!' должен быть перед `=' (не равно) - просто интуитивно используйте их.

     

    ДЕЙСТВИЯ

    Поле действия в правиле описывает абстрактный термин `logfile'. Необязательно, чтобы `logfile' был реальным файлом. syslogd(8) предоставляет следующие действия:

     

    Обычный файл

    Обычно сообщения журналируются в реальных файлах. Файл должен быть задан с полным путем, начинающимся с `/'.

    Вы можете перед каждым действием указывать `-', чтобы не допускать синхронизации файла после каждого добавления записи в журнал. Заметьте, что вы можете потерять информацию, если система рухнет сразу после попытки записи. Тем не менее, это может дать вам небольшой прирост в производительности, особенно, если вы запускаете программы, которые выполняют журналирование очень часто.

     

    Именованные каналы

    Эта версия syslogd(8) поддерживает вывод журналируемых сообщений в именованные каналы (fifo). Fifo или именованный канал может быть использован как пункт назначения, посредством добавления символа `|' перед именем файла. Это удобно использовать для отладки. Заметьте, что перед тем как syslogd(8) будет запущен, fifo должен быть создан с помощью команды mkfifo(1).

     

    Терминал и консоль

    Если файл, который вы задаете, является tty, выполняется специальная tty-обработка. Тоже самое и с /dev/console.

     

    Удаленный узел

    Эта версия syslogd(8) полностью поддерживает удаленное журналирование, т.е. может посылать сообщения на удаленную систему, где запущен syslogd(8) и принимать сообщения с удаленных систем. В свою очередь, удаленная система не будет пересылать сообщения снова, она просто будет журналировать их локально. Чтобы дать возможность удаленно журналировать сообщения на другой системе, указывайте `@' перед именем системы.

    Используя эту возможность, вы можете контролировать все syslog сообщения на одной системе, если все другие машины будут удаленно выполнять журналирование на нее. Это позволяет уменьшить стоимость администрирования.

     

    Список пользователей

    Обычно критичные сообщения также направляются пользователю `root'. Вы можете задать список пользователей, которые будут получать сообщения, просто указав имена этих пользователей. Чтобы задать несколько пользователей, разделите их `,'. Если они зарегистрированы (совершили вход в систему), то получат сообщение. Не думаю, что письмо будет послано - уже может быть слишком поздно.

     

    Каждый зарегистрированный (вошедший в систему)

    Аварийные сообщения часто идут ко всем пользователям, находящимся сейчас на системе, для того, чтобы уведомить их в том, что нечто странное происходит с системой. Чтобы задать такое поведение, используйте возможности wall(1), посредством использования `*'.

     

    ПРИМЕРЫ

    Здесь приведено несколько примеров, частично взятых с реально существующих систем и конфигураций. Надеюсь, они сделают ненужными все вопросы по настройке, если нет - напишите мне (Joey).
    # Хранить все критические сообщения в critical
    #
    *.=crit;kern.none            /var/adm/critical
    

    Сохранит все сообщения с приоритетом crit в файле /var/adm/critical, за исключением сообщений ядра.

    # Сначала сообщения ядра сохраняются в файле kernel,
    # но критичные сообщения (и выше) также будут
    # отправлены на другую систему и на консоль
    #
    kern.*                       /var/adm/kernel
    kern.crit                    @finlandia
    kern.crit                    /dev/console
    kern.info;kern.!err          /var/adm/kernel-info
    

    Первое правило направляет все сообщения от службы kernel в файл /var/adm/kernel.

    Вторая - направляет все сообщения ядра с приоритетом crit и выше на удаленную систему finlandia. Это может быть полезно в случае, когда система рухнет и диск получит неисправимые ошибки и у вас может не быть возможности прочитать сохраненные сообщения. Но если они также будут и на удаленной машине, то вы можете попытаться выяснить причину сбоя.

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

    Четвертая строка говорит демону syslogd сохранять все сообщения ядра, которые приходят с приоритетами от info и до warning, в файле /var/adm/kernel-info. Все остальные (от err и выше) не будут сохранены.

    # tcpwrapper посылает в журнал записи с mail.info, мы
    # показываем все соединения на tty12
    #
    mail.=info                   /dev/tty12
    

    Отправляет все сообщения, использующие mail.info (в тексте программы это выглядит как LOG_MAIL | LOG_INFO), в /dev/tty12- двенадцатую консоль. К примеру, tcpwrapper tcpd(8) использует такие сообщения по умолчанию.

    # Сохраняет все сообщения, касающиеся почты в файле
    #
    mail.*;mail.!=info           /var/adm/mail
    

    Этот шаблон выискивает все сообщения, пришедшие от службы mail , исключая сообщения с приоритетом info . Эти сообщения будут сохранены в файле /var/adm/mail.

    # Журналировать все сообщения mail.info и news.info в файле info
    #
    mail,news.=info              /var/adm/info
    

    Извлекает все сообщения, пришедшие либо с mail.info , либо с news.info, и сохраняет их в файле /var/adm/info.

    # Журналировать сообщения info и notice в файле messages
    #
    *.=info;*.=notice;\
            mail.none  /var/log/messages
    

    Это позволяет демону syslogd журналировать все сообщения, пришедшие либо с приоритетом info , либо с приоритетом notice, в файл /var/log/messages, за исключением тех сообщений, которые используют службу mail .

    # Журналировать информационные сообщения в файл messages
    #
    *.=info;\
            mail,news.none       /var/log/messages
    

    Это правило указывает syslogd журналировать все сообщения, пришедшие с приоритетом info , в файл /var/log/messages. Но сообщения, пришедшие со служб либо mail , либо news, не будут сохранены.

    # Аварийные сообщения будут показаны, используя wall
    #
    *.=emerg                     *
    

    Это правило говорит демону syslogd выводить все аварийные сообщения всем пользователям, которые в текущий момент находятся в системе.

    # Сообщения с приоритетом alert будут направлены оператору.
    #
    *.alert                      root,joey
    

    Это правило направляет все сообщения с приоритетом alert или выше на терминалы операторов, т.е. пользователям `root' и `joey', если они вошли в систему.

    *.*                          @finlandia
    

    Это правило перенаправляет все сообщения на удаленную систему с именем finlandia. Это полезно в случае кластера машин, когда все syslog сообщения будут храниться только на одной машине.

     

    РАЗЛИЧИЯ В СИНТАКСИСЕ КОНФИГУРАЦИОННОГО ФАЙЛОВ

    Syslogd в своем конфигурационном файле использует синтаксис немного отличающийся от синтаксиса, используемого в оригинальной версии BSD. Изначально все сообщения определенного приоритета и выше него пересылались в журнал. Модификаторы `=', `!' и `-' были добавлены, чтобы сделать syslogd более гибким и чтобы описывать правила в интуитивно понятной форме.

    Оригинальный BSD syslogd не принимает пробелы как разделители между полем селектора и полем действия.

     

    ФАЙЛЫ

    /etc/syslog.conf
    Конфигурационный файл для syslogd

     

    ОШИБКИ

    Эффект от использования нескольких селекторов не всегда интуитивно понятен. К примеру, `mail.crit,*.err' будет отбирать сообщения от `mail' служб с приоритетом `err' и выше, а не с приоритетом `crit' и выше.

     

    СМ. ТАКЖЕ

    sysklogd(8), klogd(8), logger(1), syslog(2), syslog(3)

     

    АВТОРЫ

    Из исходных кодов BSD Greg Wettstein (greg@wind.enjellic.com) портировал оригинальный syslogd под Linux. Martin Schulze (joey@linux.de) исправил некоторые ошибки и добавил новую функциональность.

     

    ПЕРЕВОД

    Перевод с английского Alexander Kolotov (alexandr.kolotov@gmail.com) 2007


     

    Index

    ИМЯ
    ОПИСАНИЕ
    СЕЛЕКТОРЫ
    ДЕЙСТВИЯ
    Обычный файл
    Именованные каналы
    Терминал и консоль
    Удаленный узел
    Список пользователей
    Каждый зарегистрированный (вошедший в систему)
    ПРИМЕРЫ
    РАЗЛИЧИЯ В СИНТАКСИСЕ КОНФИГУРАЦИОННОГО ФАЙЛОВ
    ФАЙЛЫ
    ОШИБКИ
    СМ. ТАКЖЕ
    АВТОРЫ
    ПЕРЕВОД


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру