Monitoraġġ tal-ħażna IBM Storwize ma' Zabbix

F'dan l-artikolu ser nitkellmu ftit dwar il-monitoraġġ tas-sistemi ta 'ħażna IBM Storwize u sistemi ta' ħażna oħra li jappoġġjaw il-protokolli CIM/WBEM. Il-ħtieġa għal tali monitoraġġ titħalla barra mill-ekwazzjoni; aħna se nikkunsidraw dan bħala axioma. Se nużaw Zabbix bħala sistema ta’ monitoraġġ.

Fl-aħħar verżjonijiet ta 'Zabbix, il-kumpanija bdiet tagħti ħafna aktar attenzjoni lill-mudelli - bdew jidhru mudelli għal servizzi ta' monitoraġġ, DBMS, ħardwer tas-Servers (IMM/iBMC) permezz tal-IPMI. Il-monitoraġġ tas-sistema tal-ħażna għadu barra l-mudelli barra mill-kaxxa, għalhekk biex tintegra l-informazzjoni dwar l-istatus u l-prestazzjoni tal-komponenti tal-ħażna f'Zabbix, għandek bżonn tuża mudelli tad-dwana. Inġib għall-attenzjoni tiegħek wieħed minn dawn il-mudelli.

L-ewwel, ftit teorija.

