Логи Exchange 2013 Edge Transport

MapiExceptionNetworkError: Unable to mount database

www.microsoft.com

Умение анализировать Логи Exchange 2013 Edge Transport может понадобиться далеко не всегда, ведь не каждая компания использует edge-серверы в своей инфраструктуре. Тем не менее присутствие пограничных транспортных серверов в организации вносит некоторые изменения в работу остальных ролей и нужно точно понимать как бегает почта в разных конфигурациях и точно знать какую информацию вы сможете вытащить с сервера Edge.

Эта статья должна вам помочь в анализе лог-файлов 1 пограничных серверов.

Это четвертая статья из серии, посвященной управлению логированием служб транспортного конвейера Exchange 2013, а вот полный список:

А также статьи о принципе работы этих служб:

Не забывайте об официальной документации.


Найти больше информации по настройке и администрированию Exchange 2013 на моем блоге вы сможете в основной статье тематики — Exchange 2013 — Установка, настройка, администрирование.


Логи Exchange 2013 Edge Transport

В статьях о принципе работы основных служб транспортного конвейера Exchange 2013 я многократно упоминал, что Транспортная служба на серверах почтовых ящиков и Транспортная служба на пограничных транспортных серверах являются очень похожими, если не одинаковыми. В конечном счете выяснилось, что различия в них все же есть. Несмотря на общую для обоих служб архитектуру, обработка сообщений на каждом этапе местами отличается. Тем не менее, название этих служб на ролях MBX и Edge совпадает — Microsoft Exchange Transport.

Немного подробнее:

  • Транспортная служба на пограничных транспортных серверах (Отображаемое имя — Microsoft Exchange Transport, сокращенное — MSExchangeTransport);

За управление отвечают два точно таких же командлета:

  • Get-TransportService 2
  • Set-TransportService 3

Посмотрим подробнее с чем нам придется столкнуться.

1. Убедимся, что все пути лог-файлов определены и ведение журналов активировано. Сделать это можно с помощью командлета Get-TransportService в Exchange Management Shell:

Get-TransportService -Identity exch01 | fl *logpath*

Логи Exchange 2013 Edge Transport 01

Активировать ведение журналов можно двумя способами — определив путь (значение $null отключает логи компонента) и установив необходимое значение параметра включения/отключения логов. Однако у некоторых компонентов параметр включения/отключения отсутствует (например у ActiveUserStatistics). Если же вы выставите значение $null для пути лог-файлов у компонента, который будет иметь значение $true параметра включения/отключения логов, то в журнале событий вы увидите ошибки. Обратите на это внимание.

На скриншоте выше определены пути логов почти всех компонентов. Исключения — DnsLog и QueueLogPath. Параметр FlowControlLogPath зарезервирован Microsoft для собственного использования. Как вы можете заметить, количество параметров отличается в меньшую сторону по сравнению с Транспортной службой роли MBX, но большой роли это не играет, поскольку все отсутствующие параметры исключительно для внутреннего использования Microsoft.

Проверим какие компоненты имеют отдельный параметр для включения логов:

Get-TransportService -Identity exch01 | fl *logenabled*

Логи Exchange 2013 Edge Transport 02

Изменения по сравнению с MBX Transport есть и тут — отсутствуют несколько параметров, зарезервированных для собственного использования Microsoft.

2. Далее включим подробное ведение журнала на каждом соединителе отправки — в EAC — Поток обработки почты\Соединители отправки\ — выбираем соединители, заходим в их свойства, выставляем указатель на Уровень ведения журнала протокола — Подробно.

В PowerShell это можно сделать одной командой сразу для всех соединителей отправки:

Get-SendConnector | Set-SendConnector -ProtocolLoggingLevel "Verbose"

Команда выполняется без какого-либо дополнительного вывода. Если хотите отслеживать данные только конкретных соединителей, укажите в явном виде их имена.

Серверы Edge также имеют один соединитель приема, который получает сообщения сразу и от внутренних отправителей организации, и из интернета от внешних почтовых серверов. О нем ниже.

3. Ну и последняя задача — нужно активировать журнал на соединителе получения:

Get-ReceiveConnector | Set-ReceiveConnector -ProtocolLoggingLevel "Verbose"

Этот соединитель нельзя настроить через EAC — вы его там просто не увидите — но можно настроить через Powershell. В принципе скрытым или системным внутриорганизационным соединителем он не является, а потому устанавливать параметр IntraOrgConnectorProtocolLoggingLevel через командлет Set-TransportService не имеет смысла, ведь скрытых соединителей нет. Тем не менее на всякий случай можете выполнить команду:

Set-TransportService -Identity exch01 -IntraOrgConnectorProtocolLoggingLevel "Verbose"

Исключительно ради интереса глянем на единственный соединитель приема поближе:

Get-ReceiveConnector

Логи Exchange 2013 Edge Transport 03

Если хотите изучить вообще все свойства соединителя, выполните команду:

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.

Про анализ логов читайте в официальной документации 4 5 6.

comments powered by HyperComments