06.06.2020

Get-MessageTrackingLog – Поиск в журналах отслеживания сообщений

Get-MessageTrackingLog командлет для отслеживания сообщений.
Функция отслеживания сообщений записывает все действия при передаче сообщений в журнал. Журналы которые ведутся в Exchange Server можно использовать для исследования сообщений, анализа обработки почты , устранения неполадок

При каких проблемах его можно использовать ?

  • Узнать доставлено ли сообщение , которое отправили из вашей организации
  • Сработало ли правило транспорта
  • Узнать, поступало ли сообщение от определенного домена к вам на Exchange
  • Найти все сообщения отправленные определенным пользователем

По умолчанию после установки Exchange Server данный работает автоматически на всех серверах в ролью Mailbox и пограничных серверах, если логи поиска у вас не пополняются

Посмотреть включен ли Tracking Log можно командой
Get-TransportService | fl MessageTrackingLogEnabled

Также через команду Get-TransportService | fl можно посмотреть и другие параметры

MessageTrackingLogEnabled : True
MessageTrackingLogMaxAge : 30.00:00:00
MessageTrackingLogMaxDirectorySize : 1000 MB (1,048,576,000 bytes)
MessageTrackingLogMaxFileSize : 10 MB (10,485,760 bytes)
MessageTrackingLogPath : C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\MessageTracking

Давайте разберем их
MessageTrackingLogEnabled – Включает или выключает журналы отслеживание сообщений
MessageTrackingLogMaxAge – Сколько хранятся данные логи , после идет перезапись логов
MessageTrackingLogMaxDirectorySize – Размер директории
MessageTrackingLogMaxFileSize – Размер каждого из лог файлов
MessageTrackingLogPath – Путь где располагаются логи

Разберем как можно изменить параметры Get-messageTrackingLog

* MessageTrackingLogEnabled
Set-TransportService [<ServerIdentity>] -MessageTrackingLogEnabled <$true | $false>
* MessageTrackingLogMaxAge
Set-TransportService [<ServerIdentity>] -MessageTrackingLogMaxAge 60.00:00:00
* MessageTrackingLogMaxDirectorySize
Set-TransportService [<ServerIdentity>] -MessageTrackingLogMaxDirectorySize 4000MB
* MessageTrackingLogMaxDirectorySize
Set-TransportService [<ServerIdentity>] -MessageTrackingLogMaxFileSize 20MB
* MessageTrackingLogPath
Set-TransportService [<ServerIdentity>] -MessageTrackingLogPath C:\MessageTrackingLog

Поиск сообщений 

 

Выполняя команду Get-MessageTrackingLog в консоли , покажет нам вывод всех сообщений за 30 дней или то колличество дней которые вы изменили , но вам вывод ограничен . Командлет показывает последние 1000 значений , чтобы он показал все без ограничений нужно использовать ключ –ResultSize Unlimited.

Get-MessageTrackingLog –ResultSize Unlimited

Давайте рассмотрим команду которая покажет все отправленные письма с любых почтовых адресов за 5 часов с вашей организации на  домен gmail.com  , для этого мы будем использовать ключ -Start (Get-Date).AddHours(-5)

Get-MessageTrackingLog -Start (Get-Date).AddHours(-5) -ResultSize unlimited | where {[string]$_.recipients -like “*@gmail.com”}

Чтобы вывести все письма, отправленные определенным пользователем за указанный период через указанный сервер (в отчет выведем только определенные поля):

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

Get-MessageTrackingLog -Start “22.04.2020 08:00:00” -End “26.04.2020 14:00:00” –sender “admin@adlukashin.ru” -ResultSize unlimited  |select-object Timestamp,Sender,Recipients,MessageSubject,EventId|ft

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

(Get-MessageTrackingLog -EventID “receive” -Recipients “admin@adlukashin.ru” -ResultSize unlimited).Count

Чтобы выполнить по  Message-ID(из заголовков письма) сообщения можно найти это письмо. К примеру вам предоставили письмо которое вам отправили , вы знаете его Message-ID(Из заголовка письма которое вам предоставили для анализа) , и хотите проанализировать почему оно не дошло до почтового ящика в вашей организации .

Get-MessageTrackingLog -MessageId 8b3bbf9cd0444a9280fbe216d48dd9ae@adlukashin.ru

Чтобы проанализировать сообщение более подробно используем ключ | fl

Get-MessageTrackingLog -MessageId 8b3bbf9cd0444a9280fbe216d48dd9ae@adlukashin.ru | fl

Чтобы посчитать количество входящих писем за последние 2 дня для конкретного ящика, выполните:

(Get-MessageTrackingLog -EventID “RECEIVE” -Recipients “admin@adlukashin.ru” -ResultSize unlimited).Count

 

В Exchange 2010 у нас был GUI интерфейс в котором можно было подставлять значения и быстро получать результат по поиску. В Exchange 2013 в Exchange Management Shell можно почти также отобразить интерфейс для введения значений. Для этого используем командлет

Show-Command Get-MessageTrackingLog

Получим вот такое окно

Поговорим о путях где находятся логи от Message Tracking Log

Start “$exinstall\TransportRoles\Logs\MessageTracking”

Рассмотрим типы файлов журнала Message Tracking Log
MGSTRK – Создается в ролях Edge,Mailbox – Журналы транспортного сервиса
MGSTRKMA – Создается в ролях Mailbox – Журналы одобрения и отказов при модерации сообщений
MGSTRKMD – Создается в ролях Mailbox – Журналы сообщений доставленные в почтовые ящики (Mailbox Transport Delivery service)
MGSTRKMS – Создается в ролях Mailbox – Журналы посланных сообщений из почтовых ящиков( Mailbox Transport Submission service)

Индексы в Message Tracking Log

C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\MessageTracking\index

Служба MSExchangeTransportLogSearch индексирует идентификатор сообщения и адресную информацию из журнала отслеживания сообщений , а именно Message-ID  и Sender-Adress, чтобы ускорить поиск в журнале отслеживания сообщений.

Если вы восстанавливаете из бэкапов логи и индексы , после того как индексы будут перенесены перезагрузите службу MSExchangeTransportLogSearch , чтобы они перестроили индексы!

 

Добавить комментарий

Написать комментарий




Ваш адрес email не будет опубликован. Обязательные поля помечены *