Çavdêriya hilanînê IBM Storwize bi Zabbix

Di vê gotarê de em ê hinekî li ser çavdêriya pergalên hilanînê IBM Storwize û pergalên hilanînê yên din ên ku protokolên CIM / WBEM piştgirî dikin biaxivin. Pêdiviya çavdêriya bi vî rengî li derveyî hevkêşeyê tê hiştin; em ê vê yekê wekî axiomek bihesibînin. Em ê Zabbix wekî pergala çavdêriyê bikar bînin.

Di guhertoyên herî paşîn ên Zabbix de, pargîdanî dest pê kir ku pir zêde bala xwe bide şablonan - şablonan ji bo karûbarên çavdêriyê, DBMS, hardware server (IMM/iBMC) bi navgîniya IPMI ve dest pê kir. Çavdêriya pergala hilanînê hîn jî li derveyî şablonan li derveyî qutiyê ye, ji ber vê yekê ji bo ku hûn agahdariya li ser rewş û performansa hêmanên hilanînê di Zabbix de yek bikin, hûn hewce ne ku şablonên xwerû bikar bînin. Ez yek ji van şablonan bînim ber çavên we.

Pêşîn, teoriyek piçûk.

Ji bo gihîştina rewş û statîstîkên pergalên hilanînê yên IBM Storwize, hûn dikarin bikar bînin:

  1. Protokolên CIM/WBEM;
  2. API'yê ya RESTful (di IBM Storwize de bi guhertoya nermalavê 8.1.3 dest pê dike tê piştgirî kirin);
  3. Xefikên SNMP (koma kemînên sînorkirî, bê statîstîk);
  4. Bi SSH ve girêdin û dûv re ji dûr ve minasib ji bo nivîsandina bash a bêhnfireh.

Kesên eleqedar dikarin li ser awayên cûrbecûr çavdêriyê di beşên têkildar ên belgeyên firoşkar de, û her weha di belgeyê de bêtir fêr bibin. Nivîsandina IBM Spectrum Virtualize.

Em ê protokolên CIM/WBEM bikar bînin, ku destûrê didin me ku em parametreyên xebitandina pergala hilanînê bêyî guhertinên nermalava girîng ên ji bo pergalên hilanînê yên cihêreng bistînin. Protokolên CIM / WBEM li gorî kar dikin Specification Initiative Management Management (SMI-S). Înîsiyatîfa Rêvebiriya Storage - Specification li ser standardên vekirî ye CIM (Modela Agahdariya Hevbeş) и WBEM (Rêveberiya Karsaziya Bingeha Malperê), bi biryar Hêza Peywirê ya Birêvebiriya Dabeşkirî.

WBEM li ser protokola HTTP-ê dimeşîne. Bi navgîniya WBEM hûn dikarin ne tenê bi pergalên hilanînê, lê di heman demê de bi HBA, guheztin û pirtûkxaneyên tape re jî bixebitin.

Li gorî SMI Architecture и Binesaziyê diyar bike, pêkhateya sereke ya pêkanîna SMI servera WBEM e, ku daxwazên CIM-XML ji xerîdarên WBEM (di rewşa me de, ji nivîsarên çavdêriyê) pêvajoyê dike:

Çavdêriya hilanînê IBM Storwize bi Zabbix

CIM modelek objekt-oriented e ku li ser bingeha Zimanê Modelkirina Yekgirtî (UML) ye.
Hêmanên birêvebirî wekî çînên CIM-ê têne destnîşankirin ku xwedan taybetmendî û rêbazên ku dane û fonksiyonên birêvebirî temsîl dikin.

Li gorî www.snia.org/pywbem, ji bo ku hûn bi riya CIM/WBEM bigihîjin pergalên hilanînê, hûn dikarin PyWBEM bikar bînin - pirtûkxaneyek çavkaniyek vekirî ya ku bi Python hatî nivîsandin, ku ji pêşdebiran û rêveberên pergalê re pêkanîna protokola CIM-ê ji bo gihîştina tiştên CIM-ê û pêkanîna karûbarên cihêreng bi serverek WBEM re ku di nav de dixebite peyda dike. li gorî SMI-S an taybetmendiyên din ên CIM-ê.

Ji bo girêdana bi servera WBEM re em çêkera polê bikar tînin WBEMConnection:

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

Ev pêwendiyek virtual e, ji ber ku CIM-XML/WBEM li ser HTTP-ê dimeşîne, dema ku rêbaz li ser mînakek çîna WBEMConnection têne gazî kirin pêwendiya rastîn pêk tê. Li gorî IBM System Storage SAN Volume Controller û Storwize V7000 Pratîkên çêtirîn û Rêbernameyên Performansê (Mînak C-8, rûpel 412), em ê "root/ibm" wekî cîhê navên CIM-ê ji bo pergala hilanînê ya IBM Storwize bikar bînin.

Ji kerema xwe bala xwe bidin ku ji bo berhevkirina statîstîkan bi riya protokola CIM-XML/WBEM, divê hûn bikarhêner di nav koma ewlehiyê ya guncan de bicîh bikin. Wekî din, dema ku lêpirsinên WBEM-ê têne bicîh kirin, dê derketina taybetmendiyên nimûneya polê vala be..

