Михаил Семенов
Открытые технологии, Москва
smv@ot.ru

Новый стандарт управления приложениями
Дополнительные возможности
Автоматическое обнаружение и коррекция ошибок
Статический и динамический мониторинг
Поддержка SNMP
Управление событиями
Консоль PATROL
Средства интеграции PATROL
Базы знаний системы PATROL
Язык PATROL Script
Заключение
Литература

В погоне за изменениями в информационных технологиях администраторы современных информационных систем не знают сна и покоя. Объем систем и их производительность растут очень быстро, обрабатываемая информация все усложняется, соответственно нагрузка на персонал отделов информационных технологий возрастает многократно. Процесс адаптации к постоянным изменениям становится все более трудоемким, особенно когда происходят "точечные" модификации на уровне отделов. Стремясь обойти конкурентов, предприятия постоянно модернизируют информационные системы, одновременно сокращая циклы освоения и внедрения. Все это зачастую приводит к нестабильности информационной системы, управляемой, вдобавок, чрезмерно загруженным персоналом. В данной статье нам хотелось бы продоложить начатый в работах [1,2] разговор о системах управления информационной инфраструктурой распределенной корпорации.

Для управления информационной системой предприятия администраторам необходимы мощные современные средства, позволяющие:

  • охватить все рабочие места и ключевые точки сетей;
  • автоматизировать трудоемкие процедуры, при выполнении которых легко совершить ошибку;
  • использовать единый интерфейс для управления различными приложениями, СУБД, связующим ПО, сервисами Internet и ОС;
  • вовремя распознавать и исправлять ошибки, их влияние на работу системы;
  • оценивать эффективность работы гетерогенных конфигураций.

Текущая версия системы PATROL включает в себя серию продуктов Application Management Suite и Data Management Suite. Первые уделяют внимание не только отдельным компонентам, сетям или операционным системам, но и приложениям, наблюдая за всеми субъектами ОС от бизнес-процессов до ресурсов нижнего уровня (Рис.1).

(1x1)

Рисунок 1.
Интегрированные решения для информационных систем предприятий

В сферу влияния системы PATROL входит управление информационной системой предприятия, обеспечение общего интерфейса, предоставление комплекса средств администрирования, реализация активной управляющей системы, а также возможность управления широким спектром приложений, СУБД, связующего ПО и серверов Internet с центральной консоли. Кроме того, PATROL предоставляет документированные прикладные интерфейсы и средства для разработки, например, язык PATROL Script.

Новый стандарт управления приложениями

В основе продуктов PATROL Application Management лежат интеллектуальные и автономные агенты - небольшие независимые программы, которые запускаются на каждом управляемом сервере. Агент является самодостаточным и может работать без соединения с консолью. Все необходимые ему данные о приложении и управляющих процедурах содержатся в "plug-in" библиотеках, которые называются "модулями знаний" (Knowledge Modules - KM). Эти KM располагаются на каждом управляемом сервере вместе с агентом. Используя данные из KM, агент собирает информацию об управляемых ресурсах, наблюдая за сотнями параметров каждого объекта, анализируя данные, сохраняя их в локальных log-файлах и выполняя корректирующие действия. Эти функции агента позволяют обеспечить необходимую надежность, масштабируемость и гибкость работы системы PATROL.

При использовании автономных агентов (рис. 2) ликвидируется общая для всех подсистем, а следовательно, наиболее важная для конфигурации, точка отказов - консоль, поскольку агент функционирует, не обращая внимания на ее состояние. Независимый агент более эффективен, поскольку не зависит от уровня загрузки сети и коммуникационных ресурсов. Такой агент не обращается к консоли за загрузочной информацией или управляющими инструкциями, так что проверять доступность консоли не требуется. Агент сохраняет всю информацию о событиях локально и выдает ее только по запросу с консоли.

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

Picture 2.

Рисунок 2. Автономные агенты PATROL

Благодаря разделению продуктов PATROL на агенты и консоли система может расширяться до тысяч серверов.

Дополнительные возможности

- Один агент, много консолей. Каждый многозадачный агент может быть соединен с несколькими консолями. Поскольку процесс-демон не используется, агент функционирует как отдельный исполняемый процесс. Каждая консоль также может определить другое приложение для работы с агентом. Например, системный администратор может подключиться к агенту для наблюдения за ОС UNIX, а администратор СУБД - для наблюдения за СУБД Oracle. Многозадачный агент следит за группами параметров, запрашиваемых каждой из консолей и посылает их на нужную консоль.

