Kuyang'anira kusungidwa kwa IBM Storwize ndi Zabbix

M'nkhaniyi tikambirana pang'ono za kuyang'anira makina osungira a IBM Storwize ndi makina ena osungira omwe amathandiza ma protocol a CIM/WBEM. Kufunika kowunika kotereku sikuli kofanana; tilingalira izi ngati axiom. Tidzagwiritsa ntchito Zabbix ngati njira yowunikira.

M'matembenuzidwe aposachedwa a Zabbix, kampaniyo idayamba kuyang'ana kwambiri ma templates - ma templates adayamba kuwonekera pazoyang'anira ntchito, DBMS, Servers hardware (IMM/iBMC) kudzera pa IPMI. Kuyang'anira dongosolo losungirako likadali kunja kwa ma templates kunja kwa bokosi, kotero kuti muphatikize zambiri zokhudza momwe zinthu zilili ndi momwe zimagwirira ntchito zosungirako ku Zabbix, muyenera kugwiritsa ntchito ma templates okhazikika. Ndikubweretsa kwa inu imodzi mwama templates awa.

Choyamba, chiphunzitso chaching'ono.

Kuti mupeze mawonekedwe ndi ziwerengero za makina osungira a IBM Storwize, mutha kugwiritsa ntchito:

  1. Ndondomeko za CIM/WBEM;
  2. RESTful API (yothandizidwa mu IBM Storwize kuyambira ndi pulogalamu ya 8.1.3);
  3. Misampha ya SNMP (misampha yochepa, palibe ziwerengero);
  4. Lumikizani kudzera pa SSH kenako patali oyenera kulembera momasuka bash.

Omwe ali ndi chidwi atha kuphunzira zambiri za njira zosiyanasiyana zowunikira m'magawo ofunikira a zolemba za ogulitsa, komanso mu chikalatacho. IBM Spectrum Virtualize scripting.

Tidzagwiritsa ntchito ma protocol a CIM/WBEM, omwe amatilola kupeza magawo ogwiritsira ntchito makina osungira popanda kusintha kwakukulu kwa mapulogalamu amitundu yosiyanasiyana yosungira. Ma protocol a CIM/WBEM amagwira ntchito motsatira Kufotokozera kwa Storage Management Initiative (SMI-S). Storage Management Initiative - Mafotokozedwe amachokera pamiyezo yotseguka CIM (Common Information Model) ΠΈ WBEM (Web-based Enterprise Management), wotsimikiza Distributed Management Task Force.

WBEM imayenda pamwamba pa protocol ya HTTP. Kudzera pa WBEM mutha kugwira ntchito osati ndi makina osungira okha, komanso ma HBA, masiwichi ndi malaibulale a matepi.

Malingana ndi SMI Architecture ΠΈ Dziwani Zomangamanga, gawo lalikulu pakukhazikitsa kwa SMI ndi seva ya WBEM, yomwe imayang'anira zopempha za CIM-XML kuchokera kwa makasitomala a WBEM (kwa ife, kuchokera pakuwunika):

Kuyang'anira kusungidwa kwa IBM Storwize ndi Zabbix

CIM ndi chitsanzo choyang'ana pa chinthu chotengera Chilankhulo Chogwirizana cha Umodzi (UML).
Zinthu zoyendetsedwa zimatanthauzidwa ngati makalasi a CIM omwe ali ndi katundu ndi njira zoyimira deta yoyendetsedwa ndi magwiridwe antchito.

Malingana ndi www.snia.org/pywbem, kuti mupeze makina osungiramo zinthu kudzera pa CIM/WBEM, mungagwiritse ntchito PyWBEM - laibulale yotseguka yolembedwa ku Python, yomwe imapatsa opanga mapulogalamu ndi oyang'anira dongosolo kukhazikitsa ndondomeko ya CIM yopezera zinthu za CIM ndikuchita ntchito zosiyanasiyana ndi seva ya WBEM yomwe ikugwira ntchito. molingana ndi SMI-S kapena zina za CIM.

Kuti tigwirizane ndi seva ya WBEM timagwiritsa ntchito omanga kalasi WBEMConnection:

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

Uwu ndi kugwirizana kwenikweni, popeza CIM-XML/WBEM ikuyenda pamwamba pa HTTP, kugwirizana kwenikweni kumachitika pamene njira zimatchedwa chitsanzo cha gulu la WBEMConnection. Mogwirizana ndi IBM System Storage SAN Volume Controller ndi Storwize V7000 Best Practices and Performance Guidelines (Chitsanzo C-8, tsamba 412), tidzagwiritsa ntchito "root/ibm" ngati CIM namespace ya IBM Storwize yosungirako.

Chonde dziwani kuti kuti mutenge ziwerengero kudzera mu protocol ya CIM-XML/WBEM, muyenera kuphatikiza wogwiritsa ntchito pagulu loyenera lachitetezo. Kupanda kutero, poyankha mafunso a WBEM, zotulutsa zamtundu wamagulu sizikhala zopanda kanthu.

