Если вы хотите ознакомиться с остальными частями этой статьи, пожалуйста, прочитайте:
Если вы работали с какой-нибудь версией Exchange-сервера, вы наверняка знаете о функции отслеживания сообщений Exchange-сервера. После включения данной функции создаются файлы журналов с детальным описанием движения сообщений внутри вашей инфраструктуры Exchange. Эти файлы журналов помогают вам отлеживать поток сообщений, поскольку в них находится информация о пути сообщения внутри системы Exchange. Помимо этого, журналы создают базу для отчетов, создаваемых такими программами, как Promodag Reports или Quest MessageStats.
В сервере Exchange 2000 и Exchange 2003 функция отслеживания сообщений включается на каждом сервере с помощью окна свойств Exchange-сервера в консоли Exchange System Manager. На вкладке General (Общие) вы можете включить данную функцию и журналирование тем сообщений, а также можете контролировать количество сохраняемых файлов журналов и их расположение (Рисунок 1).
Рисунок 1: Отслеживание сообщений в Exchange 2003
Как вы догадываетесь, в сервере Exchange 2007 также есть подобная функция, однако здесь есть некоторые различия, требующие объяснения. Первое, главное отличие, состоит в том, что отслеживание сообщений невозможно настраивать из консоли Exchange Management Console (EMC), эквивалент консоли Exchange System Manager в серверах Exchange 2000 и Exchange 2003. Для настройки отслеживания сообщений необходимо использовать оболочку управления Exchange Management Shell (EMS), и в данной, первой части статьи я расскажу, как ей пользоваться. Помимо этого стоит отметить, что настройка функции производится на серверах Exchange 2007 с ролями Почтовый сервер (Mailbox), Центральный транспорт (Hub Transport) или Граничный транспорт (Edge Transport). Другими словами, вы не можете производить настройку функции на серверах с ролями Клиентский доступ (Client Access) или Unified Messaging (Унифицированные сообщения). И, наконец, хочу сказать, что в данной статье я буду использовать так называемые «командлеты» оболочки EMS. Microsoft определяет командлет, как команду одной возможности, использующуюся для управления объектами в оболочке Windows PowerShell.
Во второй части статьи я расскажу о журналах функции и о том, как искать в журналах необходимую вам информацию.
Итак, вы установили серверы Exchange 2007 с ролями Почтовый сервер, Центральный транспорт и Граничный транспорт и хотите узнать, как работает функция отслеживания сообщений, как ее настроить и как изменить установки по умолчанию. Начнем разбираться.
Установки по умолчанию
Первым делом рассмотрим соответствующие установки по умолчанию для функции отслеживания сообщений в сервере Exchange 2007. Помните, что сделать это можно только с помощью командлета на серверах с ролями Почтовый сервер, Центральный транспорт или Граничный транспорт. На серверах Центральный транспорт или Граничный транспорт нужно использовать командлет format-list или fl:
Get-TransportServer ИМЯ_СЕРВЕРА | fl
На Почтовом сервере эта команда выглядит так:
Get-MailboxServer ИМЯ_СЕРВЕРА | fl
В дальнейшем все командлеты я буду запускать на Центральном транспорте. Если вы захотите выполнить их на Почтовом сервере, просто поменяйте параметр TransportServer на MailboxServer. Если роли Почтовый сервер и Центральный транспорт расположены на одном сервере, можно использовать любой из этих параметров. Помимо этого я включил параметр ИМЯ_СЕРВЕРА для того, чтобы вы не забывали указывать имя сервера для настройки, хотя данный параметр можно не указывать, если командлет запускается на локальном сервере.
Результатом запуска командлета Get-TransportServer будет экран, подобный Рисунку 2.
Рисунок 2: Результат выполнения командлета Get-TransportServer
Что нам говорит эти результаты? Ничего! Как видно из Рисунка 2, при запуске командлета возвращается достаточно немалое объектов, что затрудняет идентификацию отдельных объектов отслеживания сообщений: для их поиска вам придется пролистать несколько экранов. Я узнал, что все необходимые нам объекты содержат строку messagetracking поэтому лучше всего запустить команду:
Get-MailboxServer ИМЯ_СЕРВЕРА | fl *messagetracking*
Результат показан на Рисунке 3. На самом деле для получения нужных результатов достаточно задать фильтр по строке *tracking*.
Рисунок 3: Отфильтрованные результаты командлета Get-TransportServer
Теперь видно, какие объекты отслеживания сообщений работают на сервере, и каковы их значения. Рассмотрим каждый объект, настройки по умолчанию и возможности их изменения.
Включение/Выключение отслеживания сообщений
В отличие от предыдущих версий Exchange-сервера, функция отслеживания сообщений на серверах с ролями Почтовый сервер, Центральный транспорт или Граничный транспорт включена по умолчанию. Это хорошее изменение, поскольку в любом случае большинство администраторов серверов Exchange 2003 использовали эту функцию, и я не могу припомнить, когда я не использовал эту функцию на своих серверах. Для отключения отслеживания сообщений вам необходимо запустить следующий командлет:
Set-TransportServer ИМЯ_СЕРВЕРА –MessageTrackingLogEnabled $false
Обратите внимание, что я использовал командлет Set-TransportServer, а не Get-TransportServer. Для включения функции замените параметр $false на $true.
Расположение журналов
Теперь мы знаем, что функция включена по умолчанию, но где же хранятся файлы журналов? Те из вас, кто знаком с серверами Exchange 2000 и Exchange 2003 помнят, что по умолчанию журналы функции отслеживания сообщений хранятся в папке \Program Files\exchsrvr\{имя_сервера}.log (Рисунок 1). В Exchange 2007 по умолчанию журналы хранятся в папке \Program Files\Microsoft\Exchange Server\TransportRoles\Logs\MessageTracking.
Если вы захотите изменить место расположения журналов, запустите следующий командлет:
Set-TransportServer ИМЯ_СЕРВЕРА–MessageTrackingLogPath ПУТЬ_К_ЖУРНАЛАМ
Например, если вы хотите сохранять журналы сервера E2K7 в папке D:\Tracking Logs, используйте следующий командлет:
Set-TransportServer E2K7 –MessageTrackingLogPath “D:\Tracking Logs”
Полезное замечание: если целевая папка не существует до запуска командлета, она будет создана.
Еще ряд замечаний по поводу изменения папки журналов функции отслеживания сообщений:
- После изменения места расположения файлов журналов все существовавшие до этого журналы останутся в предыдущей папке. Новые журналы будут создаваться в новом месте.
- Новое место расположения не может быть путем UNC, поскольку оно должно находиться на именно на самом сервере Exchange 2007.
Хотя возможны ситуации, в которых разрешения установятся автоматически, я думаю, будет благоразумным убедиться, что на новую папку установлены правильные разрешения. Учетной записи Administrator необходим полный доступ (Full Control), записи System – полный доступ (Full Control), записи Network Service – доступ на чтение (Read), запись (Write) и удаление подпапок и файлов (Delete Subfolders and Files).
Максимальный размер журнала и папки
Хотя старые файлы журналов функции отслеживания сообщений удаляются после установленного количества дней (подробнее об этом ниже), вся по умолчанию размер папки хранения журналов имеет максимальный размер 250МБ. Другими словами, если общий размер всех файлов журналов превышает 250МБ, наиболее старые файлы будут удалены.
Как можно догадаться, ограничение в 250 МБ можно изменить с помощью командлетов оболочки PowerShell. Например, следующий командлет устанавливает максимальный размер папки сервера E2K7 равным 500 МБ:
Set-TransportServer E2K7 –MessageTrackingLogMaxDirectorySize 500MB
Вы можете заметить, что для определения того, что размер указывается в мегабайтах ставится идентификатор MB. Есть возможность указать размер в байтах (B), килобайтах (KB), гигабайтах (GB) и терабайтах (TB).
Как насчет отдельных файлов журналов? По умолчанию каждый файл имеет максимальный размер в 10МБ, по достижении которого создается новый файл. В сервере Exchange 2003 новый файл создавался каждый день. И снова, данное значение можно изменить с помощью комадлета оболочки PowerShell. В следующем примере мы установим максимальный размер папки сервера E2K7 равным 5 МБ:
Set-TransportServer E2K7 –MessageTrackingLogMaxFileSize 5MB
Также, как и в случае с папкой, размер можно указывать в байтах, килобайтах, гигабайтах и терабайтах.
Максимальное время жизни файла журнала
Как видно из Рисунка 1, в сервере Exchange 2003 файлы журналов функции отслеживания сообщений можно сохранять в течение указанного количества дней, что крайне полезно при устранении неполадок при неполучении сообщения, отосланного несколько дней назад. В Exchange 2007 предел хранения файлов журналов равен 30 дням, что, как мне кажется, достаточно, если вы не знаете точно, сколько дней вам необходимо хранить их.
Для изменения этих настроек используйте следующий командлет:
Set-TransportServer ИМЯ_СЕРВЕРА –MessageTrackingLogMaxAge ДД.ЧЧ:ММ:СС
Как видно из самого командлета, вы можете установить максимальный предел равным определенному количеству дней, часов, минут и секунд. Например, для того, чтобы файлы на сервере E2K7 хранились 15 дней, запустите следующий командлет:
Set-TransportServer E2K7 –MessageTrackingLogMaxAge 15.00:00:00
Журналирование тем
И, наконец, рассмотрим журналирование тем отслеживаемых сообщений для вывода тем сообщений, проходящих через систему. Те из вас, кто работал с сервером Exchange 2003, возможно, помнят, что по умолчанию журналирование тем отключено. В сервере Exchange 2007 журналирование тем по умолчанию включено, что, я считаю, очень хорошо, поскольку большинство организаций все равно использует эту функцию. Однако, данное изменение стоит отследить, если политики безопасности вашей организации запрещают использование этой функции.
Для отключения журналирования тем сообщений запустите следующий командлет:
Set-TransportServer ИМЯ_СЕРВЕРА –MessageTrackingLogSubjectLoggingEnabled $false
Для повторного включения функции замените параметр $false на $true.
Заключение
Трудно представить работу администратора Exchange-сервера без функции отслеживания сообщений, и потому не будет странным, что в сервере Exchange 2007 эта функция включена по умолчанию. Как сказано выше, функция отслеживания сообщений в сервере Exchange 2007 настраивается только через командлеты оболочки PowerShell, поэтому знание упомянутых выше командлетов будет полезно при настройке сервера. Во второй части мы рассмотрим содержимое файлов журналов и непосредственно работу самой функции.
Если вы хотите ознакомиться с остальными частями этой статьи, пожалуйста, прочитайте: