Zabbix менен IBM Storwize сактагычын көзөмөлдөө

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

Zabbixтин акыркы версияларында компания шаблондорго көбүрөөк көңүл бура баштады - IPMI аркылуу мониторинг кызматтары, DBMS, Servers жабдыктары (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 (Вебге негизделген Enterprise Management)аныкталган Бөлүштүрүлгөн башкаруунун жумушчу тобу.

WBEM HTTP протоколунун үстүндө иштейт. WBEM аркылуу сиз сактоо тутумдары менен гана эмес, HBAлар, өчүргүчтөр жана лента китепканалары менен да иштей аласыз.

ылайык SMI Архитектурасы и Инфраструктураны аныктоо, SMI ишке ашыруунун негизги компоненти WBEM кардарларынын CIM-XML суроо-талаптарын иштеп чыгуучу WBEM сервери болуп саналат (биздин учурда, мониторинг скрипттеринен):

Zabbix менен IBM Storwize сактагычын көзөмөлдөө

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 Best Practices and Performance Guidelines (Мисал 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 Best Practices and Performance Guidelines (б. 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 түшүнүктөрүнө кантип туура келет.

Ошентип, физикалык дисктердин (Disk Drives) параметрлерин (өндүрүмдүүлүк эсептегичтерин эмес) алуу үчүн, биз IBMTSSVC_DiskDrive классынан, Көлөмдөрдүн параметрлерин алуу үчүн - IBMTSSVC_StorageVolume классын, массивдин параметрлерин алуу үчүн - IBMTSSVC_Array классын, MDisks параметрлерин алуу үчүн - Class_BackVClum, etc.

Сиз аткаруу жөнүндө окуй аласыз Common Information Model агентинин функционалдык диаграммалары (тактап айтканда - Сервердин иштешинин субпрофилин бөгөттөө) жана IBM System Storage SAN Volume Controller жана Storwize V7000 Best Practices and Performance Guidelines (Мисалы C-11, 415-бет).

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

Ошондой эле, өндүрүмдүүлүктү талдоо үчүн IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics класстарын колдоно аласыз.

Мониторинг системасына маалыматтарды жазуу үчүн биз механизмди колдонобуз zabbix тузактары, модулда питондо ишке ашырылган py-zabbix. Сактоо класстарынын түзүмү жана алардын касиеттери JSON форматындагы сөздүккө жайгаштырылат.

Биз шаблонду Zabbix серверине жүктөйбүз, мониторинг серверинин WEB протоколу (TCP / 5989) аркылуу сактагычка кирүү мүмкүнчүлүгү бар экендигин текшеребиз, конфигурация файлдарын, аныктоо жана мониторинг скрипттерин мониторинг серверине жайгаштырабыз. Андан кийин, пландоочуга скрипттерди кошуңуз. Натыйжада: биз сактоо объекттерин (массивдерди, физикалык жана виртуалдык дисктерди, корпустарды жана башка көптөгөн нерселерди) ачабыз, аларды Zabbix ачылыштарына өткөрүп беребиз, алардын параметрлеринин абалын окуйбуз, аткаруу статистикасын окуйбуз (аткаруу эсептегичтери), мунун баарын тиешелүүгө өткөрүп беребиз. Биздин шаблондун Zabbix буюмдары.

Zabbix шаблону, питон скрипттери, сактоо класстарынын структурасы жана алардын касиеттери, ошондой эле конфигурация файлдарынын мисалдары болушу мүмкүн. бул жерде.

Source: www.habr.com

Комментарий кошуу