Monitro storfa IBM Storwize gyda Zabbix

Yn yr erthygl hon byddwn yn siarad ychydig am fonitro systemau storio IBM Storwize a systemau storio eraill sy'n cefnogi protocolau CIM / WBEM. Mae’r angen am fonitro o’r fath yn cael ei adael allan o’r hafaliad; byddwn yn ystyried hwn yn axiom. Byddwn yn defnyddio Zabbix fel system fonitro.

Yn y fersiynau diweddaraf o Zabbix, dechreuodd y cwmni dalu llawer mwy o sylw i dempledi - dechreuodd templedi ymddangos ar gyfer gwasanaethau monitro, DBMS, caledwedd Gweinyddwyr (IMM / iBMC) trwy IPMI. Mae monitro system storio yn dal i fod y tu allan i'r templedi allan o'r blwch, felly er mwyn integreiddio gwybodaeth am statws a pherfformiad cydrannau storio yn Zabbix, mae angen i chi ddefnyddio templedi arferol. Dygaf eich sylw at un o'r templedi hyn.

Yn gyntaf, ychydig o theori.

I gael mynediad at statws ac ystadegau systemau storio IBM Storwize, gallwch ddefnyddio:

  1. protocolau CIM/WBEM;
  2. API RESTING (a gefnogir yn IBM Storwize gan ddechrau gyda fersiwn meddalwedd 8.1.3);
  3. Trapiau SNMP (set gyfyngedig o drapiau, dim ystadegau);
  4. Cysylltwch trwy SSH ac yna o bell addas ar gyfer sgriptio bash hamddenol.

Gall y rhai sydd â diddordeb ddysgu mwy am wahanol ddulliau monitro yn yr adrannau perthnasol o ddogfennaeth y gwerthwr, yn ogystal ag yn y ddogfen IBM Spectrum Virtualize sgriptio.

Byddwn yn defnyddio'r protocolau CIM/WBEM, sy'n ein galluogi i gael paramedrau gweithredu system storio heb newidiadau meddalwedd sylweddol ar gyfer systemau storio gwahanol. Mae protocolau CIM/WBEM yn gweithredu yn unol â Manyleb Menter Rheoli Storfa (SMI-S). Menter Rheoli Storio - Mae'r fanyleb yn seiliedig ar safonau agored CIM (Model Gwybodaeth Gyffredin) и WBEM (Rheoli Menter ar y We), penderfynol Tasglu Rheoli Dosbarthu.

Mae WBEM yn rhedeg ar ben y protocol HTTP. Trwy WBEM gallwch weithio nid yn unig gyda systemau storio, ond hefyd gyda HBAs, switshis a llyfrgelloedd tâp.

Yn ôl Pensaernïaeth salwch meddwl difrifol и Penderfynu Isadeiledd, prif gydran gweithrediad salwch meddwl difrifol yw'r gweinydd WBEM, sy'n prosesu ceisiadau CIM-XML gan gleientiaid WBEM (yn ein hachos ni, o sgriptiau monitro):

Monitro storfa IBM Storwize gyda Zabbix

Mae CIM yn fodel gwrthrych-ganolog yn seiliedig ar Iaith Modelu Unedig (UML).
Diffinnir elfennau a reolir fel dosbarthiadau CIM sydd â phriodweddau a dulliau i gynrychioli data a swyddogaethau a reolir.

Yn ôl www.snia.org/pywbem, i gael mynediad at systemau storio trwy CIM/WBEM, gallwch ddefnyddio PyWBEM - llyfrgell ffynhonnell agored a ysgrifennwyd yn Python, sy'n rhoi protocol CIM ar waith i ddatblygwyr a gweinyddwyr system ar gyfer cyrchu gwrthrychau CIM a pherfformio gweithrediadau amrywiol gyda gweinydd WBEM yn gweithredu yn yn unol â SMI-S neu fanylebau CIM eraill.

I gysylltu â'r gweinydd WBEM rydym yn defnyddio'r lluniwr dosbarth Cysylltiad WBEM:

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

Cysylltiad rhithwir yw hwn, gan fod CIM-XML/WBEM yn rhedeg ar ben HTTP, mae'r cysylltiad go iawn yn digwydd pan fydd dulliau'n cael eu galw ar enghraifft o'r dosbarth WBEMConnection. Yn unol â Rheolydd Cyfrol SAN Storage System IBM a Chanllawiau Arferion Gorau a Pherfformiad Storwize V7000 (Enghraifft C-8, tudalen 412), byddwn yn defnyddio “root/ibm” fel gofod enw CIM ar gyfer system storio IBM Storwize.

Sylwch, er mwyn casglu ystadegau trwy'r protocol CIM-XML/WBEM, rhaid i chi gynnwys y defnyddiwr yn y grŵp diogelwch priodol. Fel arall, wrth weithredu ymholiadau WBEM, bydd allbwn priodoleddau enghraifft dosbarth yn wag.

