Если вы хотите ознакомиться с остальными частями этой статьи, пожалуйста, прочитайте:
Введение
В первой части мы рассмотрели настройки по умолчанию функции отслеживания сообщений сервера Exchange 2007 и узнали, как можно изменять эти настройки с помощью командлетов оболочки PowerShell. Возможно, вы помните основные изменения функции в сервере Exchange 2007 по сравнению с сервером Exchange 2003:
- Отслеживание сообщений включено по умолчанию.
- Журналирование тем сообщений включено по умолчанию.
- По умолчанию журналы сохраняются в течение 30 дней.
Существуют и другие различия, но их, если забыли, вы можете увидеть в первой части. Во второй части статьи мы рассмотрим содержимое файлов журналов и поиск информации в них.
Что находится в журнале?
На Рисунке 1 показан каталог хранения файлов журналов, внутри которого находятся два файла журнала. На самом деле, следует заметить, что показан каталог для хранения не по умолчанию, поскольку с помощью командлета из первой части статьи я изменил путь хранения журналов на D:\Tracking Logs. Первое, на что следует обратить внимание, это имена файлов. Формат их такой:
MSGTRKггггммдд-n.log
MSGTRKMггггммдд-n.log
Данный формат дает нам следующую информацию:
- Префикс MSGTRK означает, что файл находится на серверах с ролью Центральный транспорт или Граничный транспорт.
- Префикс MSGTRKM означает, что файл находится на серверах с ролью Почтовый ящик.
- гггг – четырехзначное обозначение года создания файла.
- мм – двухзначное обозначение месяца создания файла.
- дд – двухзначное обозначение дня создания файла.
- n – инкремент, начинающийся каждый день с единицы.
Как видно из Рисунка 1, на одном и том же сервере у меня расположены файлы MSGTRK и MSGTRKM. Как можно догадаться, это означает, что роли Центральный транспорт и Почтовый ящик расположены на одном и том же сервере. Первый файл - MSGTRK20061217-1.log. Как только размер этого файла достигнет максимального значение, которое, как вы помните, по умолчанию равно 10МБ, будет создан следующий файл с именем MSGTRK20061217-2.log.
На Рисунке 2 показано содержимое обычного файла журнала функции отслеживания сообщений, взятого с сервера Центральный транспорт. Первое, что бросается в глаза, это то, что данные представлены в формате CSV (Comma Separated Value – Данные с разделителями-запятыми). Сравните с примером журнала сервера Exchange 2003 (Рисунок 3).
Как видно из Рисунка 2, первые строки журнала содержат системную информацию о файле журнала. Заголовки появляются в таком порядке: #Software, #Version, #Log-Type, #Date, #Fields. Вот описание этих заголовков:
- #Software (Программное обеспечение).Название приложения, создавшего файл журнала. В нашем случае это Microsoft Exchange Server.
- #Version (Версия). Номер версии приложения, создавшего файл журнала. В нашем случае использовался сервер Exchange 2007 RTM, номер версии 8.0.0.0. Этот же номер имеет и версия Exchange 2007 Beta 2.
- #Log-Type (Тип журнала). Тип файла журнала, созданного приложением, в нашем случае Message Tracking Log (Журнал функции отслеживания сообщений).
- #Date (Дата). Дата и время создания файла журнала в формате гггг-мм-ддTчч:мм:сс.мммZ. Можно догадаться, что гггг – означает год, мм – месяц, дд – день, чч – час, второе мм – минуты, сс – секунды и ммм - миллисекунды.
- #Fields (Поля). Список с разделителями-запятыми имен полей, показанных внутри файла журнала. Имена полей таковы (в порядке появления): date-time (дата-время), client-ip (IP клиента), client-hostname (имя узла клиента), server-ip (IP сервера), server-hostname (имя сервера), source-context (контекст источника), connector-id (идентификатор коннектора), source (источник), event-id (идентификатор события), internal-message-id (идентификатор внутреннего сообщения), message-id (идентификатор сообщения), recipient-address (адрес получателя), recipient-status (статус получателя), total-bytes (всего байт), recipient-count (количество получателей), related-recipient-address (относительный адрес получателя), reference (ссылка), message-subject (тема сообщения), sender-address (адрес отправителя), return-path (путь для возврата), message-info (информация о сообщении).
Я не буду детально описывать все поля, поскольку их описание можно найти в файле помощи сервера Exchange 2007. Честно говоря, о значении почти всех полей можно догадаться из их названия, и включив функцию отправки сообщений и отправив несколько сообщений, вы сами сможете легко разобраться, какая информация хранится в каждом их полей.
Поиск в журнале
Как вы, вероятно, помните, настройку функции отслеживания сообщений можно производить только с помощью оболочки Exchange Management Shell (EMS); возможностей для настройки с помощью консоли Exchange Management Console (EMC) нет. Если вы предпочитаете графические средства администрирования, вы вам будет приятно узнать, что для поиска информации в файлах журналов функции отслеживания сообщений можно воспользоваться средством Message Tracking. Конечно, можно пользоваться и оболочкой EMS, но обратите внимание на различия между этими двумя способами, которые я опишу ниже.
Вначале рассмотрим работу средства Message Tracking при поиске информации в файлах журналов. Мы рассмотрим это средство первым только потому, что при работе программы вы увидите соответствующий командлет, что облегчит описание работы этой функции в EMS. Вот как запустить средство Message Tracking:
- Запустите консоль Exchange Management Console.
- В левой части панели (дереве консоли) выберите Toolbox (Средства).
- В средней панели (Панель результатов) выберите пункт Message Tracking (Отслеживание сообщений) из раздела Mail flow tools (Средства по работе с потоком сообщений).
- Вы можете выбрать либо параметр Open tool (Открыть средство) из правой панели (Панель действий), либо правой кнопкой щелкнуть по опции Message Tracking (Отслеживание сообщений) в Панели результатов и выбрать из контекстного меню пункт Open tool (Открыть средство). Кстати, если вы не видите Панель действий, возможно, она просто скрыта с помощью меню View (Просмотр) оснастки EMC. Нажмите View (Просмотр), далее Customize… (Настроить...) и Customize View (Настроить вид), убедитесь, что выбран параметр Action pane (Панель действий).
- Откроется окно приложения Microsoft Exchange Troubleshooting Assistant. Если вы в первый раз выбрали эту опцию, возможно, вам придется проскочить через несколько окон проверки обновлений. В результате перед вами, появится окно, изображенное на Рисунке 4.
Заполните соответствующие поля для поиска, например, sender (отправитель), recipient(s) (получатель), message subject (тема сообщения) и т.д. Учтите следующее:
- В самом низу экрана в разделе Exchange management shell command (Команда оболочки Exchange-сервера) показан соответствующий командлет для запуска такого же поиска из оболочки EMS.
- Обратите внимание, что на Рисунке 2 время и дата представлены в формате UTC (Universal Coordinated Time – Всеобщее скоординированное время), тогда как в поиске (Рисунок 4) используются региональные форматы даты и времени. Средство само выполнит конвертацию.
- Поле поиска EventID (Идентификатор события) имеет для выбора несколько вариантов, например RECEIVE (Получено) для поиска сообщений, полученных соответствующим сервером, или DELIVER (Доставлено) для поиска сообщений, доставленных в почтовые ящики. Детальное описание вариантов выбора можно найти в файле помощи сервера Exchange 2007.
Для примера выполним простой поиск всех сообщений, у которых в теме содержится слово “hello”. Для этого вам нужно заполнить как минимум два поля Рисунка 4. Первое – необходимо поставить отметку в поле Subject (Тема) и ввести в текстовое поле слово “hello”. Второе – следует убедиться, что дата окончания больше даты начала. По умолчанию эти даты одинаковы, и если не поменять дату окончания, при выполнении поиска выдается ошибка. Помимо этого, если роли Почтовый ящик и Центральный транспорт расположены на разных серверах, и вы выполняете поиск по серверу Почтовый ящик, вам необходимо изменить поле EventID (Идентификатор события) на SUBMIT (Принято), поскольку на сервере Почтовый ящик хранятся только события с идентификатором SUBMIT, которые создаются на Почтовом ящике при подтверждении на Центральном транспорте. Не сомневаюсь, что вы помните, что все сообщения проходят через Центральный транспорт.
Предположим, что вы ввели все необходимые данные и нажали кнопку Next (Далее). Тогда вы должны увидеть экран, похожий на Рисунок 5.
Обратите внимание на сообщение Selected row will populate parameters for next message tracking search (Выбранные параметры будут перенесены в следующий поиск). Прекрасное свойство: все, что было выбрано, например, тема сообщения (Рисунок 5), будет использовано в качестве основы для следующего поиска при нажатии кнопки Next (Далее) внизу экрана.
Помимо этого следует отметить зависимость функции отслеживания сообщений от службы Microsoft Exchange Transport Log Search (Поиск в журналах транспорта сервера Microsoft Exchange). Возможно, вы уже заметили, что в сервере Exchange 2007 значительно возросло количество связанных с сервером служб, показанных в оснастке Services (Службы). Поиск информации в журналах отслеживания сообщений требует, чтобы служба Microsoft Exchange Transport Log Search была запущена. Если служба не включена, вы увидите сообщение об ошибке, показанное на Рисунке 6. Обратите внимание, что если по какой-либо причине необходимая служба отключена, единственное, на что это может повлиять, это работа функции поиска информации в журналах отслеживания сообщений; другие функции Exchange-сервера не пострадают.
Теперь рассмотрим поиск информации с помощью оболочки EMS. Здесь все сводится к использованию командлета MessageTrackingLog. Данный командлет можно использовать без каких-либо параметров, и результатом его работы будет вывод последних 1000 записей журнала. Вряд ли это будет полезным, поэтому и необходимо использовать параметры. Ограничить количество записей можно с помощью параметра ResultSize. Для повтора предыдущего поиска можно просто скопировать командлет, выдаваемый средством Message Tracking:
Get-MessageTrackingLog –EventID “RECEIVE” –MessageSubject “hello” –Start “01/12/2006 00:00:00” –End “28/12/2006 18:50:00”
Обратите внимание, что в данном примере даты начала и окончания указаны в формате Великобритании. В ином случае, должно быть понятно, по каким параметрам выполняется поиск. Результаты будут такими:
Как видно из Рисунка 7, показаны 5 полей по умолчанию: EventId, Source, Sender, Recipients и MessageSubject. Если вы используете параметры format-list или fl, вы получите больше информации. Так, например, на Рисунке 8 показана детальная информация этого же поиска. Естественно, вы можете перенаправить результаты выполнения в текстовый файл, добавив > "C:\results.txt" в конце командлета.
Логически можно догадаться, что вначале следует воспользоваться средством Message Tracking, откуда и можно взять необходимый командлет со всеми нужными вам параметрами. После более тесного знакомства с командлетами, вы сможете использовать только оболочку EMS. Выбор остается за вами.
Чтобы закончить разговор об использовании EMS для поиска сообщений, следует напомнить, что если служба Microsoft Exchange Transport Log Search не запущена, вы получите точно такое же сообщение об ошибке, как и при использовании средства Message Tracking (Рисунок 9).
Различия
Есть ли различия между использованием средства Message Tracking и EMS? Да, они есть. Как видно из Рисунка 4, средство Message Tracking предоставляет вам возможность использования в качестве фильтра для поиска поле Server (Сервер). В EMS параметр Server относится к имени сервера, в файлах журналов которого вы и будете осуществлять поиск.
С другой стороны, в EMS есть фильтр поиска Reference (Ссылка), которого нет в средстве Message Tracking. Этот параметр связан с полем ссылки внутри самого журнала, где содержится информация об идентификаторах оповещения о статусе доставки сообщения (Delivery Status Notification - DSN).
Вывод
Надеюсь, в моей статье вы нашли необходимую информацию о функции отслеживания сообщений, о ее работе, настройках по умолчанию, изменению этих настроек и поиске информации. Естественно, поиск информации для каждого пользователя индивидуален, поэтому рекомендую вам поиграться со средством Message Tracking и интерфейсом командной строки.
Если вы хотите ознакомиться с остальными частями этой статьи, пожалуйста, прочитайте: