Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Exchange Server Exchange Server 2007 Управление файлами логов в Exchange Server 2007 (часть 1) RSS

Управление файлами логов в Exchange Server 2007 (часть 1)

Текущий рейтинг: 5 (проголосовало 2)
 Посетителей: 2011 | Просмотров: 2893 (сегодня 0)  Шрифт: - +

Если вам приходилось диагностировать сервер Exchange Server 2003, то вы помните закладку Диагностические логи (Diagnostic Loggings) в Exchange Server 2003, которая показана на рисунке 01. Эта закладка была на самом деле очень полезна, так как с ее помощью можно было просматривать основные компоненты слева, а для каждого компонента можно было просматривать одну или несколько категорий, в которых можно было задавать различные уровни ведения логов для этих компонентов и их субкатегорий.

*

Рисунок 01

Каждое событие, генерируемое сервером Exchange Server имеет свое значение уровня записи логов (logging level value), и основываясь на этих значениях информация логов отображается в логе приложения с помощью программы просмотра событий Event Viewer. В следующей таблице поясняются уровни записи логов (Logging level) и присвоенные им номера:

Таблица 1
Уровень записи логов (Logging Level)Значение реестра (Registry Value)Значение Exchange 2007Описание
Нет (None)0Минимальный (Lowest)Только критические события и ошибки будут регистрироваться в логах, а также события с уровнем записи логов, равным 0.
Минимальный (Minimum)1Низкий (Low)События с уровнем записи лога, равным 1 или ниже будут регистрироваться в журнал.
Средний (Medium)3Средний (Medium)В журнал будут регистрироваться события с уровнем записи лога, равным 3 или ниже.
Максимальный (Maximum)5Высокий (High)В журнал будут регистрироваться события с уровнем записи логов, равным 5 или ниже.
Эксперт (Expert)7Эксперт (Expert)В журнал будут регистрироваться события с уровнем записи логов, равным 7 или ниже.

Основываясь на изменениях уровней записи логов в системном диспетчере Exchange System Manager, параметры регистрации будут получать цифровое значение, связанное с уровнем записи логов, все компоненты Exchange расположены по следующим путям в системном реестре:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Component Name>\Diagnostics

У них также есть общая директория под названием Diagnostics и все категории конкретной службы перечислены в этом ключе, а значения, приведенные в таблице выше можно изменить.

Путь реестра и ключ Diagnostics показаны на рисунке 02, этот путь можно использовать как в Exchange Server 2003, так и в Exchange Server 2007.

*

Рисунок 02

Как вы знаете, отладку следует использовать только во время диагностирования. Если вы не работаете над проблемой, можно установить уровень на минимальное значение для повышения производительности Exchange Server.

К сожалению у нас нет графического интерфейса для управления уровнем записи логов Diagnostics в Exchange Server 2007, однако мы можем использовать Exchange Management Shell с помощью следующих команд: Get-EventLogLevel и Set-EventLogLevel.

Get-EventLogLevel перечисляет компоненты и конфигурацию уровня записи логов соответствующих категорий. Результаты команды Get-EventLogLevel показаны на рисунке 03.

*

Рисунок 03

По умолчанию команда Get-EventLogLevel cmdlet будет выполняться на локальном сервере, позже в этой статье мы воспользуемся ей для получения информации с удаленного сервера.

Получение информации отладки из оболочки Exchange Management Shell

Мы видели, как просматривать текущий уровень ведения логов для всех компонентов в Exchange Server 2007, теперь мы воспользуемся некоторыми функциями PowerShell для улучшения работы администраторов при получении уровня отладки (Debug Level) определенных компонентов.

Мы можем получить информацию уровня отладки определенных компонентов путем использования столбца Identity, который был показан на рисунке 03. Допустим, мы можем подтвердить уровень отладки для определенной категории кластера MSExchange Cluster и компонента Move, для этого используем команду:

Get-EventLogLevel ‘MSExchange Cluster\Move’

Еще одним возможным способом является использование только имени компонента или использование специального символа, чтобы сузить полученные результаты. Чтобы использовать имя компонента, нам просто нужно указать строку перед символом (\). Допустим, мы хотим проверить уровень отладки для Active Directory Access и его компонентов, используем следующую команду:

Get-EventLogLevel ‘MSExchange ADAccess’

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

*

Рисунок 04

Теперь, когда мы знаем об использовании спецсимвола с командой Get-EventLogLevel, мы можем использовать его для фильтрации результатов иным образом. Мы можем искать все категории, расположенные в строке, или же мы можем использовать категорию и спецсимвол для сужения результатов. На рисунке 05 приведена пара примеров использования спецсимвола, в первом примере мы искали строку ‘Transport’ во всех категориях текущего сервера, а во втором примере у нас есть лишь те компоненты, которые начинаются с буквы ‘C’ в компоненте MSExchange ADAccess.

