Kufuatilia hifadhi ya IBM Storwize kwa Zabbix

Katika makala haya, tutazungumza machache kuhusu ufuatiliaji wa mifumo ya hifadhi ya IBM Storwize na mifumo mingine ya hifadhi inayounga mkono itifaki za CIM/WBEM. Haja ya ufuatiliaji kama huo imeachwa nje ya mabano; tutazingatia hii kama axiom. Tutatumia Zabbix kama mfumo wa ufuatiliaji.

Katika matoleo ya hivi karibuni ya Zabbix, kampuni ilianza kulipa kipaumbele zaidi kwa templeti - templeti zilianza kuonekana kwa huduma za ufuatiliaji, DBMS, vifaa vya Seva (IMM / iBMC) kupitia IPMI. Ufuatiliaji wa uhifadhi bado hauko kwenye kisanduku, kwa hivyo ili kuunganisha maelezo kuhusu hali na utendaji wa vipengele vya hifadhi kwenye Zabbix, unahitaji kutumia violezo maalum. Ninakuletea moja ya violezo hivi.

Kwanza, nadharia kidogo.

Ili kufikia hali na takwimu za hifadhi ya IBM Storwize, unaweza kutumia:

  1. itifaki za CIM/WBEM;
  2. API nzuri (inaungwa mkono na IBM Storwize kuanzia na toleo la programu 8.1.3);
  3. Mitego ya SNMP (seti ndogo ya mitego, hakuna takwimu);
  4. Muunganisho wa SSH ukifuatwa na kidhibiti cha mbali yanafaa kwa uandishi wa bash kwa burudani.

Wale wanaopenda wanaweza kujifunza zaidi kuhusu mbinu mbalimbali za ufuatiliaji katika sehemu husika za nyaraka za muuzaji, na pia katika hati. IBM Spectrum Virtualize scripting.

Tutatumia itifaki za CIM / WBEM, ambazo zinatuwezesha kupata vigezo vya mfumo wa hifadhi bila mabadiliko makubwa katika programu kwa mifumo mbalimbali ya hifadhi. Itifaki za CIM/WBEM hufanya kazi kulingana na Uainishaji wa Mpango wa Usimamizi wa Hifadhi (SMI-S). Mpango wa Usimamizi wa Hifadhi - Uainishaji unategemea viwango vilivyo wazi CIM (Muundo wa Taarifa za Kawaida) ΠΈ WBEM (Usimamizi wa Biashara Kulingana na Wavuti)imefafanuliwa Kikosi Kazi cha Usimamizi kilichosambazwa.

WBEM inafanya kazi juu ya itifaki ya HTTP. Kupitia WBEM, unaweza kufanya kazi sio tu na mifumo ya kuhifadhi, lakini pia na HBA, swichi, na maktaba za tepi.

Kulingana na Usanifu wa SMI ΠΈ Amua Miundombinu, sehemu kuu ya utekelezaji wa SMI ni seva ya WBEM ambayo huchakata maombi ya CIM-XML kutoka kwa wateja wa WBEM (kwa upande wetu, kutoka kwa hati za ufuatiliaji):

Kufuatilia hifadhi ya IBM Storwize kwa Zabbix

CIM ni kielelezo chenye mwelekeo wa kitu kulingana na Lugha ya Kielelezo Iliyounganishwa (UML).
Vipengee vinavyodhibitiwa hufafanuliwa kuwa madarasa ya CIM ambayo yana sifa na mbinu za kuwakilisha data na utendaji kazi unaosimamiwa.

Kulingana na www.snia.org/pywbem, ili kupata hifadhi kupitia CIM / WBEM, unaweza kutumia PyWBEM, maktaba ya chanzo wazi iliyoandikwa katika Python ambayo hutoa watengenezaji na wasimamizi wa mfumo na utekelezaji wa itifaki ya CIM kufikia vitu vya CIM na kufanya shughuli mbalimbali na seva ya WBEM inayofanya kazi kulingana na SMI. -S au vipimo vingine vya CIM.

Ili kuunganisha kwenye seva ya WBEM, tumia kijenzi cha darasa Uunganisho wa WBEM:

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

Huu ni muunganisho wa mtandaoni, kwa sababu CIM-XML/WBEM inaendesha HTTP, muunganisho halisi hutokea wakati mbinu zinaitwa kwa mfano wa darasa la WBEMConnection. Kwa mujibu wa Kidhibiti cha Kiasi cha Kiasi cha Uhifadhi wa Mfumo wa IBM na Mwongozo wa Mbinu na Utendaji Bora wa Storwize V7000 (Mfano C-8, uk. 412), tutatumia "root/ibm" kama nafasi ya majina ya CIM kwa hifadhi ya IBM Storwize.

Tafadhali kumbuka kuwa ili kukusanya takwimu kwenye itifaki ya CIM-XML/WBEM, ni lazima ujumuishe mtumiaji katika kikundi kinachofaa cha usalama. Vinginevyo, wakati wa kutekeleza maswali ya WBEM, matokeo ya sifa za mfano za darasa zitakuwa tupu.