Biex taċċessa l-istatus u l-istatistika tas-sistemi tal-ħażna IBM Storwize, tista’ tuża:

  1. protokolli CIM/WBEM;
  2. RESTful API (appoġġjat f'IBM Storwize li jibda bil-verżjoni tas-softwer 8.1.3);
  3. Nases SNMP (sett limitat ta 'nases, l-ebda statistika);
  4. Qabbad permezz SSH u mbagħad mill-bogħod addattat għal scripting bash bil-mier.

Dawk interessati jistgħu jitgħallmu aktar dwar diversi metodi ta' monitoraġġ fit-taqsimiet rilevanti tad-dokumentazzjoni tal-bejjiegħ, kif ukoll fid-dokument IBM Spectrum Virtualize scripting.

Se nużaw il-protokolli CIM/WBEM, li jippermettulna niksbu parametri operattivi tas-sistema tal-ħażna mingħajr bidliet sinifikanti fis-softwer għal sistemi ta 'ħażna differenti. Il-protokolli CIM/WBEM joperaw skond Speċifikazzjoni tal-Inizjattiva tal-Ġestjoni tal-Ħażna (SMI-S). Inizjattiva għall-Ġestjoni tal-Ħażna - L-ispeċifikazzjoni hija bbażata fuq standards miftuħa CIM (Mudell ta' Informazzjoni Komuni) и WBEM (Ġestjoni tal-Intrapriża bbażata fuq il-Web), determinat Task Force ta' Ġestjoni Mqassma.

WBEM jaħdem fuq il-protokoll HTTP. Permezz ta’ WBEM tista’ taħdem mhux biss ma’ sistemi ta’ ħażna, iżda wkoll ma’ HBAs, swiċċijiet u libreriji tat-tejps.

Skond SMI Arkitettura и Iddetermina l-Infrastruttura, il-komponent ewlieni tal-implimentazzjoni SMI huwa s-server WBEM, li jipproċessa talbiet CIM-XML minn klijenti WBEM (fil-każ tagħna, minn skripts ta 'monitoraġġ):

Monitoraġġ tal-ħażna IBM Storwize ma' Zabbix

CIM huwa mudell orjentat lejn l-oġġett ibbażat fuq Unified Modeling Language (UML).
L-elementi ġestiti huma definiti bħala klassijiet CIM li għandhom proprjetajiet u metodi biex jirrappreżentaw data u funzjonalità ġestiti.

Skond www.snia.org/pywbem, biex taċċessa sistemi ta' ħażna permezz ta' CIM/WBEM, tista' tuża PyWBEM - librerija ta' sors miftuħ miktuba f'Python, li tipprovdi lill-iżviluppaturi u lill-amministraturi tas-sistema b'implimentazzjoni tal-protokoll CIM għall-aċċess ta' oġġetti CIM u jwettqu diversi operazzjonijiet b'server WBEM li jopera f' skond SMI-S jew speċifikazzjonijiet CIM oħra.

Biex tikkonnettja mas-server WBEM nużaw il-kostruttur tal-klassi WBEMKonnessjoni:

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

Din hija konnessjoni virtwali, peress li CIM-XML/WBEM jaħdem fuq HTTP, il-konnessjoni reali sseħħ meta l-metodi jissejħu fuq istanza tal-klassi WBEMConnection. Skont l-IBM System Storage SAN Volume Controller u l-Aħjar Prattiċi u l-Linji Gwida tal-Prestazzjoni Storwize V7000 (Eżempju C-8, paġna 412), se nużaw "root/ibm" bħala l-ispazju tal-isem CIM għas-sistema tal-ħażna IBM Storwize.

Jekk jogħġbok innota li biex tiġbor statistika permezz tal-protokoll CIM-XML/WBEM, trid tinkludi lill-utent fil-grupp tas-sigurtà xieraq. Inkella, meta tesegwixxi mistoqsijiet WBEM, l-output tal-attributi tal-istanza tal-klassi tkun vojta.

Biex taċċessa l-istatistika tal-ħażna, l-utent li taħtu jissejjaħ il-kostruttur WBEMConnection(), irid ikollu mill-inqas RestrictedAdmin (disponibbli għal code_level > 7.8.0) jew drittijiet ta' Amministratur (mhux rakkomandat għal raġunijiet ta' sigurtà).

Aħna nikkonnettjaw mas-sistema tal-ħażna permezz ta 'SSH u nħarsu lejn in-numri tal-grupp:

> 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    

Żid l-utent zabbix mal-grupp mixtieq:

> chuser -usergrp 5 zabbix

Barra minn hekk, skont il-Kontrollur tal-Volum SAN tal-Ħżin tas-Sistema IBM u l-Linji Gwida tal-Aħjar Prattiċi u tal-Prestazzjoni Storwize V7000 (p. 415), trid tippermetti l-ġbir tal-istatistika fuq is-sistema tal-ħażna. Allura, biex tiġbor l-istatistika kull minuta:

> startstats -interval 1 

Aħna niċċekkjaw:

> lssystem | grep statistics
statistics_status on
statistics_frequency 1

Biex tikseb il-klassijiet tal-ħażna eżistenti kollha, trid tuża l-metodu EnumerateClassNames().

Eżempju:

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

Il-metodu jintuża biex jinkisbu l-valuri tal-parametri tas-sistema tal-ħażna EnumerateInstances() klassi WBEMConnection, li tirritorna lista ta' istanzi CIMInstance().

Eżempju:

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

Għal xi klassijiet li fihom numru kbir ta' każijiet, bħal IBMTSSVC_StorageVolume, mistoqsija sħiħa tal-istanzi kollha tista' tkun pjuttost bil-mod. Jista 'jiġġenera volumi kbar ta' data li għandhom jiġu ppreparati mis-sistema ta 'ħażna, trażmessi fuq in-netwerk u pproċessati mill-iskrittura. Hemm metodu għal każ bħal dan ExecQuery(), li jippermettilna niksbu biss il-proprjetajiet ta 'istanza ta' klassi li jinteressana. Dan il-metodu jinvolvi l-użu ta' lingwa ta' mistoqsija li tixbah lil SQL, jew CIM Query Language (DMTF:CQL) jew WBEM Query Language (WQL), biex issir mistoqsija dwar oġġetti ta' ħażna CIM:

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

Biex tiddetermina liema klassijiet għandna bżonn niksbu l-parametri tal-oġġetti tal-ħażna, aqra d-dokumentazzjoni, pereżempju Kif il-kunċetti tas-sistema jimpenjaw mal-kunċetti tas-CIM.

Allura, biex tikseb parametri (mhux prestazzjoni counters) ta 'diski fiżiċi (Disk Drives) aħna se poll Klassi IBMTSSVC_DiskDrive, biex tikseb parametri Volumi - Klassi IBMTSSVC_StorageVolume, biex tikseb parametri array - Klassi IBMTSSVC_Array, biex tikseb parametri MDisks - Klassi IBMTSSVC_BackendV, eċċ.

Għall-prestazzjoni tista 'taqra Dijagrammi funzjonali tal-aġent tal-Mudell ta' Informazzjoni Komuni (speċifikament - Sottoprofil tal-prestazzjoni tas-server tal-blokk) u IBM System Storage SAN Volume Controller u Storwize V7000 Best Practices and Performance Guidelines (Eżempju C-11, paġna 415).

Biex tikseb statistika tal-ħażna għal Volumi, trid tispeċifika IBMTSSVC_StorageVolumeStatistics bħala l-valur tal-parametru ClassName. Il-proprjetajiet tal-klassi IBMTSSVC_StorageVolumeStatistics meħtieġa għall-ġbir tal-istatistika jistgħu jidhru fi Statistika tan-nodi.

Ukoll, għall-analiżi tal-prestazzjoni tista' tuża l-klassijiet IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics.

Biex nirreġistra d-dejta fis-sistema ta 'monitoraġġ se nużaw il-mekkaniżmu nases zabbix, implimentat f'python f'modulu py-zabbix. Se npoġġu l-istruttura tal-klassijiet tas-sistemi tal-ħażna u l-proprjetajiet tagħhom f'dizzjunarju f'format JSON.

Aħna ntellgħu l-mudell fuq is-server Zabbix, niżguraw li s-server ta 'monitoraġġ ikollu aċċess għas-sistema ta' ħażna permezz tal-protokoll WEB (TCP/5989), u npoġġu fajls ta 'konfigurazzjoni, skripts ta' sejbien u monitoraġġ fuq is-server ta 'monitoraġġ. Sussegwentement, żid it-tnedija tal-iskript mal-iskedar. Bħala riżultat: niskopru oġġetti ta 'ħażna (arrays, diski fiżiċi u virtwali, kompartimenti u ħafna aktar), ittrasferihom għal skoperti Zabbix, aqra l-istatus tal-parametri tagħhom, aqra l-istatistika tal-prestazzjoni (counters tal-prestazzjoni), ittrasferixxi dan kollu lill-Zabbix korrispondenti Oġġetti tal-mudell tagħna.

Mudell Zabbix, skripts python, struttura tal-klassijiet tal-ħażna u l-proprjetajiet tagħhom, kif ukoll eżempji ta 'fajls ta' konfigurazzjoni, tista ' issib hawn.

Sors: www.habr.com

Żid kumment