*

Рисунок 05

Мы фильтровали информацию, используя лишь первый столбец, которым является Identity, но мы также можем воспользоваться EventLevel. Допустим, мы хотим проверить все компоненты, для которых EventLevel равен среднему, в этом случае мы используем следующую команду:

Get-EventLogLevel | where { $_.EventLevel -eq "Medium" }

Поскольку мы знаем, что Medium соответствует цифре 3 в реестре и данная команду получит эту информацию, мы также можем перечислить категории, имеющие Medium или более высокие значения следующим образом:

Get-EventLogLevel | where { $_.EventLevel ‘ge 3 }

Настройка уровней отладки

Теперь, когда мы знаем, как получать список категорий и их уровня Event, мы можем начать работу с ними с помощью команды Set-EventLogLevel. Чтобы изменить уровень записи логов, можно воспользоваться следующим синтаксисом, в этом примере мы изменим субкомпонент Topology для Microsoft Exchange Active Directory Access (MSExchange ADAccess) следующим образом:

Set-EventLogLevel ‘MSExchange ADAccess\General’ ‘Level Expert

Параметр level может иметь любое значение, перечисленное в таблице 1 (Exchange 2007 столбец), мы можем использовать тот же принцип, который использовали в предыдущей команде для определения среднего уровня для нескольких компонентов с помощью спецсимвола, например:

Get-EventLogLevel ‘MSExchange ADAccess\* | Set-EventLogLevel ‘Level:Medium

Просмотр информации отладки

Как мы видели ранее, можно просматривать информацию отладки с помощью программы просмотра событий Event Viewer (рисунок 06) или с помощью оболочки Exchange Management Shell.

*

Рисунок 06

Мы можем использовать Exchange Management Shell для получения информации из раздела Event Viewer Application с помощью следующей команды:

Get-EventLog Application

Она отобразит всю информацию, хранящуюся в разделе Application, однако мы можем использовать тот же подход, который использовали ранее для фильтрации результатов. Допустим, мы хотим получить список информации, связанной с MSExchangeFDS, для этого используем команду:

Get-EventLog application | where { $_.Source -eq "MSExchangeFDS" }

В результатах будут отображены все записи, источником которых является MSExchangeFDS, если вы хотите прочитать информацию о событиях, нужно использовать ‘ | FL’ в конце предыдущей команды, где данный параметр вызовет подробности для всех записей в логе Application.

Еще примеры...

Мы посмотрели, как работать с информацией отладки, однако можно сделать гораздо больше для управления конфигурацией отладки в Exchange Server 2007. Вот самые распространенные вопросы, которые я получаю и над которыми работаю на некоторых форумах TechNet:

  1. Как получить информацию отладки с удаленного сервера? По умолчанию Get-EventLogLevel предоставляет информацию с локального сервера, но можно использовать ключ ‘Server или Identity для указания другого сервера следующим образом: Get-EventLogLevel ‘Server <Remote-Server-Name> Get-EventLogLevel ‘<Remote-Server-Name>\MSExchange ADAccess’
  2. Как получить уровни отладки всех компонентов на всех серверах Exchange в моей организации? Необходимо использовать дополнительную команду для получения такой информации, но это не сложно. Вот синтаксис: Get-ExchangeServer | ForEach { Get-EventLogLevel -Server $_.Name }
  3. Как получить список всех компонентов, имеющих значение выше 3 на всех серверах? Используем тот же принцип, вот команда: Get-ExchangeServer | ForEach { Get-EventLogLevel -Server $_.Name | where { $_.EventLevel -ge 3} }
  4. Как получить уровень отладки для всех категорий, имеющих определенный уровень? Вам лишь нужно убедиться, что ваш запрос предоставляет необходимые результаты, а затем добавить (‘|’) и Set-EventLogLevel в конце, используя новое интересующее вас значение. В этом примере во всех категориях с уровнем отладки Debug Level Medium значение было изменено на Low. Get-EventLogLevel | where-object { $_.EventLevel -eq 3} | Set-EventLogLevel -Level 1
  5. Можно сделать все вышеупомянутое в предыдущем вопросе для всех серверов моей сети в один шаг? Да, это возможно. В это примере мы ищем все категории с уровнем отладки более 3, после чего изменим это значение на Low (1), вот синтаксис команды. Get-ExchangeServer | ForEach { Get-EventLogLevel -Server $_.Name | where { $_.EventLevel -ge 3} } | Set-EventLogLevel -Level 1

Заключение

В этой статье мы посмотрели, как управлять конфигурацией уровня отладки в Exchange Server 2007, а также рассмотрели некоторые примеры, в которых можно управлять несколькими серверами сразу, используя одну команду.

Автор: Андерсен Патрисио  •  Иcточник: MSexchange.ru  •  Опубликована: 05.08.2009
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:   Exchange 2007.


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.