IBM Storwize жадын Zabbix көмегімен бақылау

Бұл мақалада біз IBM Storwize сақтау жүйелерін және CIM / WBEM протоколдарын қолдайтын басқа сақтау жүйелерін бақылау туралы аздап сөйлесетін боламыз. Мұндай бақылаудың қажеттілігі жақшадан тыс қалды, біз мұны аксиома ретінде қарастырамыз. Біз Zabbix-ті бақылау жүйесі ретінде қолданамыз.

Zabbix-тің соңғы нұсқаларында компания шаблондарға көбірек көңіл бөле бастады - үлгілер IPMI арқылы бақылау қызметтері, ДҚБЖ, Серверлердің аппараттық құралдары (IMM / iBMC) үшін пайда бола бастады. Сақтау мониторингі әлі де қораптан тыс, сондықтан сақтау компоненттерінің күйі мен өнімділігі туралы ақпаратты Zabbix жүйесіне біріктіру үшін пайдаланушы үлгілерін пайдалану қажет. Назарларыңызға осы үлгілердің бірін ұсынамын.

Біріншіден, кішкене теория.

IBM Storwize қоймасының күйі мен статистикасына қол жеткізу үшін мыналарды пайдалануға болады:

  1. CIM/WBEM хаттамалары;
  2. RESTful API (8.1.3 бағдарламалық жасақтама нұсқасынан бастап IBM Storwize қолдау көрсетеді);
  3. SNMP тұзақтары (тұзақтардың шектеулі жиынтығы, статистика жоқ);
  4. SSH қосылымынан кейін қашықтан басқару құралы жай бас сценарий жазу үшін қолайлы.

Қызығушылық танытқандар әр түрлі бақылау әдістері туралы толығырақ жеткізуші құжаттамасының тиісті бөлімдерінен, сондай-ақ құжаттан біле алады. IBM Spectrum Virtualize сценарийі.

Біз CIM/WBEM хаттамаларын қолданамыз, бұл бізге сақтау жүйесінің параметрлерін әртүрлі сақтау жүйелеріне арналған бағдарламалық қамтамасыз етуде елеулі өзгерістерсіз алуға мүмкіндік береді. CIM/WBEM хаттамалары сәйкес жұмыс істейді Сақтауды басқару бастамасының сипаттамасы (SMI-S). Сақтауды басқару бастамасы – спецификация ашық стандарттарға негізделген CIM (жалпы ақпараттық үлгі) и WBEM (веб негізіндегі кәсіпорынды басқару)анықталған Бөлінген басқару жұмыс тобы.

WBEM HTTP протоколының үстінде жұмыс істейді. WBEM арқылы сіз тек сақтау жүйелерімен ғана емес, сонымен қатар HBA, қосқыштар және таспа кітапханаларымен жұмыс істей аласыз.

бойынша SMI архитектурасы и Инфрақұрылымды анықтау, SMI енгізудің негізгі құрамдас бөлігі WBEM клиенттерінің CIM-XML сұрауларын өңдейтін WBEM сервері болып табылады (біздің жағдайда, бақылау сценарийлерінен):

IBM Storwize жадын Zabbix көмегімен бақылау

CIM - Бірыңғай модельдеу тіліне (UML) негізделген нысанға бағытталған модель.
Басқарылатын элементтер басқарылатын деректер мен функцияларды көрсету үшін сипаттары мен әдістері бар CIM сыныптары ретінде анықталады.

бойынша www.snia.org/pywbem, CIM/WBEM арқылы жадқа қол жеткізу үшін PyWBEM, Python тілінде жазылған ашық бастапқы кітапхананы пайдалануға болады, ол әзірлеушілер мен жүйелік әкімшілерге CIM нысандарына қол жеткізу және SMI сәйкес жұмыс істейтін WBEM серверімен әртүрлі операцияларды орындау үшін CIM хаттамасын жүзеге асыруды қамтамасыз етеді. -S немесе басқа CIM техникалық сипаттамалары.

WBEM серверіне қосылу үшін сынып конструкторын пайдаланыңыз WBEMMConnection:

conn = pywbem.WBEMConnection(server_uri, (self.login, self.password),
            namespace, no_verification=True)

Бұл виртуалды қосылым, себебі CIM-XML/WBEM HTTP арқылы жұмыс істейді, нақты қосылым әдістер WBEMMonnection класының данасында шақырылғанда орын алады. IBM System Storage SAN Volume Controller және Storwize V7000 үздік тәжірибелері мен өнімділік нұсқауларына (C-8 мысалы, 412-бет) сәйкес біз IBM Storwize қоймасы үшін CIM аттар кеңістігі ретінде “root/ibm” қолданамыз.

CIM-XML/WBEM протоколы бойынша статистиканы жинау үшін пайдаланушыны тиісті қауіпсіздік тобына қосу керек екенін ескеріңіз. Әйтпесе, WBEM сұрауларын орындау кезінде сынып данасы атрибуттарының шығысы бос болады..

Сақтау статистикасына қол жеткізу үшін конструктор шақырылатын пайдаланушы WBEMMConnection(), кем дегенде RestrictedAdmin (cod_level > 7.8.0 үшін қолжетімді) немесе Әкімші (қауіпсіздік мақсатында ұсынылмайды) болуы керек.

Біз сақтау жүйесіне SSH арқылы қосылып, топ нөмірлерін қарастырамыз:

> 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    

Қажетті топқа zabbix пайдаланушысын қосыңыз:

> chuser -usergrp 5 zabbix

Оған қоса, IBM System Storage SAN Volume Controller және Storwize V7000 үздік тәжірибелері мен өнімділік нұсқауларына (б. 415) сәйкес сақтау жүйесінде статистикалық жинақты қосу керек. Сонымен, статистиканы минут сайын жинау үшін:

> startstats -interval 1 

Тексеру:

> lssystem | grep statistics
statistics_status on
statistics_frequency 1

Барлық бұрыннан бар сақтау сыныптарын алу үшін EnumerateClassNames() әдісін пайдалану керек.

Мысал:

classnames = conn.EnumerateClassNames(namespace='root/ibm', DeepInheritance=True)
for classname in classnames:
     print (classname)

Сақтау жүйесінің параметрлерінің мәндерін алу үшін әдіс EnumerateInstances() Даналар тізімін қайтаратын WBEMMonnection сыныбы CIInstance().

Мысал:

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))

IBMTSSVC_StorageVolume сияқты даналардың үлкен санын қамтитын кейбір сыныптар үшін барлық даналардың толық сұрауы өте баяу болуы мүмкін. Ол сақтау жүйесімен дайындалуы, желі арқылы берілуі және сценарий арқылы өңделуі тиіс деректердің үлкен көлемін жасай алады. Мұндай жағдай үшін әдіс бар ExecQuery(), бұл тек бізді қызықтыратын класс данасы сипаттарын алуға мүмкіндік береді. Бұл әдіс CIM сақтау нысандарын сұрау үшін CIM сұрау тілі (DMTF:CQL) немесе WBEM сұрау тілі (WQL) сияқты SQL сұрау тілін пайдалануды қамтиды:

request = 'SELECT Name FROM IBMTSSVC_StorageVolumeStatistics'
objects_perfs_cim = wbem_connection.ExecQuery('DMTF:CQL', request)

Сақтау объектілерінің параметрлерін алу үшін қандай сыныптарды анықтау үшін біз құжаттаманы оқимыз, мысалы Жүйе концепциялары CIM тұжырымдамаларына қалай сәйкес келеді.

Сонымен, физикалық дискілердің (диск жетектерінің) параметрлерін (өнімділік есептегіштері емес) алу үшін біз IBMTSSVC_DiskDrive сыныбынан, Volumes параметрлерін алу үшін - IBMTSSVC_StorageVolume класын, жиым параметрлерін алу үшін - IBMTSSVC_Array сыныбын, MDisks параметрлерін алу үшін - Class_BackLum, Class_BackDrive, т.б.

Өнімділік туралы оқуға болады Common Information Model агентінің функционалдық диаграммалары (нақтырақ айтқанда - Сервер өнімділігі ішкі профилін блоктау) және IBM System Storage SAN Volume Controller және Storwize V7000 үздік тәжірибелері және өнімділік нұсқаулары (C-11 мысалы, 415 бет).

Томдар үшін сақтау статистикасын алу үшін ClassName параметрінің мәні ретінде IBMTSSVC_StorageVolumeStatistics көрсетуіңіз керек. Статистиканы жинауға қажетті IBMTSSVC_StorageVolumeStatistics класының сипаттарын мына жерден табуға болады Түйін статистикасы.

Сондай-ақ, өнімділікті талдау үшін IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics сыныптарын пайдалануға болады.

Мониторинг жүйесіне деректерді жазу үшін біз механизмді қолданамыз заббикс тұзақтары, модульде python тілінде жүзеге асырылады py-zabbix. Сақтау сыныптарының құрылымы және олардың қасиеттері JSON пішіміндегі сөздікте орналастырылады.

Үлгіні Zabbix серверіне жүктейміз, бақылау серверінің WEB хаттамасы (TCP / 5989) арқылы сақтау мүмкіндігі бар екеніне көз жеткіземіз, конфигурация файлдарын, анықтау және бақылау сценарийлерін мониторинг серверіне орналастырамыз. Әрі қарай, сценарийлерді жоспарлаушыға қосыңыз. Нәтижесінде: біз сақтау объектілерін (массивтер, физикалық және виртуалды дискілер, қоршаулар және т.б.) ашамыз, оларды Zabbix ашылымдарына береміз, олардың параметрлерінің күйін оқимыз, өнімділік статистикасын оқимыз (өнімділік есептегіштері), мұның барлығын сәйкес Біздің үлгінің Zabbix элементтері.

Zabbix үлгісі, питон сценарийлері, сақтау кластарының құрылымы және олардың қасиеттері, сондай-ақ конфигурация файлдарының мысалдары болуы мүмкін. мына жерден табыңыз.

Ақпарат көзі: www.habr.com

пікір қалдыру