Научная статья на тему 'Разработка адаптера импорта данных из внешних источников для HP ddm'

Разработка адаптера импорта данных из внешних источников для HP ddm Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
359
31
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АВТООБНАРУЖЕНИЕ / IT-ИНФРАСТРУКТУРА / HP UCMDB / HP DDM / JYTHON

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Стержанов М. В.

Механизм HP DDM позволяет постоянно отслеживать изменения IT-инфраструктуры без установки каких-либо специальных приложений на машинах в целевой сети. В данной статье описана разработка адаптера импорта данных из внешних источников для DDM. Практическая значимость работы заключается в сокращении издержек на ввод информации в UCMDB за счет использования автоматического одновременного импорта данных из нескольких источников с сохранением взаимосвязей между объектами.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Developing adapter for importing data from external sources

HP DDM allows to monitor the changes in IT-infrastructure without installing any third-party components in destination network. In this article, development adapter for making import from external sources is described. Practical value is that UCMDB input costs go down because of using automated approach for data import from multiple external data sources preserving dependencies.

Текст научной работы на тему «Разработка адаптера импорта данных из внешних источников для HP ddm»

Доклады БГУИР

2013 № 1 (71)

УДК 515.142.33

РАЗРАБОТКА АДАПТЕРА ИМПОРТА ДАННЫХ ИЗ ВНЕШНИХ ИСТОЧНИКОВ ДЛЯ ОТ DDM

М.В. СТЕРЖАНОВ

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220113, Беларусь

Поступила в редакцию 27 июня 2012

Механизм ОТ DDM позволяет постоянно отслеживать изменения ГГ -инфраструктуры без установки каких-либо специальных приложений на машинах в целевой сети. В данной статье описана разработка адаптера импорта данных из внешних источников для DDM. Практическая значимость работы заключается в сокращении издержек на ввод информации в UCMDB за счет использования автоматического одновременного импорта данных из нескольких источников с сохранением взаимосвязей между объектами.

Ключевые слова: автообнаружение, ГТ-инфраструктура, НР UCMDB, НР DDM, Jython.

Введение

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

Под ГТ-инфраструктурой предприятия понимается реализация ГТ-коммуникаций для построения единого информационного пространства предприятия [1].

Одним из способов обеспечения полезной эффективности и информационной безопасности предприятия является аудит ГТ-инфраструктуры организации, направленный на оптимизацию информационной системы предприятия и выявление явных и/или скрытых угроз ее нормального функционирования. Аудит ГТ-инфраструктуры представляет собой системный процесс, заключающийся в получении и оценке объективных данных о текущем состоянии ГТ-систем организации. В этом контексте актуальной задачей является автоматизация процесса построения ^-инфраструктуры предприятия.

Решение Hewlett-Packard для управления и контроля IT-инфраструктур

Признанным лидером в поставке решений для управления и мониторинга корпоративной IT-среды является компания Hewlett-Packard (HP). Программное обеспечение HP Universal Configuration Management Database (UCMDB) сохраняет информацию о программном обеспечении (ПО) и компонентах инфраструктуры, а также осуществляет контроль и управление ими, включая связи и зависимости. Оно обеспечивает визуализацию состава элементов инфраструктуры и позволяет определить связи между компонентами для гарантированного представления предоставляемых IT- и бизнес-услуг. Эта визуализация помогает улучшить и упростить контроль изменений, избежать перебоев в предоставлении услуг, а также усовершенствовать систему отслеживания изменений, управления и контроля для IT-инфраструктур.

Добавление элементов IT-инфраструктуры в репозиторий UCMDB возможно при помощи ручного ввода, а также используя технологию автообнаружения (Discovery). Ручной ввод

является рутинной операцией, которая требует значительных человеческих и временных затрат, а введенная информация может быть искажена ошибками. Автообнаружение реализуется при помощи ПО Discovery & Dependency Mapping (DDM). Задачей инструментов HP DDM является сбор информации о системе при помощи обнаружения (discovery) ресурсов IT-инфраструктуры и их зависимостей.

Механизм DDM способен постоянно отслеживать изменения IT-инфраструктуры без установки каких-либо специальных приложений на машинах в целевой сети. Таким образом, эта технология является безагентной.

Использование DDM упрощает процесс управления активами программного обеспечения на основании стандарта ISO/IEC 19770 [2]. DDM позволяет на базовом уровне распознавать и собирать инвентарную информацию с устройств, подключенных по протоколу IP, в управляемой IT-среде. DDM позволяет обнаруживать объекты, взаимодействующие со слоями 2-7 в модели OSI [3] (приложения, базы данных (БД), сетевые устройства, сервера и др.). Каждый обнаруженный элемент IT-инфраструктуры сохраняется в качестве элемента конфигурации (Configuration item, CI) в универсальной базе UCMDB.

