RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Глава 2. Настройка дистанционного мониторинга в MySQL Notifier

MySQL Notifier использует Windows Management Instrumentation (WMI), чтобы контролировать сервисы на удаленных компьютерах. Эта секция объясняет, как это работает и как настроить вашу систему, чтобы контролировать удаленные экземпляры MySQL.

Чтобы формировать WMI, важно понять, что основная архитектура Distributed Component Object Model (DCOM) делает работу WMI. MySQL Notifier использует асинхронные вопросы уведомления на удаленных хостах Microsoft Windows как события .NET. Эти события посылают асинхронный отзыв в компьютер с работающим MySQL Notifier, таким образом, это знает, когда сервисный статус изменился на удаленном компьютере. Асинхронные уведомления предлагают лучшую работу по сравнению с полусинхронными уведомлениями или синхронными уведомлениями через таймеры.

Асинхронное уведомление требует, чтобы удаленный компьютер послал отзыв в компьютер клиента (таким образом открывающий обратную связь), таким образом, Windows Firewall и DCOM должны правильно формироваться для коммуникации, чтобы функционировать правильно. Клиент (Computer A), который включает небезопасное приложение (unsecapp.exe в этом примере), сделал асинхронный вызов к удаленному компьютеру (Computer B) и получает назад сообщение с данными.

Рис. 2.1. MySQL Notifier Distributed Component Object Model (DCOM)

Content is described in the surrounding text.

Большинство распространенных ошибок, брошенных асинхронными уведомлениями WMI, связано с Windows Firewall, блокирующим коммуникацию, или с DCOM/параметры настройки WMI, не настраиваемыми правильно. Для списка распространенных ошибок с решениями посмотрите здесь.

Следующие шаги требуются, чтобы заставить WMI функционировать. Эти шаги разделены между двумя машинами. Единственный компьютер, который управляет MySQL Notifier (Computer A), и многократные удаленные машины, которые проверяются (Computer B).

Машина с MySQL Notifier (Computer A)

  1. Позвольте удаленное администрирование редактированием Group Policy Editor или через NETSH:

    Используя Group Policy Editor:

    1. Нажмите Start, Run, введите GPEDIT.MSC, нажмите OK.

    2. Под Local Computer Policy разверните Computer Configuration .

    3. Разверните Administrative Templates, затем Network, Network Connections и Windows Firewall.

    4. Если компьютер находится в домене, дважды щелкните Domain Profile, иначе дважды щелкните Standard Profile.

    5. Дважды щелкните по Windows Firewall: Allow inbound remote administration exception, чтобы открыть окно конфигурации.

    6. Проверьте опцию Enabled и нажмите OK.

    Используя команду NETSH:

    Команда "netsh firewall" устарела еще в Microsoft Server 2008 and Vista и заменена на "netsh advfirewall firewall".

    1. Откройте окно командной строки с Административными правами (можно щелкнуть правой кнопкой мыши по символу Командной строки и выбрать Run as Administrator).

    2. Выполните следующую команду:

      NETSH advfirewall firewall set service RemoteAdmin enable
      
  2. Откройте порт DCOM TCP 135:

    1. Откройте окно командной строки с Административными правами (можно щелкнуть правой кнопкой мыши по символу Командной строки и выбрать Run as Administrator ).

    2. Выполните следующую команду:

      NETSH advfirewall firewall add rule name=DCOM_TCP135 protocol=TCP localport=135 dir=in action=allow
      
  3. Добавьте клиентское приложение, которое содержит прием для отзыва (MySqlNotifier.exe) в Windows Firewall Exceptions List (используя конфигурацию Windows Firewall или NETSH):

    Используя конфигурацию Windows Firewall:

    1. В Control Panel дважды щелкните по Windows Firewall.

    2. В окне Windows Firewall нажмите Allow a program or feature through Windows Firewall.

    3. В окне Allowed Programs нажмите Change Settings и сделайте одно из следующего:

      • Если MySqlNotifier.exe в списке Allowed programs and features, удостоверьтесь, что он проверяется на тип сетей, с которыми компьютер соединяется (Private, Public или обе).

      • Если в этом списке нет MySqlNotifier.exe, нажмите Allow another program.

        1. В окне Add a Program выберите MySqlNotifier.exe, если это существует в списке Programs, иначе нажмите Browse и перейдите в каталог с MySqlNotifier.exe, выберите этот файл и нажмите на Add.

        2. Проверьте, что MySqlNotifier.exe проверяется на тип сетей, которые компьютер использует (Private, Public или both).

    Используя команду NETSH:

    1. Откройте окно командной строки с Административными правами (можно щелкнуть правой кнопкой мыши по символу Командной строки и нажать Run as Administrator ).

    2. Выполните следующую команду, где вы изменяете "[YOUR_INSTALL_DIRECTORY]":

      NETSH advfirewall firewall add rule name=MySqlNotifier program=[YOUR_INSTALL_DIRECTORY]\MySqlNotifier.exe action=allow dir=in
      
  4. Если Computer B является членом WORKGROUP или находится в ином домене, которому не доверяет Computer A, тогда связь отзыва (Connection 2) создается как анонимная связь. Чтобы дать анонимным связям разрешения удаленного доступа DCOM:

    1. Нажмите Start, Run, введите DCOMCNFG и нажмите OK.

    2. В диалоге Component Services разверните Component Services, Computers, нажмите правой кнопкой на My Computer и нажмите на Properties.

    3. В диалоге My Computer Properties перейдите на вкладку COM Security.

    4. Под Access Permissions нажмите Edit Limits.

    5. В диалоге Access Permission выберите ANONYMOUS LOGON name в блоке Group or user names. В столбце Allow под Permissions for User выберите Remote Access и нажмите OK.