- Самонастраивающиеся агенты. Агенты PATROL постоянно наблюдают за загруженностью различных частей системы и снижают свою активность при пиковых загрузках.

- Автоматическое определение. Агент PATROL автоматически определяет состояние всех управляемых ресурсов системы: приложений и связанных с ним ресурсов, Internet сервисов, СУБД, связующего ПО, ОС, сетевых и аппаратных ресурсов.

Агент PATROL может быть сконфигурирован для периодического обновления информации о составе системы, что позволяет экономить время, затрачиваемое на переконфигурацию систем управления. Эта возможность особенно важна для крупных предприятий, чьи информационные структуры постоянно изменяются.

Автоматическое обнаружение и коррекция ошибок

Система PATROL позволяет перейти от администрирования, основанного на исправлении текущих неполадок, к администрированию, основанному на предвидени возможных проблем. Например, KM для Oracle содержит информацию о предполагаемых изменениях в СУБД, что необходимо для наблюдения и управления. Владея полной информацией, администратор может предупредить сбой системы.

Кроме того, PATROL можно настроить на автоматическую коррекцию. Если была обнаружена ошибка или потенциальная возможность ее возникновения, то система прежде всего просматривает инструкции для автоматической коррекции. Если необходимо, PATROL предпринимает корректирующие действия, сообщая администратору о произошедшем событии и принятых мерах. Автоматизируя реакцию на стандартные ситуации, PATROL позволяет администратору сосредоточиться на других задачах. О необходимости личного вмешательства PATROL уведомит администратора через консоль. При помощи продукта CuraMessage производства компании CuraSoft Systems администратор может быть уведомлен о событии через факс, телефон или пейджер. Определение корректирующих действий производится через графический интерфейс консоли администратора и может содержать команды языка PSL (PATROL Script Language), команды операционной системы или приложения.

Опрашивая агентов (Agent Query Tool) можно быстро распознать ошибку. В системе PATROL предусмотрена возможность построения специальных представлений, необходимых в конкретной среде. Например, Agent Query Tool может использоваться для вывода информации о серверах, текущая загрузка которых превышает 90%.

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

Система PATROL позволяет администратору параллельно работать на нескольких компьютерах, СУБД и приложениях. Автономные агенты, запущенные на каждом сервере, выполнят команду одновременно. Любая команда администратора может быть выполнена глобально для определенного класса приложений и операционных систем или индивидуально.

Статический и динамический мониторинг

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

Агенты PATROL поддерживают статический и динамический мониторинг. В режиме статического мониторинга агент постоянно наблюдает за СУБД или приложением с установленной или не установленной связью с консолью. При стабильной работе сервера статического мониторинга обычно достаточно. Такой режим требует меньше ресурсов информационной системы.

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

Поддержка SNMP

Система PATROL работает с протоколом SNMP. Агент способен отвечать на запрос "get", посылать и принимать сообщения "trap", функционировать как менеджер, получающий сообщения от других SNMP-агентов и передающий их на нужную консоль (Рис. 3)

Picture 3.

Рисунок 3.
Работа агента с SNMP

Поддержка SNMP доступна и через язык PSL, что позволяет агенту выполнять процедуры, связанные с SNMP-управлением. Существует три основных группы функций PSL SNMP.

Прием и посылка Trap. В режиме приема trap агент функционирует как SNMP trap daemon (или менеджер), собирающий входящие trap через открытое гнездо (socet). Гнездо trap может быть закрыто для всех необработанных и/или приходящих trap. При посылке trap агент работает как SNMP-агент, отправляющий trap всем зарегистрированным получателям. Trap также может быть послан платформам SNMP управления.

Прием и установка MIB переменных. Агент PATROL может получать и устанавливать MIB переменные, открывая сессию с SNMP-хостом.

Управление SNMP-агентом. Используя функции PSL SNMP, можно запустить, остановить или сделать запрос о состоянии агента PATROL.

Агент конфигурируется осуществляется при помощи команд pconfig и xpconfig для Unix и wpconfig для NT. Pconfig является утилитой командной строки, которая настраивает один или несколько агентов одновременно. Xpconfig и wpconfig просматривают и изменяют конфигурацию агента.

