Рубрики
syslog \ rsyslog \ zabbix

syslog

Программа sysklogd (rsyslogd):

Чтобы каждой программе не пришлось «изобретать велосипед», ядро и некоторые инструменты администрирования обращаются к центральным функциям журна-лирования, которые объединяются под термином Syslog. 
В большинстве современных дистрибутивов (Debian, Fedora, openSUSE, Ubuntu) в таком случае применяется программа rsyslogd.
Обратите внимание — отнюдь не все сетевые службы пользуются Syslog! 
В частности, крупные серверные службы, например Apache, CUPS и Samba, используют собственные функции журналирования, интегрированные в программу. 
Таким образом, эти приложения не поддаются глобальной конфигурации, настраиваемой в syslog.conf. 
Параметры журналирования настраиваются в соответствующих конфигурационных файлах конкретной программы. 
Если вы хотите составить общее представление о файлах регистрации, управляемых Syslog, выполните следующие команды:
cd /var/log
ls $(find -user syslog)

Syslog:

Конфигурационные файлы Syslog содержат правила, состоящие из двух частей. Первая часть (селектор) указывает, 
что именно должно регистрироваться, а во второй части (действие) описывается, 
что должно происходить после получения конкретного уведомления. 
Правила можно разделять на несколько строк с помощью символа \. 
Возможны ситуации, в которых одному уведомлению соответствует несколько правил. 
В этом случае уведомление выдается и регистрируется несколько раз.
Каждый селектор состоит из двух частей, разделенных точкой: 
служба.уровень приоритета. 

Можно указывать сразу несколько селекторов, разделяя их точками с запятой. 
Кроме того, можно объединять в одном селекторе несколько служб, разделяя их запятыми. 
Все программы Linux, использующие Syslog, должны присваивать своим сообщениям службу и приоритет.

Службы и параметры:

Syslog известны следующие службы: uth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, syslog, user, uucp, а также службы от local0 до local7. 
Символ * объединяет все службы.

Кроме того, Syslog известны следующие степени приоритета (по увеличению важности): debug, info, notice, warning = warn, error = err, crit, alert и emerg = panic. 
Ключевые слова warn, error и paniс считаются устаревшими — используйте вместо них warning, err и emerg. 
Символ * объединяет все степени приоритета. 

Ключевое слово none применяется с уведомлениями, которым не присвоен никакой приоритет.

При указании степени приоритета учитываются также все степени, находящиеся в иерархии выше. 
Иными словами, селектор mail.err охватывает и все сообщения почтовой системы уровней crit, alert и emerg.
 
Если вам требуются уведомления только с определенной степенью приоритета, поставьте перед этой степенью символ = (то есть, например, mail.=err).

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

Syslog также может переадресовывать уведомления к файлам FIFO (первым пришел — первым обслужен) или к программным каналам. 
В таком случае перед именем файла ставится символ |. Файл /dev/xconsole, показанный в следующем листинге, — это особый файл типа FIFO, предназначенный для передачи уведомлений графической системе X.
Символ * означает, что уведомление переадресовывается на все консоли или всем пользователям, вошедшим в систему через SSH. 
Поскольку это очень неудобно, по умолчанию он применяется только с критически важными сообщениями.
Более подробная информация по синтаксису syslog.conf содержится на одноименной странице справки man.