Автоматическая диагностика и поиск неполадок в сервисах Windows Server 2008 R2 с помощью Best Practice Analyzer

Очень часто неполадки или не достаточно быстрая работа сервисов на основе Windows систем вызваны неправильными настройками или изменениями, которые не рекомендуется делать. Обычно, перед тем как настраивать что либо, надо прочитать рекомендации инженеров Microsoft называемые лучшими практиками (best practice). Разработаны они исходя из опыта внедрения таких сервисов в инфраструктурах как самого Microsoft так и десятков тысяч клиентов. Но часто во многих компаниях до тщательного изучения документации дело не доходит. Много раз видел случаи, когда коллеги разворачивали те или иные сервисы в спешном порядке, не вникая в тонкости проектирования архитектуры. Не до этого им было т.к. обычно заказ на развертывание сервиса приходит с формулировкой “должно работать еще вчера”. ИТ отдел в авральном режиме листает документацию, разворачивает сервис и тестирует только необходимый минимум. Какое то время сервис более или менее работает, а затем начинаются труднообъяснимые чудеса “многоотказия”.

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

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

Еще один случай, когда сервис со временем перестает работать это постепенное изменение эталонной конфигурации сервиса одним или несколькими сотрудниками. Обычно делается это для того чтобы решить те или иные сиюминутные проблемы. С течением времени конфигурация сервисов довольно сильно отклоняется. Такое явление называется configuration drift. Если у вас в организации отсутствует процесс управления изменениями и конфигурациями, то через какое-то время будет сложно понять, что вообще происходит, и какие зависимости существуют между инфраструктурными элементами.

К сожалению, вручную отслеживание соблюдения наилучших практик выполнять достаточно трудоемко, особенно если сервер у вас не один. Поэтому в Windows Server 2008 R2 мы встроили стандартный механизм Best Practice Analyzer он же BPA, позволяющий выполнять автоматическую проверку установленных ролей.

Запустить Best Practice Analyzer можно через графический интерфейс Server Manager или с помощью командной строки Powershell. Обратите внимание, что при использовании обоих способов запуска BPA мы можем проверять не только локальный, но и удаленные сервера Windows Server 2008 R2. Это означает, что можно написать скрипт, который периодически будет проверять удаленно все роли на любых серверах вашей инфраструктуры. Затем он будет формировать консолидированный отчет о потенциальных проблемах и отправлять его вам. Удобно, не правда ли? Следующим шагом можно будет сделать сравнение предыдущего и текущего отчета на предмет выявления изменений. Перед руководством отчитываться о своей работе легко будет, если показывать постоянное уменьшение предупреждений выводимых BPA.

Так же можно использовать Best Practice Analyzer для первоначального обследования инфраструктуры, если вы консультируете заказчика или только что пришли на новую работу и вам нужно разобраться, почему тут что-то не работает.

На данный момент можно проверять настройки следующих ролей:

 

Запускать Best Practice Analyzer можно следующим образом:

  1. Кликните Start –> Administrative Tools -> Server Manager.
  2. В древовидной панели Server Manager откройте Rolesи выберите роль для которой хотите запустить BPA.
  3. В панели детального описания роли откройте секцию Summary выберите раздел Best Practices Analyzer и кликните Scan this role.

Для примера давайте рассмотрим, как может выглядеть результат проверки роли Hyper-V на одном из моих тестовых серверов.

 

best_pratice_analyzer_hyper-v best_pratice_analyzer_hyper-v_error best_pratice_analyzer_hyper-v_recomendation

Как вы видите в моей тестовой системе 4 из 27 рекомендаций не выполняются. Не плохой результат хотя и не идеальный. Если выбрать одну из невыполненых рекомендаций, то система подробно объяснит, чем это грозит и почему их следуюет соблюдать. А уж затем ваша задача решить необходимо ли это исправлять или можно так жить и дальше. А теперь давайте посмотрим на результат несоблюлюдения лучших практик. Обратите внимание на количество сообщений о неправильной настройке виртуальных сетевых адаптеров и прочих компонентов системы. Я думаю что администратор этой системы напрашивает на неприятности в будущем.

 

 best_pratice_analyzer_hyper-v_compliance  best_pratice_analyzer_hyper-v_errors

Просматривая список рекомендаций на досуге можно легко научиться строить очень надежные системы. Вот тут есть подробное описание того что проверяет Best Practices Analyzer для Hyper-V.

Перед тем как запускать Best Practices Analyzer не забудьте его обоновить. Сделать это можно как с помощью WSUS, так и отдельными файлами обновлений.

 Update for Best Practices Analyzer for HYPER-V for Windows Server 2008 R2 x64 Edition (KB977238)

Update for Best Practices Analyzer for DHCP Server for Windows Server 2008 R2 x64 Edition (KB977236)

Update for Best Practices Analyzer for Network Policy and Access Services for Windows Server 2008 R2 x64 Edition (NPAS) (KB977239)

Update for Best Practices Analyzer for File Services for Windows Server 2008 R2 x64 Edition (KB981111)

Update for Best Practices Analyzer for Active Directory Rights Management Services for Windows Server 2008 R2 x64 Edition (KB981391)

Update for Best Practices Analyzer for Windows Server Update Services for Windows Server 2008 R2 x64 Edition (KB981390)

Update for Best Practices Analyzer for Application Server for Windows Server 2008 R2 x64 Edition (KB981392)  

Обновление: Добавил снимок из центра обновлений чтобы отобразить присутствие этих обновлений на нашем WSUS

best_pratice_analyzer_update_wsus

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