Проверенный удаленный компьютер (Computer B)

Если учетная запись пользователя, которая зарегистрирована на компьютере, исполняющем MySQL Notifier (Computer A) это локальный администратор на удаленном компьютере (Computer B), что аналогично администратору на Computer B, можно перейти к шагу "Allow for remote administration".

Настройка безопасности DCOM, чтобы позволить пользователю не-администратору получать доступ к компьютеру удаленно:

  1. Предоставьте "DCOM remote launch" и разрешения активации для пользователя или группы:

    1. Нажмите Start, Run, введите DCOMCNFG и нажмите OK.

    2. В диалоге Component Services разверните Component Services, Computers, щелкните правой кнопкой по My Computer и нажмите Properties.

    3. В диалоге My Computer Properties перейдите на вкладку COM Security.

    4. Под Launch and Activation Permission нажмите на Edit Limits.

    5. В диалоге Launch and Activation Permission выполните эти шаги, если ваше имя или ваша группа не появляются в списке Groups or user names:

      1. В диалоге Launch and Activation Permission нажмите Add.

      2. В диалоге Select Users or Groups включите свое имя и группу в блок Enter the object names to select и нажмите на OK.

    6. В диалоге Launch and Activation Permission выберите своего пользователя и группу в блоке Group or user names. В столбце Allow под Permissions for User выберите Remote Launch, Remote Activation и нажмите OK.

    Предоставьте разрешения удаленного доступа DCOM:

    1. Нажмите Start, Run, введите DCOMCNFG и нажмите OK.

    2. В диалоге Component Services разверните Component Services, Computers, нажмите правой кнопкой мыши на My Computer и выберите Properties.

    3. В диалоге My Computer Properties перейдите на вкладку COM Security.

    4. Под Access Permissions нажмите Edit Limits.

    5. В диалоге Access Permission выберите ANONYMOUS LOGON name в блоке Group or user names. В столбце Allow под Permissions for User выберите Remote Access, нажмите OK.

  2. Разрешение пользовательского доступа неадминистратора к определенному пространству имен WMI:

    1. В Control Panel дважды щелкните по Administrative Tools.

    2. В окне Administrative Tools дважды щелкните по Computer Management.

    3. В окне Computer Management разверните дерево Services and Applications.

    4. Щелкните правой кнопкой мыши по WMI Control и выберите Properties.

    5. В окне WMI Control Properties перейдите на вкладку Security.

    6. На вкладке Security выберите пространство имен и нажмите Security. Root/CIMV2 это обычно используемое пространство имен.

    7. Определите местонахождение соответствующей учетной записи и проверьте Remote Enable в списке Permissions.

  3. Включите удаленное администрирование редактированием Group Policy Editor или через NETSH:

    Через Group Policy Editor:

    1. Нажмите Start, Run, введите GPEDIT.MSC и нажмите OK.

    2. Под Local Computer Policy дважды щелкните по Computer Configuration.

    3. Дважды щелкните по Administrative Templates, Network, Network Connections и Windows Firewall.

    4. Если компьютер находится в домене, дважды щелкните Domain Profile, иначе по Standard Profile.

    5. Нажмите Windows Firewall: Allow inbound remote administration exception.

    6. В меню Action дважды щелкните по выбору от предыдущего шага или выберите Edit.

    7. Проверьте кнопку Enabled и нажмите OK.

    Используя команду NETSH:

    1. Откройте окно командной строки с Административными правами (можно щелкнуть правой кнопкой мыши по символу Командной строки и нажать Run as Administrator ).

    2. Выполните следующую команду:

      NETSH advfirewall firewall set service RemoteAdmin enable
      
  4. Подтвердите, что вы авторизовались с использованием Name, а не Full Name :

    1. В Control Panel дважды щелкните по Administrative Tools.

    2. В окне Administrative Tools дважды щелкните по Computer Management.

    3. В окне Computer Management раскройте System Tools, затем Local Users and Groups.

    4. Нажмите на узел Users и в правой стороне панели определите местонахождение вашего пользователя и удостоверьтесь, что это использует Name, чтобы соединиться, а не значение Full Name.

Распространенные ошибки

  • 0x80070005

    • Безопасность DCOM не формировалась правильно (см. Computer B с шага настройки безопасности DCOM).

    • Удаленный компьютер (Computer B) является членом WORKGROUP или находится в домене, которому не доверяет компьютер клиента (Computer A).

  • 0x8007000E

    • Удаленный компьютер (Computer B) является членом WORKGROUP или находится в домене, которому не доверяет компьютер клиента (Computer A).

  • 0x80041003

    • Доступ к удаленному пространству имен WMI не формировался правильно (см. Computer B, шаг предоставления доступа к пространству имен WMI).

  • 0x800706BA

    • Порт DCOM не открыт на компьютере клиента (Computer A). См. открытие порта DCOM TCP 135 для Computer A.

    • Удаленный компьютер (Computer B) недоступен, потому что его сетевое местоположение установлено в Public. Удостоверьтесь, что можно получить доступ к нему через Windows Explorer.

Поиск

 

Найди своих коллег!

Вы можете направить письмо администратору этой странички, Алексею Паутову. mailto:alexey.v.pautov@mail.ru