Научная статья на тему 'Использование языка XML для обмена данными в распределенной системе мониторинга сети'

Использование языка XML для обмена данными в распределенной системе мониторинга сети Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
251
51
Читать
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОНИТОРИНГ СЕТИ / ПЛАГИНЫ / ПРОТОКОЛ ОБМЕНА / РАСПРЕДЕЛЕННЫЕ СИСТЕМЫ / ЯЗЫК XML / МОНіТОРИНГ МЕРЕЖі / ПЛАГіНИ / ПРОТОКОЛ ОБМіНУ / РОЗПОДіЛЕНі СИСТЕМИ / МОВА XML / NETWORK MONITORING / PLUGINS / PROTOCOL FOR EXCHAGING / DISTRIBUTED SYSTEMS / XML LANGUAGE

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

Приведены наиболее распространенные методы организации обмена данными в распределенных системах мониторинга сети с расширением функций посредством плагинов. Предложен основанный на языке XML протокол обмена данными между компонентами системы мониторинга. Рассмотрены некоторые методы сокращения накладных расходов, связанных с избыточностью XML. Табл.: 3. Библиогр.: 8.

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

Use of XML for data exchange in a distributed network monitoring system

The most common methods of data exchange in distributed systems for network monitoring with the extension via plugins are presented. An XML-based protocol for exchanging data between components of a distributed system for monitoring network is suggested. Some methods of reducing computational burden associated with redundancy of XML are reviewed. Tabl.: 3. Refs: 8 titles.

Текст научной работы на тему «Использование языка XML для обмена данными в распределенной системе мониторинга сети»

Ю.Н. КОЛЫБИН, канд техн наук, проф НТУ "ХПИ",

С.В. ПОЛОВИНКО, магістр НТУ "ХПИ"

ИСПОЛЬЗОВАНИЕ ЯЗЫКА XML ДЛЯ ОБМЕНА ДАННЫМИ В РАСПРЕДЕЛЕННОЙ СИСТЕМЕ МОНИТОРИНГА СЕТИ

Приведеньнаиболеераспространенныяетодыорганизацииобменаданнымив распределенных системах мониторинга сети с расширением функций посредством плагинов Предложен основанный на языке XML протокол обмена данными между компонентами системы мониторинга Рассмотреньнекоторые методы сокращенияна кпадных расходов связанных: избыточностькХМ!.. Табл: З.Библиогр: 8.

Ключевые слова мониторинг сети плагиньї протокол обмену распределенныесистемьд языкХМ1_.

Постановка проблемы Современные средства мониторинга вычислительныхгетейпредоставляюширокиевозможностисбораи анализа диагностической информации Возможности различных продуктов данной категории могут расширятьсяза счет использования лагиное скриптови других подобныхсредств[1]. При этом производителя «систем мониторинга приходится реализовыватьсложные интерфейсыдля вызова плагинов и получения результатових работы Иногда это отдельный интерфейсдля каждого поддерживаемого типа п лагина Чаще всего такие интерфейсы обладаютжестко заданнойструктуройи о граничивающальнейшефіазвитие систему поскольку необходимо обеспечивать обратную совместимость различны>еерсийинтерфейсорасширения1 плагинов

Кроме того, зачастуюсовременныасистемыобслуживаниясетей в том числеи инструментымониторингд имеют распределеннунархитектуру то естьсостоятиз несколькихкомпоненто? которыеобмениваютаданнымипо сети Наличиежестко определенньїхіротоколовтакже вносит сложностив контроль версий усложняет работу разработчиков и администраторов систему есливозникаетнеобходимостьадаптироватвсистемук конкретной ситуациии реализоваткбор каких-либо специфическиаданны* возможно оченьважныхдлятекущейзадачи

Подобные сложности имеют место при р азработкесамых различных типов программногообеспеченияг в значительнойиерер ешаютсяза счет гибких самодокументируемыиротоколо? иерархическиэструктур данныхи средстЕих обработки а также обобщенны>языковразметки

Анализ литературыВ ходе анализа: уществующих решений было выясненр что часто разработчики систем мониторинга организовывают плагины в виде отдельных агентов опрашиваемых по определенному протоколу (чаще всего SNMP) [1]. Подобное решение позволяетдобиться

