Мониторинг информационной системы
325
auth
,
security
— все, что связано с регистрацией пользователя в системе;
authpriv
— отслеживает программы, изменяющие привилегии пользователей
(например, программу su);
cron
— сообщения
планировщиков заданий;
kern
— сообщения ядра;
mail
— сообщения почтовых программ;
news
— сообщения новостного демона;
uucp
— сообщения службы Unix-to-Unix-CoPy, уже давно не используются, но
файл конфигурации демона все еще содержит упоминание о ней;
syslog
— сообщения самого демона rsyslogd;
user
— сообщения пользовательских программ;
daemon
— сообщения различных сервисов;
*
— все сообщения.
При указании селектора можно определить, какие
сообщения нужно протоколи-
ровать:
debug
— отладочные сообщения;
info
— информационные сообщения;
err
— ошибки;
warning
— предупреждения (некритические ошибки);
crit
— критические ошибки;
alert
— тревожные сообщения, требующие вмешательства администратора;
emerg
— очень важные сообщения (произошло что-то такое, что мешает нор-
мальной работе системы);
notice
— замечания.
Впрочем, обычно селекторы указываются так:
название_селектора.*
Это означает, что будут протоколироваться все сообщения селектора. Вот еще не-
сколько примеров:
daemon
.
*
— протоколируются все сообщения сервисов;
daemon.err
— регистрировать только сообщения об ошибках сервисов.
Теперь
перейдем к параметру
действие
— это второе поле файла конфигурации.
В большинстве случаев
действие
— это имя файла журнала, в который нужно запи-
сать сообщение селектора. Если перед именем файла стоит знак минус (
–
), то после
каждой записи в журнал демон не будет выполнять синхронизацию файла, т. е.
осуществлять системный вызов
fsync()
. Это повышает производительность систе-
326
Глава 7
мы, поскольку сообщений обычно много, и если после каждого выполнять синхро-
низацию журнала, то система будет работать медленно.
В большинстве случаев в файл конфигурации нужно добавить всего одну строку:
*.info;mail.none;authpriv.none;cron.none @@IP_центрального_сервера:514
Две «собачки» перед строкой означают, что сообщения
протокола будут переданы
удаленному серверу rsyslog (514 — это порт, который используется удаленным
сервером).
Если вы какие-то сообщения желаете отправлять в файл, а не на сервер (для
уменьшения размера БД сервера), то просто укажите имя файла, например:
mail.* -/var/log/maillog
Если есть желание выводить сообщения на консоль всех подключенных к системе
пользователей, то вместо действия поставьте звездочку:
*.emerg *
Протоколирование системой инициализации
в Linux
Если вы уже работали с Linux, то знаете, что ранее протоколирование системы
осуществляли демоны syslogd и rsyslogd. Сейчас же все устроено немного иначе —
во многих современных дистрибутивах протоколированием системы занимается
сама
система инициализации systemd, а точнее — ее сервис systemd-journald.service.
При этом запрос системного лога (журнала) организуется через утилиту journalctl.
Протоколирование через сервис systemd-journald.service впервые появилось
в Fedora 20, перешли на systemd и все современные дистрибутивы, среди которых
Fedora, CentOS, Debian и Ubuntu (начиная с 15.04). Однако в дистрибутивах, осно-
ванных на системе инициализации, отличной от systemd, может использоваться
демон syslogd, — именно поэтому его описание не удалено из книги (см.
главу 11
).
Вот, что нужно знать о протоколировании в современных дистрибутивах:
все журналы по-прежнему хранятся в каталоге
/var/log
;
серверы (WWW, FTP и пр.) могут создавать собственные каталоги/файлы жур-
налов в каталоге
/var/log
;
для просмотра системных журналов используется утилита journalctl — привыч-
ные
файлы вроде
/var/log/messages
более недоступны. Конечно, вы можете парал-
лельно установить демон rsyslogd, и он будет прекрасно работать в паре
с journalcrl. Однако у journalctl гораздо больше возможностей — например,
с помощью опции
–b
можно просмотреть логи текущей или предыдущей загрузки;
У
ТИЛИТА JOURNALCTL
Полное описание утилиты journalctl можно найти в руководстве
man
или по адресу
http://www.freedesktop.org/software/systemd/man/journalctl.html
. Подробно эта ути-
Мониторинг информационной системы
327
лита также рассматривается в книге Д. Колисниченко «Linux. От новичка к профессио-
налу, 6-е изд.» издательства «БХВ-Петербург»
1
.
существует графическая утилита
просмотра журналов
— gnome-system-log
(рис. 7.10). Она не устанавливается по умолчанию, и чтобы ее установить, вве-
дите команду:
sudo dnf install gnome-system-log
Впрочем, учитывая, что просмотр основных журналов осуществляется через
утилиту journalctl, особого эффекта от использования gnome-system-log вы не
ощутите.
Рис. 7.10.
Графическая утилита просмотра журналов gnome-system-log
Для просмотра логов введите команду
journalctl
—
будет выведен огромный спи-
сок различных записей. Использовать команды постраничного вывода вроде
more
необходимости нет, поскольку подобные средства просмотра журнала уже встрое-
ны в саму утилиту journalctl (рис. 7.11).
Обратите внимание на самую первую строку — она говорит, с какого момента
начинается ведение логов. Как правило, это дата установки системы. Понятно, что
с самого начала будет очень много записей, и их как-то нужно фильтровать.
1
См.
http://www.bhv.ru/books/book.php?id=200366
.