Ведение журнала протокола в Exchange Server

При ведении журнала протокола записываются разговоры SMTP между серверами обмена сообщениями и службами Exchange в транспортном конвейере в рамках доставки сообщений. Ведение журнала протокола можно использовать для диагностики неполадок, связанных с потоком обработки почты. Разговоры SMTP, которые могут быть записаны в журнале протокола, происходят в:

  • соединителях отправки и получения в службе транспорта на серверах почтовых ящиков;

  • соединителях отправки и получения в службе транспорта на пограничных транспортных серверах;

  • соединителях получения во внешней службе транспорта на серверах почтовых ящиков;

  • неявном и невидимом соединителе отправки внутри организации в службе транспорта на серверах почтовых ящиков;

  • неявном и невидимом соединителе отправки внутри организации во внешней службе транспорта на серверах почтовых ящиков;

  • неявном и невидимом соединителе отправки внутри организации в службе отправки транспорта почтовых ящиков на серверах почтовых ящиков;

  • неявном и невидимом соединителе получения доставки в почтовые ящики в службе доставки транспорта почтовых ящиков на серверах почтовых ящиков.

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

  • Соединитель получения по умолчанию с именем Default Frontend <ServerName> в транспортной службе переднего плана на серверах почтовых ящиков.

  • неявного и невидимого соединителя отправки во внешней службе транспорта на серверах почтовых ящиков.

Для всех остальных соединителей ведение журнала протокола отключено по умолчанию. Его потребуется включить отдельно для каждого соединителя. Вы можете настраивать остальные параметры ведения журнала протокола для всех соединителей получения или отправки в каждой отдельной службе транспорта на сервере Exchange. Все соединители получения в службе транспорта используют одни и те же файлы и параметры журнала протокола. Эти файлы и параметры отделены от файлов и параметров журнала протокола для соединителя отправки в той же службе транспорта на сервере Exchange.

По умолчанию Exchange использует циклическое ведение журнала, чтобы ограничить журнал протокола в зависимости от размера файла и возраста файла, чтобы контролировать место на жестком диске, используемое файлами журнала. Сведения о настройке ведения журнала протокола см. в разделе Настройка ведения журнала протокола.

Структура файлов журнала протокола

По умолчанию файлы протокола размещаются в следующих папках:

  • Внешняя служба транспорта на серверах почтовых ящиков:

    • Соединители получения: %ExchangeInstallPath%TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpReceive

    • Отправка соединителей: %ExchangeInstallPath%TransportRoles\Logs\FrontEnd\ProtocolLog\SmtpSend

  • Транспортная служба на серверах почтовых ящиков:

    • Соединители получения: %ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpReceive

    • Отправка соединителей: %ExchangeInstallPath%TransportRoles\Logs\Hub\ProtocolLog\SmtpSend

  • Служба доставки транспорта почтовых ящиков на серверах почтовых ящиков (соединители получения): %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpReceive\Delivery

  • Служба отправки транспорта почтовых ящиков на серверах почтовых ящиков (соединители отправки): %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpSend\Submission

    Примечание. Ведение журнала протоколов для сообщений о побочных эффектах, которые отправляются после доставки сообщений в почтовые ящики, происходит в %ExchangeInstallPath%TransportRoles\Logs\Mailbox\ProtocolLog\SmtpSend\Delivery. Например, сообщение, доставленное в почтовый ящик, активирует правило папки "Входящие", которое перенаправляет сообщение другому получателю.

  • Транспортная служба на пограничных транспортных серверах:

    • Соединители получения: %ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpReceive

    • Отправка соединителей: %ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpSend

Соглашение об именовании для файлов журнала — для SENDyyyyMMddhh-nnnn.log соединителей отправки и RECVyyyyMMddhh-nnnn.log для соединителей получения. Заполнители обозначают следующее:

  • yyyyMddhh — это дата создания файла журнала в формате UTC. гггг = год, ММ = месяц, дд = день и чч = час.

  • nnnn — это номер экземпляра, начинающийся со значения 1 каждый час.

Данные записываются в файл журнала, пока не будет достигнут его максимальный размер. Затем открывается новый файл журнала с увеличенным номером экземпляра (-1 для первого, -2 для второго и т. д.) При циклическом ведении журнала самые старые файлы журнала удаляются при соблюдении любого из следующих условий:

  • достигнут максимальный срок хранения файла журнала;

  • достигнут максимальный размер папки журнала протокола.

Файлы журнала протокола представляют собой текстовые файлы в формате данных с разделителями-запятыми (CSV). Каждый файл журнала протокола снабжен заголовком, содержащим следующие сведения:

  • #Software: значение равно Microsoft Exchange Server.

  • #Version: номер версии сервера Exchange Server, создавшего файл журнала отслеживания сообщений. Значение использует формат 15.01.nnnn.nnn.

  • #Log-Type: значение равно SMTP Receive Protocol Log или SMTP Send Protocol Log.

  • #Date: дата и время создания файла журнала в формате UTC. Дата-время в формате UTC представлено в формате даты и времени ISO 8601: гггг-ММ-ддTчч:мм:ss.fffZ, где гггг = год, ММ = месяц, дд = день, T указывает начало компонента времени, чч = час, мм = минута, ss = секунда, fff = доли секунды, а Z обозначает Zulu, что является еще одним способом обозначения UTC.

  • #Fields: имена полей с разделителями-запятыми, используемые в файлах журнала протокола.

Поля журнала протокола

В каждой строке журнала протокола хранится одно событие протокола SMTP. Данные в каждой строке сгруппированы по полям, а поля разделены запятыми. В приведенной ниже таблице представлены поля, используемые в журнале протокола.

Имя поля Описание
date-time Дата и время события протокола в формате UTC. Дата-время в формате UTC представлено в формате даты и времени ISO 8601: гггг-ММ-ддTчч:мм:ss.fffZ, где гггг = год, ММ = месяц, дд = день, T указывает начало компонента времени, чч = час, мм = минута, ss = секунда, fff = доли секунды, а Z обозначает Zulu, что является еще одним способом обозначения UTC.
connector-id Различающееся имя (DN) соединителя, связанного с событием SMTP.
session-id Значение GUID, уникальное для каждого сеанса SMTP, но одинаковое для каждого события, связанного с этим сеансом.
sequence-number Значение счетчика, которое начинается с 0 и увеличивается на единицу для каждого события в рамках одного SMTP-сеанса.
local-endpoint Локальная конечная точка SMTP-сеанса. Он состоит из IP-адреса и номера TCP-порта, отформатированного как <IP-адрес>: <порт>.
remote-endpoint Удаленная конечная точка SMTP-сеанса. Он состоит из IP-адреса и номера TCP-порта, отформатированного как <IP-адрес>: <порт>.
event Одиночный символ, представляющий событие протокола. Допустимые значения:
+:Подключения
-:Отключите
>:Отправить
<:Получить
*:Информация
data Текстовые данные, связанные с SMTP-событием.
context Дополнительные содержательные сведения, которые могут быть связаны с SMTP-событием.

Один разговор SMTP, представляющий отправку или получение одного электронного сообщения, создает несколько событий SMTP. Каждое событие записывается в отдельной строке журнала протокола. В любой момент на сервере Exchange происходит множество разговоров SMTP. При этом в журнале протокола попеременно создаются записи из разных разговоров SMTP. С помощью полей session-id и sequence-number можно отсортировать записи в журнале протокола по разговорам SMTP.