Ранее мы уже рассказывали о том, как в Zimbra OSE организованы централизованные логи. Помимо единого лог-файла, расположенного /var/log/zimbra.log, Zimbra OSE также хранит логи в папке /opt/zimbra/log/. Именно в этой папке можно найти отдельные логи для различных узлов Zimbra. В зависимости от серьезности описываемых событий они разделяются на уровни INFO, WARN, ERROR и FATAL. Уровнем логирования по умолчанию является INFO, в рамках которого описываются все, даже штатные события, происходящие в Zimbra OSE. Однако на деле системному администратору не всегда требуется слишком подробная информация о работе различных узлов Zimbra OSE. Также нередко администратор сталкивается с необходимостью получить более детальные логи о действиях той или иной учетной записи. Такая задача, к примеру, может появиться в случае возникновения различных ошибок, инцидента информационной безопасности или если сотрудник находится под подозрением в инсайдерской работе. Помочь в таких ситуациях может настройка уровня логирования на сервере.

Для ведения логов Zimbra OSE использует Apache Log4j — библиотеку для журналирования java-программ, которая, поддерживает изменение уровня логов как глобально в рамках одного почтового сервера, так и отдельных учетных записей. Кастомизация уровня журналирования для всех учетных записей на сервере делается это с помощью правки конфигурационных файлов log4j на сервере. В зависимости от того, в какой файл будут внесены изменения, они могут быть как временными, то есть действующими до первой перезагрузки почтового сервера, так и постоянными.
Для того, чтобы внести временные изменения, необходимо отредактировать файл /opt/zimbra/conf/log4j.properties. В нем содержатся записи вида log4j.logger.zimbra.mailbox=INFO. Изменив параметр INFO на DEBUG вы временно повысите уровень логов своего сервера, связанных с действиями в почтовых ящиках пользователей. Чтобы внесенные изменения стали постоянными, необходимо отредактировать шаблон файла настроек, расположенный в той же папке файл log4j.properties.in. На его основе формируется файл настроек при каждой загрузке Zimbra OSE и поэтому все внесенные в него изменения являются перманентными.
Добавить логгер для учетной записи можно при помощи команды zmprov addAccountLogger или zmprov aal. В дополнение к ней необходимо указать название учетной записи, а также уровень логирования и наименование отслеживаемых событий. В случае, если вы используете Zimbra OSE в рамках мультисерверной инфраструктуры, необходимо также указать имя почтового сервера, на котором хранится данная учетная запись.
К примеру, команда zmprov aal admin@mail.example.ru zimbra.account warn добавит логгер для учетной записи admin@mail.example.ru, в котором будут фиксироваться все события учетной записи с уровнем логов warn и выше. К таким событиям, например, относится ввод неправильного пароля.

В случае, если учетная запись располагается в мультисерверной инфраструктуре, необходимо добавить в нее имя почтового хранилища, на котором располагается учетная запись. Например, zmprov aal -s mailstore1.example.ru admin@mail.example.ru zimbra.imap debug создаст лог учетной записи admin@mail.example.ru, расположенной в почтовом хранилище mailstore1.example.ru и фиксирующий активность учетной записи на протоколе IMAP с уровнем логов debug и выше
Логирование учетных записей поддерживает более двух десятков категорий:
-
zimbra.account — Все действия учетной записи
-
zimbra.acl — Действия с правами доступа
-
zimbra.cache — Действия с кэшем
-
zimbra.calendar — Действия с календарем
-
zimbra.dav — Действия с CalDAV
-
zimbra.dbconn — Отслеживание подключений к базе данных
-
zimbra.extensions — Отслеживание загрузки серверных расширений
-
zimbra.filter — Фильтрация почты
-
zimbra.gal — Действия с глобальной адресной книгой
-
zimbra.imap — Действия с протоколом IMAP
-
zimbra.index — Действия с индексным хранилищем
-
zimbra.io — Действия с файловой системой
-
zimbra.ldap — Действия с LDAP
-
zimbra.lmtp — Действия с протоколом LMTP (входящая почта)
-
zimbra.mailbox — Общие действия с почтовых ящиком
-
zimbra.misc — Прочие действия
-
zimbra.op — изменения в состоянии почтового ящика
-
zimbra.pop — Действия с протоколом POP
-
zimbra.redolog — Действия с Redo log
-
zimbra.security — События системы безопасности
-
zimbra.session — Отслеживание пользовательской сессии
-
zimbra.smtp — Действия с протоколом SMTP (исходящая почта)
-
zimbra.soap — Действия с протоколом SOAP
-
zimbra.sqltrace — Отслеживание SQL
-
zimbra.system — Включение/выключение и другие системные сообщения
-
zimbra.zimlet — Действия с Зимлетами
Категория zimbra.account является объединяющей все другие категории, а категория zimbra.mailbox объединяет все категории, связанные с действиями в почтовом ящике пользователя. Также категории можно добавлять по отдельности. К примеру, если вы хотите отслеживать действия учетной записи по протоколам CalDAV и IMAP, то вам придется добавить два новых лога учетной записи:
sudo su - zimbra zmprov aal ivanov@example.ru zimbra.imap debug zmprov aal ivanov@example.ru zimbra.dav debug

Для просмотра логов можно использовать команду tail -f /opt/zimbra/log/mailbox.log | grep admin@mail.example.ru. Данная команда конкатенирует все сохранённые в лог-файле данные, касающиеся данной учетной записи и по мере их появления будет отображать их. Также вывод этой команды можно сохранить в текстовом файле tail -f /opt/zimbra/log/mailbox.log | grep admin@mail.example.ru > log.txt
Просмотреть ранее созданные логгеры учетных записей можно введя команду zmprov getAllAccountLoggers или просто zmprov gaal. В выводе команды отобразятся учетные записи, для которых добавлены логгеры, а также перечень и уровень логируемых категорий.
После того как поставленная задача будет выполнена, логгеры учетных записей можно удалить. Делается это также из командной строки с помощью команды zmprov removeAccountLogger или zmprov ral. К примеру, команда zmprov ral admin@mail.example.ru zimbra.imap удалит логгер учетной записи, отслеживающий действия по протоколу IMAP, после чего все действия учетной записи по данному протоколу будут отслеживаться с уровнем журналирования, выставленным по умолчанию.

Таким образом, в зависимости от стоящих перед администратором задач он может регулировать уровень журналирования событий как на всем почтовом сервере Zimbra, так и в отдельных учетных записях.
Эксклюзивный дистрибьютор Zextras SVZcloud. По вопросам тестирования и приобретения Zextras Carbonio обращайтесь на электронную почту: sales@svzcloud.ru
ссылка на оригинал статьи https://habr.com/ru/articles/591481/
Добавить комментарий