Выбор целевого объекта для рабочего процесса
Одним из обязательных свойств, которые необходимо указать при создании рабочего процесса (правила, монитора или задачи), является целевой объект, указывающий класс, для которого будет выполняться рабочий процесс. У большинства групп управления имеется большой список классов (содержащихся во всех установленных пакетах управления), которые могут использоваться как потенциальные целевые объекты, и выбор наиболее подходящего из них является критически важным для правильной работы рабочего процесса.
Аспекты использования целевого объекта
Чтобы выбрать подходящий целевой объект, сначала необходимо понять, какое влияние он оказывает на рабочий процесс. Ниже приведены различные аспекты, которые необходимо принять во внимание.
Агенты, для которых предназначен рабочий процесс, и количество копий рабочего процесса, выполняемых на каждом агенте
Пакет управления развертывается на всех агентах, под управлением которых находится хотя бы один экземпляр класса, используемого в качестве целевого объекта как минимум для одного содержащегося в пакете управления рабочего процесса. После развертывания пакета управления агент загружает отдельную копию каждого рабочего процесса для каждого экземпляра его целевого класса. Это означает, что при наличии на агенте нескольких экземпляров целевого класса, например в случае с такими классами, как "Логический диск" или "Веб-узел IIS", агент загрузит несколько копий одного рабочего процесса. Рабочие процессы, содержащиеся в пакете управления, для которых целевыми являются объекты, не находящиеся под управлением агента, не будут выполнены этим конкретным агентом.
При определении рабочего процесса необходимо учесть предположительное количество копий этого процесса на всех заданных агентах. Если для определенного правила или монитора возможно выполнение нескольких копий на одном агенте, существует вероятность того, что он будет создавать несколько предупреждений и выполнять сбор данных несколько раз вместо одного.
Например, может быть определено правило для создания предупреждения в ответ на определенное событие в журнале событий Windows. Стандартной стратегией для такого сценария является назначение операционной системы Windows в качестве целевого объекта и использование критериев "Источник события" и "Номер события" для определения нужного события. Такая стратегия работает должным образом только в том случае, если на агенте всегда присутствует только один экземпляр операционной системы Windows. В этом случае загружается только одна копия правила, а критерии "Источник события" и "Номер события" являются достаточными для однозначной идентификации события. Если целевой класс этого правила представлен на агенте несколькими экземплярами, в ответ на одно событие для каждой копии правила будет создаваться отдельное предупреждение. Во втором случае свойство целевого класса необходимо включить в выражение правила, чтобы указать, какая копия рабочего процесса должна создавать предупреждение.
Для иллюстрации этого примера возьмем пакет управления Мониторинг SQL Server 2008, содержащий правило с именем Сценарий: не удалось выполнить вход, которое указывает, что сценарию наблюдения не удалось выполнить вход в определенную базу данных. Оно выявляет наличие этой ошибки по определенному событию в журнале событий Operations Manager. Для этого правила задан целевой объект База данных Microsoft SQL Server 2008, который может иметь несколько экземпляров на отдельном агенте — по одному экземпляру для каждой базы данных на этом сервере. Если указаны только критерии "Источник события" и "Номер события", для каждой базы данных будет создаваться отдельное предупреждение, поскольку критерии в каждой копии правила будут соответствовать сведениям, указанным для события. Чтобы указать, какая копия правила должна создавать предупреждение, в выражении правила также указывается, что критерий "Описание события" должен содержать имя базы данных. Для этого используется свойство DatabaseName целевого объекта. При загрузке агентом каждая копия правила выполняет разрешение этой переменной; таким образом, предупреждение создаст только копия правила, которая соответствует имени базы данных, указанному в событии.
Переменные целевого объекта, доступные для выражений и описаний предупреждений
Переменные, которые разрешаются в значения свойств целевого объекта, могут использоваться в описании предупреждения или выражении монитора или правила. Доступны будут только свойства целевого класса и его родительских классов. В приведенном выше примере критерий правила содержит имя базы данных, которое является свойством целевого класса База данных SQL Server 2008. Если бы в качестве целевого был использован другой класс, например Ядро СУБД SQL 2008, свойство имени базы данных было бы недоступно.
Объект, с которым будут связаны состояние работоспособности, предупреждения и собранные данные
Все данные о состоянии работоспособности, предупреждения и данные о производительности, сформированные правилом или монитором, связываются с объектом, для которого была выполнена конкретная копия рабочего процесса. В приведенном выше примере в качестве целевого объекта можно было бы использовать класс Ядро СУБД SQL 2008, поскольку правило загружалось бы на всех агентах с SQL Server 2008. Однако предупреждение, созданное правилом, было бы связано с самим сервером SQL Server, а не с отдельной базой данных. Это оказало бы существенное влияние на все уведомления, отчеты и представления, которые относятся к определенному объекту.
В отношении монитора целевой объект определяет, у какого объекта будет затронуто состояние работоспособности. Если для монитора, отслеживающего работоспособность базы данных, задан целевой объект Ядро СУБД SQL 2008, будет затронуто состояние SQL Server, но не состояние самой базы данных. В отчете о доступности будет показано, что сервер был недоступен в течение периода, когда монитор находился в критическом состоянии, тогда как в таком же отчете, созданном для самой базы данных, не будет отображено время простоя. В этом случае, чтобы задать состояние требуемого объекта, в качестве целевого объекта для монитора необходимо указать класс База данных SQL Server 2008.
Использование групп в качестве целевых объектов
Если указать группы в качестве целевых объектов рабочего процесса, скорее всего, это не даст нужного результата в работе. Рабочий процесс не будет анализировать содержимое группы, а предпримет попытку выполнения для самого объекта группы. Поскольку для управления группами используется корневой сервер управления, все предназначенные для них рабочие процессы будут загружаться только на этот сервер.
Если необходимо, чтобы рабочий процесс выполнялся только для членов определенной группы, можно использовать следующий метод.
Создайте правило или монитор, целевые объекты которого соответствуют объектам, содержащимся в группе.
Отключите правило или монитор, сняв флажок Включено.
После создания правила или монитора создайте переопределение, чтобы включить его для группы.
Просмотр классов и объектов
Представление Инвентаризация обнаруженных объектов в консоли управления можно использовать при выборе подходящего целевого объекта для конкретного рабочего процесса. В этом представлении будут перечислены все экземпляры указанного класса вместе с его полным набором свойств. В нем отображаются сведения о том, какие экземпляры класса находятся под управлением разных агентов, сколько экземпляров находится под управлением каждого агента и какие свойства класса являются доступными. Все рабочие процессы, для которых в качестве целевого объекта указан выбранный класс, будут выполнены для каждого объекта, перечисленного в представлении. Если для какого-либо класса отсутствуют экземпляры, это означает, что они не были обнаружены на агентах. Рабочие процессы, для которых в качестве целевых объектов указаны эти классы, не будут выполнены.
Чтобы просмотреть обнаруженную ведомость для определенного класса, выполните описанную ниже процедуру.
В консоли управления нажмите кнопку Мониторинг.
На панели Мониторинг щелкните узел Обнаруженная ведомость.
На панели Действия щелкните Изменить тип целевого объекта.
В диалоговом окне Выберите целевые элементы выберите класс, который необходимо просмотреть, и нажмите кнопку ОК.
Создание классов
При создании рабочего процесса для приложения, которое не имеет пакета управления, может потребоваться создать настраиваемый класс, который будет использоваться в качестве целевого. Если такой класс отсутствует, в качестве целевого объекта нужно будет указать общий класс, например Операционная система Windows, который будет работать, но это будет иметь описанные выше отрицательные последствия.
Новые классы нельзя создавать непосредственно в консоли управления. Для этого нужно использовать консоль создания и настройки, как описано в руководстве Operations Manager 2007 Management Pack Authoring Guide. Если же для этого приложения существует служба Windows, для создания класса, который можно будет использовать в качестве целевого объекта, можно использовать шаблон пакета управления "Служба Windows". Этот шаблон определит все агенты, на которых установлена указанная служба, и создаст объект, управляемый каждым из этих агентов. Все рабочие процессы, для которых целевым объектом является полученный класс, будут аналогичным образом выполнены этими агентами. Использование этого шаблона — это быстрый и эффективный способ создания класса для наблюдения за пользовательскими приложениями или коробочными продуктами, которые не имеют пакета управления.
См. также
Основные понятия
Создание правил
Создание мониторов
Variable Notation
Создание монитора службы Windows
Management Pack Classes