Умение анализировать Логи Exchange 2013 Edge Transport может понадобиться далеко не всегда, ведь не каждая компания использует edge-серверы в своей инфраструктуре. Тем не менее присутствие пограничных транспортных серверов в организации вносит некоторые изменения в работу остальных ролей и нужно точно понимать как бегает почта в разных конфигурациях и точно знать какую информацию вы сможете вытащить с сервера Edge.
Эта статья должна вам помочь в анализе лог-файлов 1 пограничных серверов.
Это четвертая статья из серии, посвященной управлению логированием служб транспортного конвейера Exchange 2013, а вот полный список:
- Логи Exchange 2013 FrontEnd Transport
- Логи Exchange 2013 Transport
- Логи Exchange 2013 Mailbox Transport
- Логи Exchange 2013 Edge Transport
А также статьи о принципе работы этих служб:
- Служба Exchange 2013 FrontEnd Transport
- Служба Exchange 2013 Transport
- Служба Exchange 2013 Mailbox Transport
- Служба Exchange 2013 Edge Transport
Не забывайте об официальной документации.
Найти больше информации по настройке и администрированию Exchange 2013 на моем блоге вы сможете в основной статье тематики – Exchange 2013 — Установка, настройка, администрирование.
Логи Exchange 2013 Edge Transport
В статьях о принципе работы основных служб транспортного конвейера Exchange 2013 я многократно упоминал, что Транспортная служба на серверах почтовых ящиков и Транспортная служба на пограничных транспортных серверах являются очень похожими, если не одинаковыми. В конечном счете выяснилось, что различия в них все же есть. Несмотря на общую для обоих служб архитектуру, обработка сообщений на каждом этапе местами отличается. Тем не менее, название этих служб на ролях MBX и Edge совпадает – Microsoft Exchange Transport.
Немного подробнее:
- Транспортная служба на пограничных транспортных серверах (Отображаемое имя — Microsoft Exchange Transport, сокращенное — MSExchangeTransport);
За управление отвечают два точно таких же командлета:
Посмотрим подробнее с чем нам придется столкнуться.
1. Убедимся, что все пути лог-файлов определены и ведение журналов активировано. Сделать это можно с помощью командлета Get-TransportService в Exchange Management Shell:
1 |
Get-TransportService -Identity exch01 | fl *logpath* |
Активировать ведение журналов можно двумя способами – определив путь (значение $null отключает логи компонента) и установив необходимое значение параметра включения/отключения логов. Однако у некоторых компонентов параметр включения/отключения отсутствует (например у ActiveUserStatistics). Если же вы выставите значение $null для пути лог-файлов у компонента, который будет иметь значение $true параметра включения/отключения логов, то в журнале событий вы увидите ошибки. Обратите на это внимание.
На скриншоте выше определены пути логов почти всех компонентов. Исключения – DnsLog и QueueLogPath. Параметр FlowControlLogPath зарезервирован Microsoft для собственного использования. Как вы можете заметить, количество параметров отличается в меньшую сторону по сравнению с Транспортной службой роли MBX, но большой роли это не играет, поскольку все отсутствующие параметры исключительно для внутреннего использования Microsoft.
Проверим какие компоненты имеют отдельный параметр для включения логов:
1 |
Get-TransportService -Identity exch01 | fl *logenabled* |
Изменения по сравнению с MBX Transport есть и тут – отсутствуют несколько параметров, зарезервированных для собственного использования Microsoft.
2. Далее включим подробное ведение журнала на каждом соединителе отправки – в EAC – Поток обработки почты\Соединители отправки\ – выбираем соединители, заходим в их свойства, выставляем указатель на Уровень ведения журнала протокола – Подробно.
В PowerShell это можно сделать одной командой сразу для всех соединителей отправки:
1 |
Get-SendConnector | Set-SendConnector -ProtocolLoggingLevel "Verbose" |
Команда выполняется без какого-либо дополнительного вывода. Если хотите отслеживать данные только конкретных соединителей, укажите в явном виде их имена.
Серверы Edge также имеют один соединитель приема, который получает сообщения сразу и от внутренних отправителей организации, и из интернета от внешних почтовых серверов. О нем ниже.
3. Ну и последняя задача – нужно активировать журнал на соединителе получения:
1 |
Get-ReceiveConnector | Set-ReceiveConnector -ProtocolLoggingLevel "Verbose" |
Этот соединитель нельзя настроить через EAC – вы его там просто не увидите – но можно настроить через Powershell. В принципе скрытым или системным внутриорганизационным соединителем он не является, а потому устанавливать параметр IntraOrgConnectorProtocolLoggingLevel через командлет Set-TransportService не имеет смысла, ведь скрытых соединителей нет. Тем не менее на всякий случай можете выполнить команду:
1 |
Set-TransportService -Identity exch01 -IntraOrgConnectorProtocolLoggingLevel "Verbose" |
Исключительно ради интереса глянем на единственный соединитель приема поближе:
1 |
Get-ReceiveConnector |
Если хотите изучить вообще все свойства соединителя, выполните команду:
1 |
Get-ReceiveConnector | fl |
На этом все предварительные настройки завершены. Надо сказать, что привычный путь к лог-файлам немного отличается на серверах Edge. Если быть более конкретным, то папка Hub называется Edge. В принципе логично, но тогда бы уж сменили сразу имя Hub на MBX, а то ведь роли HUB Transport в 2013 версии Exchange уже нет.
Пришло время сделать сводную таблицу по логам Транспортной службы на пограничных транспортных серверах:
Путь до log-файлов | Назначение |
%ExchangeInstallPath%TransportRoles\Logs\Edge\Connectivity | журнал подключений |
%ExchangeInstallPath%TransportRoles\Logs\MessageTracking | журнал отслеживания сообщений |
%ExchangeInstallPath%Logging\IRMLogs | журнал управления правами на доступ к данным |
%ExchangeInstallPath%TransportRoles\Logs\Edge\ActiveUsersStats | журнал статистики активности для каждого пользователя |
%ExchangeInstallPath%TransportRoles\Logs\Edge\ServerStats | журнал статистики сервера. Недоступен с Exchange 2013 cu7 и более поздних версий |
%ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpReceive | журнал протокола для всех получающих соединителей данного сервера |
%ExchangeInstallPath%TransportRoles\Logs\Edge\Routing | журнал таблицы маршрутизации |
%ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpSend | журнал протокола для соединителей отправки |
— | журнал очереди |
%ExchangeInstallPath%TransportRoles\Logs\Edge\AgentLog | журнал агента |
Для отслеживания потока почты самые полезные логи хранятся в каталогах:
- %ExchangeInstallPath%TransportRoles\Logs\MessageTracking
- %ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpReceive
- %ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpSend
В зависимости от конфигурации ролей Exchange 2013 на ваших серверах, в каждом конкретном случае поток обработки почты может отличаться и нужно точно понимать когда и в каких случаях смотреть логи на пограничных серверах. В этом вам должна помочь статья Поток обработки почты при разной топологии Exchange 2013.