Ili kufikia takwimu za hifadhi, mtumiaji ambaye mjenzi anaitwa WBEMConnection(), lazima iwe na angalau RestrictedAdmin (inapatikana kwa code_level > 7.8.0) au Msimamizi (haipendekezwi kwa sababu za usalama).

Tunaunganisha kwenye mfumo wa hifadhi kupitia SSH na kuangalia nambari za kikundi:

> 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    

Ongeza mtumiaji wa zabbix kwenye kikundi unachotaka:

> chuser -usergrp 5 zabbix

Kwa kuongezea, kwa mujibu wa Kidhibiti cha Kiasi cha Kiasi cha Uhifadhi wa Mfumo wa IBM na Mwongozo wa Mbinu na Utendaji Bora wa Storwize V7000 (uk. 415), lazima uwashe ukusanyaji wa takwimu kwenye mfumo wa hifadhi. Kwa hivyo, kukusanya takwimu kila dakika:

> startstats -interval 1 

Tunaangalia:

> lssystem | grep statistics
statistics_status on
statistics_frequency 1

Ili kupata madarasa yote yaliyopo ya hifadhi, lazima utumie mbinu ya EnumerateClassNames().

Mfano:

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

Ili kupata maadili ya vigezo vya mfumo wa uhifadhi, njia EnumerateInstances() Darasa la WBEMConnection linarudisha orodha ya matukio CIMINstance().

Mfano:

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

Kwa baadhi ya madarasa ambayo yana idadi kubwa ya matukio, kama vile IBMTSSVC_StorageVolume, hoja kamili ya matukio yote inaweza kuwa polepole sana. Inaweza kutoa kiasi kikubwa cha data ambayo lazima itayarishwe na mfumo wa hifadhi, kupitishwa kwenye mtandao na kuchakatwa na hati. Kwa kesi hiyo, kuna njia UtekelezajiQuery(), ambayo hukuruhusu kupata tu sifa za mfano wa darasa ambazo zinatuvutia. Mbinu hii inajumuisha kutumia lugha ya kuuliza inayofanana na SQL, ama Lugha ya Maswali ya CIM (DMTF:CQL) au Lugha ya Maswali ya WBEM (WQL), kuuliza vipengee vya hifadhi ya CIM:

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

Kuamua ni madarasa gani tunayohitaji kupata vigezo vya vitu vya kuhifadhi, tunasoma nyaraka, kwa mfano Jinsi dhana za mfumo zinavyoelekeza kwa dhana za CIM.

Kwa hivyo, ili kupata vigezo (sio vihesabu vya utendaji) vya diski za kimwili (Hifadhi za Disk), tutauliza Hatari IBMTSSVC_DiskDrive, ili kupata vigezo vya Kiasi - Hatari IBMTSSVC_StorageVolume, ili kupata vigezo vya safu - Class IBMTSSVC_Array, ili kupata vigezo vya MDisks - Classcken IBMTSSVo nk.

Unaweza kusoma juu ya utendaji Michoro inayofanya kazi ya Wakala wa Mfano wa Taarifa ya Kawaida (haswa - Zuia wasifu mdogo wa utendaji wa seva) na IBM System Storage SAN Volume Controller and Storwize V7000 Best Practices and Performance Guidelines (Mfano C-11, ukurasa 415).

Ili kupata takwimu za hifadhi ya Juzuu, unahitaji kubainisha IBMTSSVC_StorageVolumeStatistics kama thamani ya kigezo cha ClassName. Sifa za darasa la IBMTSSVC_StorageVolumeStatistics zinazohitajika kwa kukusanya takwimu zinaweza kupatikana katika Takwimu za Nodi.

Pia, kwa uchambuzi wa utendaji, unaweza kutumia madarasa IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics.

Kuandika data kwa mfumo wa ufuatiliaji, tutatumia utaratibu mitego ya zabbix, kutekelezwa katika python katika moduli py-zabbix. Muundo wa madarasa ya hifadhi na sifa zao zitawekwa katika kamusi katika umbizo la JSON.

Tunapakia kiolezo kwenye seva ya Zabbix, hakikisha kuwa seva ya ufuatiliaji ina ufikiaji wa uhifadhi kupitia itifaki ya WEB (TCP / 5989), weka faili za usanidi, hati za kugundua na ufuatiliaji kwenye seva ya ufuatiliaji. Ifuatayo, ongeza hati kwa kipanga ratiba. Kama matokeo: tunagundua vitu vya uhifadhi (safu, diski za mwili na za kawaida, vifuniko, na mengi zaidi), tupitishe kwa uvumbuzi wa Zabbix, soma hali ya vigezo vyao, soma takwimu za utendaji (kaunta za utendaji), uhamishe haya yote kwa inayolingana. Vipengee vya Zabbix vya kiolezo chetu.

Kiolezo cha Zabbix, hati za python, muundo wa madarasa ya uhifadhi na mali zao, pamoja na mifano ya faili za usanidi, zinaweza kuwa. pata hapa.

Chanzo: mapenzi.com

Kuongeza maoni