Команды выполняются агентом PATROL от имени пользователя, заданного в конфигурационном файле. Для запуска агента необходим соответствующий бюджет пользователя. Access Control List (ACL) предоставляет дополнительные возможности защиты. ACL определяет, какие пользователи и консоли на каких хостах и в каком режиме могут подключаться к агенту. Возможные режимы: Configure, Developer, Operator и PATROL Event Manager. При отключенном ACL допускаются все соединения.

Управление событиями

PATROL Event Manager (PEM) запускается из консоли PATROL как самостоятельная консоль и позволяет администратору выполнять следующие действия:

  • просматривать, фильтровать и сортировать события;
  • создавать события и отчеты по ним;
  • действовать в зависимости от событий;
  • управлять, подтверждать или удалять события;
  • сопоставлять события от разных агентов и KM.

Существует несколько способов доступа к информации PEM: с консоли, из командной строки, через PATROL Script Language или через API, который позволяет внешним приложениям взаимодействовать с PEM и выполнять следующие действия: создание, удаление, подтверждение события и выполнение запросов. Приложения также могут использовать API для связи с агентами.

Кроме того, PATROL Event Manager поддерживает многопользовательское управление событиями - распределение сообщений по PEM, консолям операторов и администраторов. Классы сообщения могут содержать рекомендации эксперта, которые можно получить при запросе дополнительной информации. Рекомендации могут включать информацию об оповещении других сотрудников или необходимых действиях для разрешения нестандартной ситуации. В целях дополнительной безопасности для создания рекомендаций используется только консоль администратора.

Помимо стандартных классов событий PATROL позволяет разработчикам KM определять дополнительные классы.

Каталог событий встроен в каждый KM и содержит информацию о событиях. Для гарантии достоверности информации сообщения сохраняются в каталоге консоли и обновляются при соединении с агентами.

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

Консоль PATROL

Каждая консоль получает одинаковое представление об управляемом объекте. Поскольку протокол взаимодействия агент-консоль масштабируемый, число соединений с консолью почти не влияет на производительность агента. Другое преимущество многоконсольной поддержки состоит в том, что каждая консоль может установить собственное представление об управляемом объекте. Расположение объектов на консоли полностью настраивается пользователем.

Консоль PATROL и другие интегрирующие приложения позволяют применять PATROL для широкого круга задач.

Консоль оператора (PATROL Operator Console) управляет удаленными компьютерами и приложениями через агентов. Несколько консолей могут быть подключены к одному агенту, позволяя операторам в различных местах получать информацию об управляемом объекте. Каждая консоль может получать сообщения об событиях от сотен агентов и отображать параметры, графические представления, историю и другую собранную информацию.

Консоль администратора (PATROL Developer Console) поддерживает все функции, предоставляемые консолью оператора, и обладает дополнительными возможностями конфигурирования и настройки: модифицирует базы знаний агента, редактирует и заменяет файлы KM, удаляет собранные агентом данные. Для дополнительной безопасности агент PATROL может быть подключен только к одной консоли администратора.

Менеджер событий (PATROL Event Manager Console) запускается с консоли оператора или администратора, а также самостоятельно.

Продукт PATROLWATCH for Windows позволяет наблюдать за объектами PATROL из NT или Windows 95. PATROLWATCH for Web Browsers служит для наблюдения за объектами PATROL из Web-браузера, поддерживая стандарты Java и Java Script. Возможен также интерфейс командной строки (Command Line Interface), позволяющий следить за работой системы через модем.

Средства интеграции PATROL

PATROL может быть интегрирован с ведущими системами сетевого управления: Cabletron SPECTRUM, CA-Unicenter, HP OpenView, Solstice SunNet Manager, Tivoli Management Environment. Для Unicenter TNG существует даже специальная версия PATROLVIEW, позволяющая задействовать все расширенные возможности администрирования, предусмотренные в PATROL в процессе работы внутри корпоративного окружения TNG. Возможны два варианта интеграции:

  • API позволяет сторонним приложениям взаимодействовать с агентами PATROL и выполнять запросы, генерацию и обработку событий;
  • PATROLVIEW напрямую транслирует события в пространство событий системы сетевого управления.

PATROLVIEW также обеспечивает интеграцию через SNMP, позволяя системам сетевого управления обращаться напрямую к агенту через двунаправленные SNMP запросы, что дает агенту возможность посылать информацию "интересующимся" узлам. В результате пользователи систем сетевого управления получают возможность наблюдать за событиями на консоли системы сетевого управления и отображать их.

Базы знаний системы PATROL

PATROL поддерживает управление и мониторинг более чем 30 приложений и СУБД ведущих производителей, включая Oracle, Informix, MS SQL, Sybase, SAP, Lotus Notes, MS Exchange Server. Кроме того, он может быть модифицирован для управления приложениями собственной разработки.

Охватывать широкий круг продуктов PATROL помогает использование Knowledge Module, которые содержат информацию, используемую агентами для наблюдения за объектами системы. PATROL KM также включают "советы эксперта", которые помогают администратору быстрее осваивать новые приложения.

Многие организации, стараясь преуспеть в конкурентной борьбе разрабатывают приложения для поддержки собственных бизнес-процессов. Этими приложениями тоже необходимо управлять.

Язык PATROL Script

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

Для настройки системы могут использоваться различные языки программирования: Cи, Perl и PATROL Script Language. При использовании вместе с консолью администратора shell-скрипт может применяться для быстрой и эффективной настройки продукта, включая разработку или модификацию KM для поддержки собственных приложений.

PSL - интерпретируемый и компилируемый язык, который можно использовать для написания процедуры определения приложения, формирования списка наблюдаемых параметров, описания событий и предпринимаемых действий, а также для написания произвольных команд и заданий. PSL предоставляет специфические возможности, необходимые для поддержки среды администратора PATROL.

Этот язык поддерживает следующие функции: определение приложения, выполнение команд, определение переменных, поддержка файлов, Global channels, Ввод/Вывод, блокировка, математические вычисления, манипулирование объектами, SNMP, манипулирование строками, PEM.

PSL имеет отдельный компилятор для построения скриптов и создания исполняемых кодов. Существует также внешний интерпретатор, отображающий все аспекты исполнения PSL. Этот язык поддерживает библиотеки PSL функций и предоставляет мощное средство отладки (PSL Debugger), облегчающее работу программиста. Отладчик является частью консоли администратора, которая общается с агентом. Он обладает следующими возможностями:

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

Язык PSL предоставляет еще ряд дополнительных возможностей: функции, определяемые пользователем, отдельный компилятор/интерпретатор, исполняемый код PSL - скрипты могут быть скомпилированы с использованием PSL компилятора в исполняемый код для повышения производительности и безопасности. Исполняемый код PSL может применяться для создания пользовательских PSL-библиотек. Кроме того, PSL предоставляет несколько встроенных функций, позволяющих переключать выполнение действий в зависимости от предшествующих событий. Функции "share" и "open" используются для запуска внешних процессов и взаимодействия, это позволяет другому PSL процессу организовать канал ("global channel") для взаимодействия. Специальная встроенная функция дает агентам возможность запрашивать с консоли подтверждение на выполнение каких-либо действий.

KM, разработанные на языке PSL, можно переносить на другие платформы вместе с приложением. PATROL также поддерживает старые версии PSL, что позволяет организациям, разработавшим или настроившим KM для своих приложений, переходить на новые версии PATROL.

Возможности PATROL упрощают разработку новых приложений, доступных для управления. Для этого используется продукт PATROL SNMP Toolkit, построенный на основе полностью открытой MIB (Management Information Base) архитектуры. С его помощью разработчики приложений могут быстро создавать мастер-агента и неограниченное число суб-агентов для управления различными приложениями на основе протокола SNMP.

Заключение

Среди наиболее интересных инсталляций системы PATROL следует отметить информационную систему крупнейшего оператора службы экспресс доставки - компании DHL. Внедрение PATROL позволило централизовать мониторинг ста с лишним региональных баз данных в Европе и Африке и управление ими. Сегодня DHL рассматривает вопрос о принятии PATROL в качестве корпоративного стандарта. В России этот продукт делает только первые шаги, однако судя по результатам использования trial-версий можно ожидать, что со временем он займет достойное место в информационных системах отечественных предприятий.

Литература

  1. Н.Дубова. Интегрированные системы управления распределенной корпорацией. Открытые системы, 1, 1998, с.69-75
  2. Н.Дубова,Е.Кутукова. Unicenter TNG - управление распределенной корпорацией. Открытые системы, 2, 1998