Покажем архитектуру DDM на рисунке [4].

Рис. 1. Архитектура HP DDM

Как видно из рис. 1, пользователь создает запросы на обнаружение, используя графический интерфейс BAC. BAC Gateway пересылает по протоколу http запрос на узел Discovery Probe, который размещается непосредственно в целевой сети. После выполнения процедуры обнаружения результаты отсылаются на сервер BAC Processing, который сохраняет обнаруженные CI в БД UCMDB.

Обнаружение осуществляется поэтапно. Сразу после установки Probe обнаруживает собственный IP-адрес и IP-адреса машин, находящихся в локальной сети. Найденная информация служит в качестве исходных данных для последующих обнаружений. Процесс повторяется циклически до обнаружения всех элементов IT-инфраструктуры (так называемое спиральное автообнаружение).

Описание стандартной поставки ПО для автообнаружения

Опишем принцип работы механизма обнаружения. За обнаружение объектов одного класса отвечает отдельная работа (job) DDM. Работа включает в себя шаблон (pattern) и позволяет переопределить набор входных параметров шаблона. Шаблон содержит заданные по умолчанию настройки выполнения процедуры обнаружения, информацию о входных и выходных элементах и периодичность запуска. Шаблон также содержит в себе код процедур обнаружения и скрипты для их запуска. Пользователь при необходимости может переопределить настройки, заданные в шаблоне, при запуске работы. Работы, выполняющие схожие функции, объединяются в модуль, служащий логической единицей группировки работ.

Модули, входящие в стандартную поставку DDM, используются для обнаружения: сети и подключенных к ней устройств (конфигурация UNIX и Windows машин), приложений (компоненты Oracle eBusiness Suite, приложения SAP), серверов БД (Oracle, DB2, Sybase, MS SQL

Server), J2EE приложений (под управлением JBoss, Oracle App Server, WebLogic), веб-серверов (Apache, IIS и др.).

Заметим, что объекты IT-инфраструктуры, находящиеся за пределами сети, в которой установлен Probe, не могут быть автоматически обнаружены и требуют ручного ввода оператора. Эффективным методом занесения информации о подобных объектах в UCMDB является импорт данных из внешних источников, в качестве которых могут выступать CSV-файлы, файлы свойств и базы данных.

Файл свойств содержит данные в виде пар «ключ=значение», фaйлы этого вида часто используются приложениями для хранения конфигурационной информации.

DDM поддерживает импорт данных из следующих БД: Oracle, MS SQL Server, My SQL, DB2. Практика показывает, что наиболее распространенным способом хранения информации об элементах IT-инфраструктуры является использование CSV-файлов или таблиц БД. По этой причине в разработанном решении реализована поддержка именно этих источников.

Для выполнения стандартного импорта из CSV-файла необходимо указать полный путь к файлу, разделитель, который используется в импортируемом файле, и указать файл, содержащий информацию об отображении колонок файла в атрибуты CI. Для выполнения стандартного импорта из базы данных необходимо указать имя схемы, имя таблицы или задать SQL запрос. Если имя таблицы указано, то значение SQL-запроса игнорируется. Так же, как и при импорте из CSV-файла, требуется указать файл, содержащий информацию о соответствии между полями таблицы или результате выполнения SQL-запроса и атрибутами CI UCMDB.

Адаптер импорта данных из CSV файла или БД с сохранением зависимостей

Стандартное решение для импорта из внешних источников позволяет работать только с одним источником данных (например, файлом или таблицей). На практике информация о ресурсах IT-инфраструктуры хранится в нескольких файлах или таблицах БД по принципу «одна сущность в одном месте». Нами разработан адаптер, позволяющий осуществлять импорт данных из нескольких файлов или таблиц БД с сохранением зависимостей. Ограничением созданного адаптера является выполнение импорта из источника данных одного вида. Это значит, что возможно импортировать данные либо из CSV файлов, либо из таблиц базы данных.

Предлагаемый адаптер создан на языке программирования высокого уровня Jython [5-6]. Дистрибутив Jython включает в себя почти все модули из стандартной поставки языка Python за исключением небольшого количества модулей, разработанных на C.

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

Для запуска процесса импорта в пользовательском интерфейсе работы автообнаружения необходимо задать всего два параметра: XML файл ImportTasks с описанием сценария импорта и путь к журнальному файлу. Файл ImportTasks создается администратором вручную и позволяет гибко настраивать параметры импорта IT-ресурсов. В нем сначала перечисляются задачи импорта из внешних источников.

Приведем пример отдельной задачи импорта из БД:

<ImportDBTask ID = "Sams" ciType = "nt" schema = "AssetDB" tableName = "SamsHosts" mappingFile = "mapping_sams.xml"> </ImportDBTask >.

Каждая подобная задача является атомарной независимой операцией импорта и имеет собственный идентификатор ID. В приведенном выше примере описывается импорт CI типа nt из таблицы SamsHosts базы данных AssetDB (MS SQL Server) в соответствии с правилами отображения, заданными в файле mapping_sams.xml.

Приведем пример файла отображения:

<ci type="memory"> <map>

<attribute>hostname</attribute>

<column>0</column>

</map>

</ci>

После указания задач импорта следует перечисление задач для создания зависимостей между импортированными элементами конфигурации.

Приведем пример описания такой задачи:

<LinkingTask ID = "Sams_IP" ID_PK = "Sams" PK_Attr = "key_guid" ID_FK = "IP" FK_Attr =

"hostname" Relation = "container">

</LinkingTask>.

В качестве атрибутов помимо идентификатора задания ID можно выделить: ID_PK, ID_FK - идентификаторы задач, в которых осуществлялся импорт связанных зависимостью CI; PK_Attr, FK_Attr - атрибуты CI, посредством которых реализуется зависимость. Атрибут Relation характеризует вид создаваемой связи и может принимать два значения: container - для создания отношения «часть-целое» и link - для создания отношения ассоциации.

Разбор содержимого файла ImportTasks осуществляется с использованием библиотеки SAX (Simple API for XML). В результате разбора файла создается массив ImportJobsArr, содержащий задания на импорт из отдельного источника и массив LinkJobsArr, содержащий задания на создание связей. Затем проходом по каждому элементу ImportJobI массива ImportJobsArr осуществляется импорт элементов конфигурации с сохранением результатов во внутреннее хранилище типа ObjectStateHolderVector объекта ImportJobI. Следующим после обработки всех внешних источников шагом является проход по массиву LinkJobsArr. Для каждого элемента LinkJobI из массива LinkJobsArr при помощи ключей ID_PK и ID_FK находятся два элемента ImportJob_PK и ImportJob_FK массива ImportJobsArr, содержащие импортированные объекты, которые необходимо связать отношением. Затем для каждого объекта CurObj_FK из ImportJob_FK находится объект CurObj_PK из ImportJob_PK, такой что CurObj_FK.FK_Attr = CurObj_PK.PK_Attr. Для создания связи вызывается метод modeling.createLinkOSH.

Разработка адаптера велась с использованием свободной интегрированной среды разработки приложений Eclipse и расширения pydev. Для отладки кода и последующего тестирования применялся инструмент DiscoveryAnalyzer, позволяющий запустить автообнаружение без использования интерфейса UCMDB с возможностью последующей отладки скриптов в Eclipse. В качестве библиотеки логирования сообщений использовалось решение Log4J.

Заключение

Практическая значимость работы заключается в том, что предложенный адаптер позволяет исключить необходимость ручного ввода и избежать ошибок при переносе данных из других систем, тем самым сокращая издержки на ввод информации в репозиторий UCMDB. Практическая значимость работы подтверждается использованием адаптера при решении реальных задач. В рамках этапа опытно-промышленной эксплуатации разработанный адаптер был успешно применен при выполнении операции импорта из таблиц БД MS SQL конфигурации ЭВМ (общая информация о серверах хранилась в родительской таблице, информация об аппаратной составляющей в дочерних таблицах) и импорта из CSV-файлов информации о бизнес-сервисах, сервисах инфраструктуры и их взаимосвязях.

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

DEVELOPING ADAPTER FOR IMPORTING DATA FROM EXTERNAL SOURCES

M.V. STERJANOV Abstract

HP DDM allows to monitor the changes in IT-infrastructure without installing any third-party components in destination network. In this article, development adapter for making import from external sources is described. Practical value is that UCMDB input costs go down because of using automated approach for data import from multiple external data sources preserving dependencies.

Список литературы

1. Карасев Г.Г. // IT Бел. 2009. № 4. С. 14-17.

2. ISO/IEC 19770-1:2006. Information technology - Software asset management. Part 1: Processes.

3. ГОСТ Р ИСО/МЭК 7498-1-99. Информационная технология. Взаимосвязь открытых систем. Базовая эталонная модель. Часть 1. Базовая модель.

4. HP BAC for the Windows and Solaris operating systems. Software version: 8.0. Discovery and Dependency Mapping, 2009.

5. Бизли Д. Python. Подробный справочник. СПб, 2010.

6. Лутц М. Изучаем Python. СПб, 2010.

i Надоели баннеры? Вы всегда можете отключить рекламу.