Kuti mupeze ziwerengero zosungirako, wogwiritsa ntchito yemwe womangayo amatchedwa WBEMConnection (), ayenera kukhala ndi RestrictedAdmin (yopezeka pa code_level> 7.8.0) kapena maufulu a Administrator (osavomerezeka pazifukwa zachitetezo).

Timalumikiza ku yosungirako kudzera pa SSH ndikuyang'ana manambala amagulu:

> 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    

Onjezani wogwiritsa zabbix kugulu lomwe mukufuna:

> chuser -usergrp 5 zabbix

Kuphatikiza apo, molingana ndi IBM System Storage SAN Volume Controller ndi Storwize V7000 Best Practices and Performance Guidelines (p. 415), muyenera kuloleza kusonkhanitsa ziwerengero pa makina osungira. Chifukwa chake, kusonkhanitsa ziwerengero miniti iliyonse:

> startstats -interval 1 

Kufufuza:

> lssystem | grep statistics
statistics_status on
statistics_frequency 1

Kuti mupeze makalasi onse osungira omwe alipo, muyenera kugwiritsa ntchito njira ya EnumerateClassNames().

Chitsanzo:

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

Njirayi imagwiritsidwa ntchito kupeza zofunikira zamagawo osungira EnumerateInstances() class WBEMConnection, kubwezera mndandanda wa zochitika CIMINstance ().

Chitsanzo:

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

M'makalasi ena omwe amakhala ndi zochitika zambiri, monga IBMTSSVC_StorageVolume, funso lathunthu lanthawi zonse limatha kukhala pang'onopang'ono. Ikhoza kupanga ma data akuluakulu omwe amayenera kukonzedwa ndi makina osungira, omwe amafalitsidwa pa intaneti ndikukonzedwa ndi script. Pali njira yochitira izi ExecQuery (), zomwe zimatilola kuti tizingotenga zinthu zamakalasi zomwe zimatisangalatsa. Njira imeneyi ikuphatikizapo kugwiritsa ntchito chinenero chofanana ndi SQL, mwina CIM Query Language (DMTF:CQL) kapena WBEM Query Language (WQL), kuti mufufuze zinthu zosungirako za CIM:

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

Kuti mudziwe makalasi omwe tikufunikira kuti tipeze magawo a zinthu zosungirako, werengani zolembazo, mwachitsanzo Momwe malingaliro amachitidwe amatengera malingaliro a CIM.

Chifukwa chake, kuti tipeze magawo (osati owerengera magwiridwe) a ma disks akuthupi (Disk Drives) tidzasankha Class IBMTSSVC_DiskDrive, kuti tipeze magawo a Volumes - Kalasi IBMTSSVC_StorageVolume, kuti mupeze magawo osiyanasiyana - Kalasi IBMTSSVC_Array, kupeza magawo a MDisks - Kalasi IBMTSSVC_Volume etc.

Kuti mugwiritse ntchito mukhoza kuwerenga Zithunzi zogwirira ntchito za Common Information Model Model (makamaka - Tsekani mbiri yantchito ya seva) ndi IBM System Storage SAN Volume Controller and Storwize V7000 Best Practices and Performance Guidelines (Chitsanzo C-11, tsamba 415).

Kuti mupeze ziwerengero zosungira Ma Volumes, muyenera kutchula IBMTSSVC_StorageVolumeStatistics ngati mtengo wa ClassName parameter. Katundu wa IBMTSSVC_StorageVolumeStatistics kalasi yofunikira pakutolera ziwerengero zitha kuwonedwa mu Ma Node Statistics.

Komanso, pakuwunika magwiridwe antchito mutha kugwiritsa ntchito makalasi IBMTSSVC_BakendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics.

Kulemba deta mu njira yowunikira tidzagwiritsa ntchito makinawo zabbix misampha, yokhazikitsidwa mu python mu module py-zabbix. Tidzayika mawonekedwe a makalasi osungira ndi katundu wawo mu dikishonale mu mtundu wa JSON.

Timayika template ku seva ya Zabbix, onetsetsani kuti seva yowunikira ili ndi mwayi wopita kumalo osungirako zinthu kudzera pa WEB protocol (TCP/5989), ndikuyika mafayilo okonzekera, kuzindikira ndi kuyang'anira zolemba pa seva yowunikira. Kenako, onjezani kukhazikitsa kwa script kwa wokonza. Zotsatira zake: timapeza zinthu zosungira (zosanjikiza, ma disks akuthupi ndi enieni, zotsekera ndi zina zambiri), tumizani ku Zabbix zomwe zapezedwa, werengani mawonekedwe a magawo awo, werengani ziwerengero zamachitidwe (zowerengera zogwirira ntchito), tumizani zonsezi ku Zabbix yofanana. Zinthu za template yathu.

Zabbix template, python scripts, mapangidwe a makalasi osungira ndi katundu wawo, komanso zitsanzo za mafayilo osinthika, mukhoza pezani apa.

Source: www.habr.com

Kuwonjezera ndemanga