высокой производительности (в случае использования таких нетребовательных ресурсам протоколов например как SNMP), однако расширяемостБакойсистемысильноограниченакесткостьюпротокола

Другое распространенноєрешение - оформлениеплагинов в виде динамическиэбиб лиотер содержащие себе набор функций каждая из которых выполняетопределеннукзадачу(инициализациязапроспараметров плагинау пользователязапуск мониторингу остановмониторингф. В таком случаекаждьійплагинявляетсгі'вещьюв себё, и для организации например обработки полученных данных другим п лагином если данноедействиене предусмотреноінтерфейсомразработчикаміриходитсявнедрятьразличньїе нестандартнырешени? что усложняетразработкуКрометого, такой подход являетсюченьплатформозависимым

Еще одним более универсальным методом являетсяиспользование качестве плагинов обычных консольных приложений формирующих свой текстовый выводе соответствии: н екоторымиправиламиформатирования Данныео результатах/і ониторингасистемаполучаетиз п отокат екстового вывода плагина и кода его завершения Такой подход (используется например в Nagios [2]) может считаться кроссплатформенным и предоставляетболыиую свободу действий хотя и несколько меньшую производительность Естественным развитием такого форматированного текста можно считатья зык XML. Несмотря на большую избыточности являющуюсяего главным недостатком XML успешно применяете» таких распространенныхгехнологиях как XML-RPC, SOAP [3 - 5], протоколе обменамгновенньїмисообщениямііаЬЬег (ХМРРУї др

Целью статьи являетсяразработкасобственногопротоколана основе XML для связи компонентов распределенной системы мониторинга вычислительной сети между собой и с плагинами для повышения расширяемости упрощения систем мониторинга Приз томо писаниув разрабатываемоформатедолжны быть достаточно! ростыдля того, чтобы человеммог их читатьи редактировать

Датчики. Для мониторинга узлов сети используются в основном числовые* строковыезначенияразличныхпараметроработыэтихузлов Для описаниягакихзначениСпримемабстракцик}'датчик ("probe"). В синтаксисе XML простейшийцатчикможноописатьтак:

Таблица!

Описаниепростейшегсдатчикас использованиепзыкаХМЬ

Описаниедатчика Значениедатчика

"Числоотправленньшакетой

<Р n="PacketsSent" /> |<Р n-'PacketsSent"/> 100</Р>

Значениян екоторых датчиков могут быть получены непосредственнв результатеопроса состояния систему другие вычисляютсяна основеэтих

первичных значений В дальнейшем эти значения используются для визуализациях входныеданныедлясистемподдержкипринятиярешениш! т.п.

При использовании XML-описаний датчиков в протоколе обмена данным^ основнаяпрограммаопрашиваеллагины для полученияописаний а для получениязначений конкретного датчика (или нескольких датчиков, отсылаеттагинузапрорсовпадающийю содержанию: описанием

Датчикможетбытьпростым представляжобойоднозначениеа может описыватьструктуруили массив

Таблиц^

Примерьсложныхдатчиков

Описаниедатчика Значениедатчика

"СтатистикапротоколаТСР"

<Р п="ТСР"> <Р n="SegmentsSent" /> <Р n="SegmentsRecieved" /> <Р n="SegmentsResent" /> <Р п='ТСР"> <Р n="SegmentsSent">37</P> <Р n="SegmentsRecieved">81</P> <Р n="SegmentsResent">4</P>

</Р> </Р>

"ОткрытыеТСРсоединений

<Р n="Connections" index=""> <Р n="RemotePort" /> <Р n="LocalPort" /> <Р n="RemoteAddr" /> </Р> <Р n=,,Connections'' index="0"> <Р n="RemotePort">80</P> <Р n="LocalPort">8890</P> <Р n="RemoteAddr"> "10.1.3.4"</Р> </Р> <Р n=,,Connections'' index="1 "> <Р n="RemotePort">80</P> <Р n="LocalPort">8810</Р> <Р n="RemoteAddr"> "10.3.2.5"</Р> </Р>

Для вычислениядатчикана основе значений других датчиков можно использовать подобные описания "<Р п = "Кеве^РгосепГ />

1ОСГБедтег^зКевеп! / Зедтег^эвеп! </(ЗНёчениедатчика Кеэе^Ргосеп! будет равнятьсяпроцентусегментор которые узел был вынужден отправить повторно из-за каких-либо неполадою р аботе сети Для простоты все численныезначениядатчиковв предлагаемомпротоколе будут считаться вещественным^ связис такой организацие(работьс числамшредлагается ввести оператор округления "@". Пример его использования -"(100*8едтеп1зКе5еп1/8едтеп153епО@2круглениезначениявыражени5в скобкахдо деухзнаковпослезапятой

При обращении к элементу массива используется оператор "[]". Испол ьзованиего идентичнсиспол ьзованикв языкеСи.

Функции. Кроме датчиков в вычислении выражений могут использоватьсяфункции Функция п редставляеиз себяд атчик значение которогоможетменятьсж зависимости^ переданногсвмуаргумента

ТаблицйЗ

Примерьюписанияфункций

Описаниедатчика Значениедатчика

"Информация дискё'

<Р n="Drivelnfo" arg=""> <Р n="Drivelnfo,, агд = "С">

<Р n="Capacity" /> <Р n="FreeSpace" /> <Р n="FileSystem" /> </Р> <Р n="Capacity">4194304</Р> <Р n="FreeSpace">20971 </Р> <Р n="FileSystem">FAT32</P> </Р>

"ВходящиеНйр-соединений

<Р n="lncomeConns" arg="" index='"'> <Р n="RemotePort" /> <Р n="RemoteAddr" /> </Р> <Р n-'IncomeConns" агд="80" index="0"> <Р n="RemotePort">4023</P> <Р n="RemoteAddr">"10.4.5.2"</Р> </Р> <Р n-'IncomeConns" агд="80" index="1"> <Р n="RemotePor"t>8032</P> <Р n="RemoteAddr">"10.4.1,8"</Р> </Р>

Как видноиз п римера"ВходящиеНйр-соединени^ значениефункции как и любого датчику может быть массивом что значительнфасширяетих возможности В описанномсинтаксисф однак<э имеется тот недостаток что формата ргументане описываетсяявнр а это потребуетот разработчиков функции (если она реализованав плагин^ написания документации с описанием иначе использованиефункции будет затруднено На данный моментмывидимдварешениэданнойпроблемы

- Использованиеоясняющихкомментариевв XML-описании

- Заданиеформатааргументэв видесамостоятельногдатчика Данные подающиеся качествеаргументафункции должныполностьюкопировать структуруэтого датчика

Невычисляемыеыражения Еслих отябы одно из и спользуемыэв выражениизначенийне может быть вычисленодатчикп ринимаетзначение-"недоступей (#NA). Если в дальнейшем недоступный датчик будет использоваидля вычислениязначениядругого датчику этот датчик тоже станет недоступным То же самое происходит если выражениеиспользует значение неописанного датчика (например если не подключен нужный плагин). Еслив выраженито ошибкебудетиспользоватуть к пространству имей такжебудетполученозначение#МА.

С использованиегвыражений предложенныэвышз пользователыожет расширятьвозможностисистемы без внесениям змененийв код плагинов

Разумеетоятакой подход не может обеспечитьвсе возможныепотребности конечного пользователяно во многих случаяхпоможетпроизвестинужные вычислени5безразработккспециальногаплагина

Достоинствяредложенногоротокола

1. Гибкость протоколаобмена Фактически он можетформироватьсйна лету, динамически2. XML оченьраспространеи большинствасовременных языковпрограммированиямеютсредствщля рвботьс ним [6]. 3. Некоторые простые вычисленияможно производитьпри помощи выражению XML-описание без использования:пециальны)плагинов 4. Использованием!. позволит значительноупростить систему Например при использовании XSLT-преобразован^Св качествеконсол и мониторинг? в некоторыхслучаях можнои спользоватьобычный браузер что вообщепозволяетотказатьсяот разработки<онсоли мониторингакак отдельногсприложения[7]. 5. Удобный длячтенияи редактированияеловеколформат

Предложенныйпротокол был реализоващля обменаданнымим ежду компонентами демонстрационнойгрограмму служащей для мониторинга работымалыхи среднихпо размеру сетей Так как в процессеработынад проектомпрограммаиногократноизменяларьвнесениздзмененикв протокол с заранееопределеннымшолями и константами было бы чрезвычайно трудоемкр использование« предложенногспротоколаобеспечилслростоту модификации системым ониторингд что, конечно показывает насколько простотакиеизменениявозможнопроизводитьлри реальномиспользовании Подобнаяибкостьбылабы невозможнапри использованиунапримерБММР.

Недостатка редложенногоротокола

1. Большая избыточность кода теги XML-разметкш д линные имена датчиков составляютбольшие текстовые объему что при частомо бмене даннымиотрицательнсказываетсяа гроизводительностсмстемы

2. Для реализацивозможностшспользованидатчиковнепосредственно в XML-описании необходимо создание собственного языка выражений Однако синтаксис такого языка будет чрезвычайной ростыад поэтому он, CKopeeBcerq небудетвызыватьсложностейв освоении

В некоторой мере устранить первый недостатокпозволяютследующие средства

- При организации обмена системы с плагинами XML-описание используетсяголько на первомэтапе После опроса всех плагиновс целью выяснения структуры дерева датчиков составляется связный граф -интерпретациямL с нумерованнымуузлами- и в дальнейшешесьобмен осуществляется с использованием этих номеров как идентификаторов датчиков

- Выражения используемьіеіри вычислениизначенийдатчикое можно скомпилироваі>переведяв машинныекоманды Это позволитизбавитьсяэт фазы интерпретации) ри вычислениях аждого выражения ПлатформаМЕТ позволяепроизводитьгакуюхомпиляциюотносительн®іросто[8].

- При обменепо сети текстьі размеченныё(М1_, предлагаетсажимать однимиз распространенныёыстрыхалгоритморчто многократноуменьшит объел/передаваемьданных

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

Список литературы1. Уилсон Э. Мониторинг и анализ сетей Методы выявления неисправностей Э. Уилсон-М.: Лори, 2002. - 3502.2. Barth W. Nagios System and network monitoring IW. Barth- San Francisco: No starch press, 2006. - 432.)&нте[Д. Введение XML I Д. Хантер - М.: Лори, 2001. - 638с. 4. Мак-ЛахлинБ. Javan XML / Б. Мак-Лахлин- СПб.: СимволПлюс; 2002. - 544 с5. ТаненбаунВ. РаспределенныеистемыПринципыи парадигмы IЭ. ТаненбаууМ. ванСтен-СПб.: Питер 2003. - 877 сб. Спенсе/Л. XML Проектирование! реализаций П. Спенсер- М.: Лори, 2001. - 526b. 7.Хопзне(С. XML. Энциклопедий С Холзнер - СПб.: Питер 2004. - 1104:. 8. РихтерД. Clr via С#.Программированива платформ A/I icrosoft .NET Framework 2.біаязьікеС# ІД. Рихтер- СПб.: Питер 2008. - 656k.

УДК 004.652

ВикористанняХМІ. для обмінуданимив розподіленихистемахмоніторингумережі / КолибінЮ.М., ПоловинкоС.В. II Вісник НТУ "ХПІ". Тематични£вип уск Інформатика моделювання-Харків: НТУ "ХПІ". -2010. -№21. -С. 96-101.

Наведенснайбільшпоширені методи організації обміну данимив розподіленихсистемах моніторингу мережі з розширенням функціоналу за допомогою плагінів. Запропоновано заснованийна мові XML протоколо бміну данимим іж компонентамисистемим оніторингу. Розглянуто деякі методи скорочення накладних витрат пов'язаних з надмірністю XML.

Табл: З.Бібліогр: 8 назв

Ключові слова моніторинг мережі плагіни, протокол обміну, розподілені систему мова

XML.

UDC 004.652

Use of XML for data exchange in a distributed network monitoring system / Kolibin Y.N., Polovinko S.V. /Herald of the National Technical University "KhPI". Subject issue: Information Science and Modelling. - Kharkov: NTU "KhPI". - 201(№r21. - P. 96 - 101.

The most common methods of data exchange in distributed systems for network monitoring with the extension via plugins are presented. An XML-based protocol for exchanging data between components of a distributed system for monitoring network is suggested. Some methods of reducing computational burden associated with redundancy of XML are reviewed. Tabl.: 3. Refs: 8 titles.

Keywords: network monitoring, plugins, protocol for exchaging, distributed systems, XML language.

Поступипт редакцию15.04.2010.

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