Syslog в Solaris

Syslog в Solaris не отличается от реализаций в других системах Unix, но есть некоторые особенности.
Ввиду использования M4 для парсинга syslogd.conf, в случае наличия хотя бы одного пробела в конфигурационном файле журналирование тихо и полностью отключится. То есть все до единого разделители в syslogd.conf должны быть табуляциями. В противном случае возникает трудно уловимая ловушка.
В Solaris используется утилита logadm, которая управляется конфигурационным файлом /etc/logadm.conf. В нем указывается возможность сжатия файла, ротации, права доступа к нему, возможность отправки сигнала определенной службе, чтобы она заметила подмену журнала, если она сама, а не syslogd занимается его пополнением, и т.п.
Для активации изменений, внесенных в /etc/syslog.conf, требуется послать сигнал HUP:

#kill -HUP `cat /var/run/syslog.pid`

Или перезапустить всю службу system-log:

#svcadm -v restart system-log

Категории и уровни детализации можно подсмотреть в заголовочном файле /usr/include/sys/syslog.h:

#cat /usr/include/sys/syslog.h

Теперь loghost - это хост куда отправляются все сообщения. Задается в файле /etc/hosts, путем добавления синонима loghost к целевому хосту. Как правило, loghost 'ом выступает localhost или один из локальных адресов:

#cat /etc/hosts

#
# Internet host table
#
::1 localhost
127.0.0.1 localhost
192.168.0.200 Solaris loghost

192.168.0.200 - адрес одного из интерфейсов.

Loghost 'ом может быть и другой хост, например, 192.168.0.100:

::1 localhost
127.0.0.1 localhost
192.168.0.200 Solaris
192.168.0.100 RemoteHost loghost

Если хост выступает в роли логхоста для удалённых машин или устройств с поддержкой syslog, то он должен принимать входящие сообщения на 514-м порту.

Пример syslog.conf, идущий по умолчанию в Solaris:

# syslog configuration file.
#
# This file is processed by m4 so be careful to quote (`') names
# that match m4 reserved words. Also, within ifdef's, arguments
# containing commas must be quoted.
#
.err;kern.notice;auth.notice /dev/sysmsg
.err;kern.debug;daemon.notice;mail.crit /var/adm/messages

.alert;kern.err;daemon.err operator
.alert root

.emerg

# if a non-loghost machine chooses to have authentication messages
# sent to the loghost machine, un-comment out the following line:
#auth.notice ifdef(`LOGHOST', /var/log/authlog, @loghost)

mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost)

#
# non-loghost machines will use the following lines to cause "user"
# log messages to be logged locally.
#
ifdef(`LOGHOST', ,
user.err /dev/sysmsg
user.err /var/adm/messages
user.alert `root, operator'
user.emerg
)

Для просмотра последних записей файла протокола используется команда tail с ключом f (tail -f), которая выводит последние 10 строк файла протокола и затем постоянно выдает новые строки по мере их появления после последней выведенной строки.
В /var/adm/messages по умолчанию собираются сообщения, выдаваемые при загрузке системы, а также важные сообщения по ходу работы.

Комментариев нет:

Отправить комментарий