Ji bo gihîştina statîstîkên hilanînê, bikarhênerê ku çêker jê re tê gotin WBEMConnection(), divê herî kêm RestrictedAdmin hebe (ji bo kod_level > 7.8.0 heye) an mafên Rêveber (ji ber sedemên ewlehiyê nayê pêşniyar kirin).

Em bi pergala hilanînê bi SSH ve girêdidin û li hejmarên komê dinêrin:

> 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    

Bikarhênerê zabbix li koma xwestî zêde bikin:

> chuser -usergrp 5 zabbix

Wekî din, li gorî IBM System Storage SAN Volume Controller û Storwize V7000 Practices Best and Performance Guidelines (r. 415), divê hûn berhevkirina statîstîkan li ser pergala hilanînê çalak bikin. Ji ber vê yekê, ji bo berhevkirina statîstîkan her deqîqe:

> startstats -interval 1 

Em kontrol dikin:

> lssystem | grep statistics
statistics_status on
statistics_frequency 1

Ji bo ku hûn hemî dersên hilanînê yên heyî bistînin, divê hûn rêbaza EnumerateClassNames() bikar bînin.

Nimûne:

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

Rêbaz ji bo bidestxistina nirxên pîvanên pergala hilanînê tê bikar anîn EnumerateInstances() pola WBEMConnection, navnîşek mînakan vedigerîne CIMInstance().

Nimûne:

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

Ji bo hin çînên ku hejmareke mezin ji mînakan vedihewînin, wek IBMTSSVC_StorageVolume, pirsek tevahî ya hemî mînakan dikare pir hêdî be. Ew dikare cildên mezin ên daneyê ku divê ji hêla pergala hilanînê ve were amadekirin, li ser torê were veguheztin û ji hêla skrîptê ve were hilberandin. Ji bo rewşeke wiha rêbazek heye ExecQuery(), ku destûrê dide me ku em tenê taybetmendiyên mînakek pola ku me eleqedar dike bistînin. Ev rêbaz bi karanîna zimanek pirsê ya mîna SQL-ê, an Zimanek Pirsînê ya CIM (DMTF:CQL) an Zimanê Pirsînê ya WBEM (WQL), bikar tîne da ku li tiştên hilanînê CIM bipirse:

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

Ji bo ku em diyar bikin ka kîjan çîn hewce ne ku em pîvanên tiştên hilanînê bistînin, mînakî, belgeyê bixwînin Çawa têgehên pergalê bi têgehên CIM re nexşe dikin.

Ji ber vê yekê, ji bo bidestxistina parametreyên (ne jimarkerên performansê) yên dîskên laşî (Dîskê Dêskê) em ê çîna IBMTSSVC_DiskDrive, ji bo bidestxistina parametreyên Volumes - Class IBMTSSVC_StorageVolume, ji bo bidestxistina parametreyên rêzê - Class IBMTSSVC_Array, ji bo bidestxistina -MDisksVC_MTV, etc.

Ji bo performansê hûn dikarin bixwînin Diagramên fonksiyonel ên nûnerê Modela Agahdariya Hevbeş (bi taybetî - Binprofila performansa serverê asteng bikin) û IBM System Storage SAN Volume Controller and Storwize V7000 Best Practices and Performance Guidelines (Mînak C-11, rûpel 415).

Ji bo bidestxistina statîstîkên hilanînê ji bo Volume, divê hûn IBMTSSVC_StorageVolumeStatistics wekî nirxa pîvana ClassName diyar bikin. Taybetmendiyên çîna IBMTSSVC_StorageVolumeStatistics ku ji bo berhevkirina statîstîkan hewce ne dikarin di nav de werin dîtin Node Statistics.

Di heman demê de, ji bo analîzkirina performansê hûn dikarin dersên IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics bikar bînin.

Ji bo tomarkirina daneyan di pergala şopandinê de em ê mekanîzmayê bikar bînin xefikên zabbix, di python de di modulek de hate bicîh kirin py-zabbix. Em ê avahiya çînên pergalên hilanînê û taybetmendiyên wan di ferhengek bi formata JSON de bi cih bikin.

Em şablonê li servera Zabbix bar dikin, pê ewle bin ku servera çavdêriyê bi riya protokola WEB (TCP/5989) xwe bigihîne pergala hilanînê (TCP/XNUMX), û pelên vesazkirinê, skrîptên tespîtkirin û şopandinê li ser servera çavdêriyê bi cîh dikin. Dûv re, destpêkirina skrîptê li nexşerê zêde bikin. Wekî encam: em tiştên hilanînê (array, dîskên fizîkî û virtual, dorhêl û hêj bêtir) kifş dikin, wan vediguhezînin vedîtinên Zabbix, rewşa parametreyên wan dixwînin, statîstîkên performansê dixwînin (hejmarên performansê), van hemî vediguhezînin Zabbix-a têkildar. Tiştên şablonê me.

Şablonên Zabbix, nivîsarên python, avahiya çînên hilanînê û taybetmendiyên wan, û her weha mînakên pelên veavakirinê, hûn dikarin li vir bibînin.

Source: www.habr.com

Add a comment