I gael mynediad at ystadegau storio, y defnyddiwr y gelwir yr adeiladwr oddi tano Cysylltiad WBEM(), rhaid cael o leiaf RestrictedAdmin (ar gael ar gyfer code_level> 7.8.0) neu hawliau Gweinyddwr (nid argymhellir am resymau diogelwch).

Rydym yn cysylltu â'r system storio trwy SSH ac yn edrych ar y niferoedd grŵp:

> 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    

Ychwanegwch y defnyddiwr zabbix i'r grŵp a ddymunir:

> chuser -usergrp 5 zabbix

Yn ogystal, yn unol â Rheolydd Cyfrol IBM System Storio SAN a Chanllawiau Arferion Gorau a Pherfformiad Storwize V7000 (t. 415), rhaid i chi alluogi casglu ystadegau ar y system storio. Felly, i gasglu ystadegau bob munud:

> startstats -interval 1 

Rydym yn gwirio:

> lssystem | grep statistics
statistics_status on
statistics_frequency 1

I gael yr holl ddosbarthiadau storio presennol, rhaid i chi ddefnyddio'r dull EnumerateClassNames().

Enghraifft:

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

Defnyddir y dull i gael gwerthoedd paramedrau'r system storio EnumrateInstances() class WBEMconnection, gan ddychwelyd rhestr o achosion AMCAN ().

Enghraifft:

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

Ar gyfer rhai dosbarthiadau sy'n cynnwys nifer fawr o achosion, megis IBMTSSVC_StorageVolume, gall ymholiad llawn o bob achos fod yn eithaf araf. Gall gynhyrchu llawer iawn o ddata y mae'n rhaid ei baratoi gan y system storio, ei drosglwyddo dros y rhwydwaith a'i brosesu gan y sgript. Mae dull ar gyfer achos o'r fath ExecQuery(), sy'n caniatáu i ni gael dim ond priodweddau enghraifft dosbarth sydd o ddiddordeb i ni. Mae'r dull hwn yn cynnwys defnyddio iaith ymholiad tebyg i SQL, naill ai CIM Query Language (DMTF:CQL) neu WBEM Query Language (WQL), i ymholi am wrthrychau storio CIM:

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

I benderfynu pa ddosbarthiadau y mae angen i ni gael paramedrau gwrthrychau storio, darllenwch y ddogfennaeth, er enghraifft Sut mae cysyniadau system yn cyd-fynd â chysyniadau CIM.

Felly, i gael paramedrau (nid cownteri perfformiad) disgiau corfforol (Gyriannau Disg) byddwn yn pleidleisio Dosbarth IBMTSSVC_DiskDrive, i gael paramedrau Cyfrolau - Dosbarth IBMTSSVC_StorageVolume, i gael paramedrau arae - Dosbarth IBMTSSVC_Array, i gael paramedrau MDisks - Class IBMTSSVC_BackendVolume, ac ati.

Ar gyfer perfformiad gallwch ddarllen Diagramau swyddogaethol o'r asiant Model Gwybodaeth Gyffredin (yn benodol - Blociwch is-broffil perfformiad gweinydd) a IBM System Storio SAN Rheolwr Cyfrol a Storwize V7000 Arferion Gorau a Chanllawiau Perfformiad (Enghraifft C-11, tudalen 415).

I gael ystadegau storio ar gyfer Cyfrolau, rhaid i chi nodi IBMTSSVC_StorageVolumeStatistics fel gwerth y paramedr ClassName. Gellir gweld priodweddau'r dosbarth IBMTSSVC_StorageVolumeStatistics sy'n angenrheidiol ar gyfer casglu ystadegau yn Ystadegau Nôd.

Hefyd, ar gyfer dadansoddi perfformiad gallwch ddefnyddio'r dosbarthiadau IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics.

I gofnodi data yn y system fonitro byddwn yn defnyddio'r mecanwaith trapiau zabbix, a weithredir yn python mewn modiwl py-zabbix. Byddwn yn gosod strwythur dosbarthiadau systemau storio a'u priodweddau mewn geiriadur ar ffurf JSON.

Rydym yn uwchlwytho'r templed i'r gweinydd Zabbix, yn sicrhau bod gan y gweinydd monitro fynediad i'r system storio trwy'r protocol WEB (TCP/5989), ac yn gosod ffeiliau ffurfweddu, sgriptiau canfod a monitro ar y gweinydd monitro. Nesaf, ychwanegwch lansiad sgript i'r trefnydd. O ganlyniad: rydym yn darganfod gwrthrychau storio (araeau, disgiau corfforol a rhithwir, caeau a llawer mwy), yn eu trosglwyddo i ddarganfyddiadau Zabbix, yn darllen statws eu paramedrau, yn darllen ystadegau perfformiad (cownteri perfformiad), yn trosglwyddo hyn i gyd i'r Zabbix cyfatebol Eitemau o'n templed.

Templed Zabbix, sgriptiau python, strwythur dosbarthiadau storio a'u priodweddau, yn ogystal ag enghreifftiau o ffeiliau ffurfweddu, gallwch darganfyddwch yma.

Ffynhonnell: hab.com

Ychwanegu sylw