Надгледање ИБМ Сторвизе складиштења помоћу Заббик-а
У овом чланку ћемо мало говорити о надгледању ИБМ Сторвизе система складиштења и других система за складиштење који подржавају ЦИМ/ВБЕМ протоколе. Потреба за таквим праћењем је изостављена из једначине; ово ћемо сматрати аксиомом. Користићемо Заббик као систем за праћење.
У најновијим верзијама Заббик-а, компанија је почела да обраћа много више пажње на шаблоне – почели су да се појављују шаблони за услуге надгледања, ДБМС, хардвер сервера (ИММ/иБМЦ) преко ИПМИ-ја. Надгледање система за складиштење је још увек ван шаблона, тако да да бисте интегрисали информације о статусу и перформансама компоненти за складиштење у Заббик, морате да користите прилагођене шаблоне. Представљам вам један од ових шаблона.
Прво, мало теорије.
Да бисте приступили статусу и статистици ИБМ Сторвизе система складиштења, можете користити:
ЦИМ/ВБЕМ протоколи;
РЕСТфул АПИ (подржано у ИБМ Сторвизе-у почевши од верзије софтвера 8.1.3);
СНМП замке (ограничен скуп замки, без статистике);
Заинтересовани могу сазнати више о различитим методама праћења у релевантним одељцима документације добављача, као иу документу ИБМ Спецтрум Виртуализе скриптовање.
ВБЕМ ради на врху ХТТП протокола. Преко ВБЕМ-а можете радити не само са системима за складиштење података, већ и са ХБА, прекидачима и библиотекама трака.
Према СМИ Арцхитецтуре и Одредите инфраструктуру, главна компонента имплементације СМИ је ВБЕМ сервер, који обрађује ЦИМ-КСМЛ захтеве од ВБЕМ клијената (у нашем случају, из скрипти за праћење):
ЦИМ је објектно оријентисани модел заснован на Унифиед Моделинг Лангуаге (УМЛ).
Управљани елементи су дефинисани као ЦИМ класе које имају својства и методе за представљање управљаних података и функционалности.
Према ввв.сниа.орг/пивбем, за приступ системима за складиштење преко ЦИМ/ВБЕМ-а, можете користити ПиВБЕМ – библиотеку отвореног кода написану на Питхон-у, која програмерима и систем администраторима пружа имплементацију ЦИМ протокола за приступ ЦИМ објектима и обављање различитих операција са ВБЕМ сервером који ради у у складу са СМИ-С или другим ЦИМ спецификацијама.
За повезивање са ВБЕМ сервером користимо конструктор класе ВБЕМЦоннецтион:
Ово је виртуелна веза, пошто ЦИМ-КСМЛ/ВБЕМ ради преко ХТТП-а, права веза се јавља када се позову методе на инстанци класе ВБЕМЦоннецтион. У складу са ИБМ Систем Стораге САН Волуме Цонтроллер и Сторвизе В7000 најбољим праксама и смерницама за перформансе (Пример Ц-8, страна 412), користићемо „роот/ибм“ као ЦИМ именски простор за ИБМ Сторвизе систем складиштења.
Имајте на уму да за прикупљање статистике преко ЦИМ-КСМЛ/ВБЕМ протокола морате укључити корисника у одговарајућу безбедносну групу. У супротном, када се извршавају ВБЕМ упити, излаз атрибута инстанце класе ће бити празан.
За приступ статистици складиштења, корисник под којим се позива конструктор ВБЕМЦоннецтион(), мора имати најмање РестрицтедАдмин (доступно за цоде_левел > 7.8.0) или администраторска права (не препоручује се из безбедносних разлога).
Повезујемо се са системом за складиштење преко ССХ-а и гледамо бројеве група:
> lsusergrp
id name role remote
0 SecurityAdmin SecurityAdmin no
1 Administrator Administrator no
2 CopyOperator CopyOperator no
3 Service Service no
4 Monitor Monitor no
5 RestrictedAdmin RestrictedAdmin no
Додајте заббик корисника у жељену групу:
> chuser -usergrp 5 zabbix
Поред тога, у складу са ИБМ Систем Стораге САН Волуме Цонтроллер и Сторвизе В7000 најбољим праксама и смерницама за перформансе (стр. 415), морате омогућити прикупљање статистике на систему за складиштење. Дакле, да прикупљате статистику сваког минута:
> startstats -interval 1
Проверавамо:
> lssystem | grep statistics
statistics_status on
statistics_frequency 1
Да бисте добили све постојеће класе складиштења, морате користити методу ЕнумератеЦлассНамес().
Пример:
classnames = conn.EnumerateClassNames(namespace='root/ibm', DeepInheritance=True)
for classname in classnames:
print (classname)
Метода се користи за добијање вредности параметара система за складиштење података ЕнумератеИнстанцес() цласс ВБЕМЦоннецтион, враћајући листу инстанци ЦИМИнстанце().
Пример:
instances = conn.EnumerateInstances(classname,
namespace=nd_parameters['name_space'])
for instance in instances:
for prop_name, prop_value in instance.items():
print(' %s: %r' % (prop_name, prop_value))
За неке класе које садрже велики број инстанци, као што је ИБМТССВЦ_СторагеВолуме, потпуни упит свих инстанци може бити прилично спор. Може да генерише велике количине података које систем за складиштење мора припремити, пренети преко мреже и обрадити скриптом. За такав случај постоји метод ЕкецКуери(), што нам омогућава да добијемо само својства инстанце класе која нас занимају. Овај метод укључује коришћење језика упита сличног СКЛ-у, било ЦИМ Куери Лангуаге (ДМТФ:ЦКЛ) или ВБЕМ Куери Лангуаге (ВКЛ), за упите ЦИМ објеката складиштења:
request = 'SELECT Name FROM IBMTSSVC_StorageVolumeStatistics'
objects_perfs_cim = wbem_connection.ExecQuery('DMTF:CQL', request)
Дакле, да бисмо добили параметре (не бројаче перформанси) физичких дискова (Диск драјвова), ми ћемо испитати класу ИБМТССВЦ_ДискДриве, да бисмо добили параметре волумена - Цласс ИБМТССВЦ_СторагеВолуме, да бисмо добили параметре низа - Цласс ИБМТССВЦ_Арраи, да бисмо добили параметре МДискс - Цласс ИБМВТССВЦ_Бацк итд.
Да бисте добили статистику складиштења за волумене, морате навести ИБМТССВЦ_СторагеВолумеСтатистицс као вредност параметра ЦлассНаме. Својства класе ИБМТССВЦ_СторагеВолумеСтатистицс неопходне за прикупљање статистике могу се видети у Статистика чворова.
Такође, за анализу перформанси можете користити класе ИБМТССВЦ_БацкендВолумеСтатистицс, ИБМТССВЦ_ДискДривеСтатистицс, ИБМТССВЦ_НодеСтатистицс.
За снимање података у систем за праћење користићемо механизам заббик трапс, имплементиран у Питхон-у у модулу пи-заббик. Структуру класа система за складиштење и њихова својства поставићемо у речник у ЈСОН формату.
Шаблон постављамо на Заббик сервер, уверавамо се да сервер за праћење има приступ систему за складиштење преко ВЕБ протокола (ТЦП/5989) и постављамо конфигурационе датотеке, скрипте за откривање и праћење на сервер за праћење. Затим додајте покретање скрипте у планер. Као резултат: откривамо објекте за складиштење (низови, физичке и виртуелне дискове, кућишта и још много тога), преносимо их у Заббик открића, читамо статус њихових параметара, читамо статистику перформанси (бројаче перформанси), преносимо све ово у одговарајући Заббик Ставке нашег шаблона.
Заббик шаблон, питхон скрипте, структуру класа складиштења и њихова својства, као и примере конфигурационих датотека, можете пронађи овде.