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

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

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

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

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

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

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

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

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

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

  • Соединиттель получения по умолчанию с именем 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 . Например, сообщение, доставленное в почтовый ящик, активирует правило папки "Входящие", которое перенаправляет сообщение другому получателю.

  • Служба транспорта на серверах транспорта edge:

    • Получение соединители:%ExchangeInstallPath%TransportRoles\Logs\Edge\ProtocolLog\SmtpReceive

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

Конвенция именования файлов журналов для соединителов отправки и SENDyyyymmdd-nnnn.log RECVyyyymmdd-nnnn.log соединителов получения. Заполнители обозначают следующее:

  • yyyymmdd — это дата создания файла журнала (в формате UTC). yyyy = год, мм = месяц и dd = день.

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

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

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

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

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

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

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

  • #Log тип: значение либо SMTP Receive Protocol Log или SMTP Send Protocol Log .

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

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

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

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

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

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