Именно в этой папке можно найти отдельные логи для различных узлов 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, так и в отдельных учетных записях.
По всем вопросам, связанными c Zextras Suite и Team Pro вы можете обратиться к Представителю компании «Zextras» Екатерине Триандафилиди по электронной почте ekaterina.triandafilidi@zextras.com .