Mimojuto ibi ipamọ IBM Storwize pẹlu Zabbix

Ninu àpilẹkọ yii a yoo sọrọ diẹ nipa mimojuto awọn ọna ipamọ IBM Storwize ati awọn ọna ipamọ miiran ti o ṣe atilẹyin awọn ilana CIM/WBEM. Iwulo fun iru ibojuwo jẹ osi kuro ni idogba; a yoo ro eyi ni axiom. A yoo lo Zabbix bi eto ibojuwo.

Ni awọn ẹya tuntun ti Zabbix, ile-iṣẹ bẹrẹ si san ifojusi pupọ si awọn awoṣe - awọn awoṣe bẹrẹ si han fun awọn iṣẹ ibojuwo, DBMS, hardware Servers (IMM/iBMC) nipasẹ IPMI. Abojuto eto ipamọ tun wa ni ita awọn awoṣe jade kuro ninu apoti, nitorinaa lati ṣafikun alaye nipa ipo ati iṣẹ ti awọn paati ipamọ sinu Zabbix, o nilo lati lo awọn awoṣe aṣa. Mo mu ọkan ninu awọn awoṣe wọnyi wa si akiyesi rẹ.

Ni akọkọ, imọran kekere kan.

Lati wọle si ipo ati awọn iṣiro ti awọn ọna ipamọ IBM Storwize, o le lo:

  1. Awọn ilana CIM/WBEM;
  2. RESTful API (atilẹyin ni IBM Storwize ti o bẹrẹ pẹlu ẹya software 8.1.3);
  3. Awọn ẹgẹ SNMP (ipin ti awọn ẹgẹ, ko si awọn iṣiro);
  4. Sopọ nipasẹ SSH ati lẹhinna latọna jijin o dara fun fàájì bash iwe afọwọkọ.

Awọn ti o nifẹ le ni imọ siwaju sii nipa ọpọlọpọ awọn ọna ibojuwo ni awọn apakan ti o yẹ ti iwe ataja, ati ninu iwe-ipamọ naa IBM Spectrum Virtualize iwe afọwọkọ.

A yoo lo awọn ilana CIM/WBEM, eyiti o gba wa laaye lati gba awọn eto ibi ipamọ ti n ṣiṣẹ laisi awọn iyipada sọfitiwia pataki fun awọn ọna ipamọ oriṣiriṣi. Awọn ilana CIM/WBEM ṣiṣẹ ni ibamu pẹlu Ipilẹṣẹ Ipilẹṣẹ Iṣakoso Ibi ipamọ (SMI-S). Initiative Management Ibi ipamọ – Specification da lori ìmọ awọn ajohunše CIM (Awoṣe Alaye Alaye) и WBEM (Iṣakoso Idawọlẹ ti O da lori Wẹẹbu), pinnu Pinpin Management Agbofinro.

WBEM nṣiṣẹ lori oke ilana HTTP. Nipasẹ WBEM o le ṣiṣẹ kii ṣe pẹlu awọn ọna ipamọ nikan, ṣugbọn pẹlu awọn HBA, awọn iyipada ati awọn ile-ikawe teepu.

Gegebi SMI Architecture и Ṣe ipinnu Awọn amayederun, Ẹya akọkọ ti imuse SMI ni olupin WBEM, eyiti o ṣe ilana awọn ibeere CIM-XML lati ọdọ awọn alabara WBEM (ninu ọran wa, lati awọn iwe afọwọkọ ibojuwo):

Mimojuto ibi ipamọ IBM Storwize pẹlu Zabbix

CIM jẹ awoṣe ti o da lori ohun ti o da lori Èdè Awoṣe Iṣọkan (UML).
Awọn eroja ti iṣakoso jẹ asọye bi awọn kilasi CIM ti o ni awọn ohun-ini ati awọn ọna lati ṣe aṣoju data iṣakoso ati iṣẹ ṣiṣe.

Gegebi www.snia.org/pywbem, lati wọle si awọn eto ipamọ nipasẹ CIM/WBEM, o le lo PyWBEM - ile-ikawe orisun ṣiṣi ti a kọ sinu Python, eyiti o pese awọn olupilẹṣẹ ati awọn alakoso eto pẹlu imuse ti ilana CIM fun iwọle si awọn nkan CIM ati ṣiṣe awọn iṣẹ oriṣiriṣi pẹlu olupin WBEM ti n ṣiṣẹ ni ni ibamu pẹlu SMI-S tabi awọn miiran CIM ni pato.

Lati sopọ si olupin WBEM a lo oluko kilasi WBEMC Asopọmọra:

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

Eleyi jẹ a foju asopọ, niwon CIM-XML/WBEM nṣiṣẹ lori oke HTTP, awọn gidi asopọ waye nigbati awọn ọna ti wa ni a npe ni lori ohun apẹẹrẹ ti WBEMConnection kilasi. Ni ibamu pẹlu IBM System Ibi ipamọ SAN Iwọn didun Adarí ati Storwize V7000 Awọn Ilana ti o dara julọ ati Awọn Itọsọna Iṣeṣe (Apẹẹrẹ C-8, oju-iwe 412), a yoo lo "root / ibm" gẹgẹbi orukọ CIM fun eto ipamọ IBM Storwize.

Jọwọ ṣe akiyesi pe lati gba awọn iṣiro nipasẹ ilana CIM-XML/WBEM, o gbọdọ fi olumulo sinu ẹgbẹ aabo ti o yẹ. Bibẹẹkọ, nigba ṣiṣe awọn ibeere WBEM, iṣẹjade ti awọn abuda apẹẹrẹ kilasi yoo jẹ ofo.

Lati wọle si awọn iṣiro ibi ipamọ, olumulo labẹ ẹniti a pe oluṣeto naa WBEMAsopọ (), gbọdọ ni o kere ju RestrictedAdmin (wa fun code_level> 7.8.0) tabi awọn ẹtọ Alakoso (kii ṣe iṣeduro fun awọn idi aabo).

A sopọ si eto ibi ipamọ nipasẹ SSH ati wo awọn nọmba ẹgbẹ:

> 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    

Ṣafikun olumulo zabbix si ẹgbẹ ti o fẹ:

> chuser -usergrp 5 zabbix

Ni afikun, ni ibamu pẹlu IBM System Ibi ipamọ SAN Iwọn didun Adarí ati Storwize V7000 Awọn Ilana ti o dara julọ ati Awọn Itọsọna Iṣe (p. 415), o gbọdọ mu awọn iṣiro iṣiro ṣiṣẹ lori eto ipamọ. Nitorinaa, lati gba awọn iṣiro ni iṣẹju kọọkan:

> startstats -interval 1 

A ṣayẹwo:

> lssystem | grep statistics
statistics_status on
statistics_frequency 1

Lati gba gbogbo awọn kilasi ibi ipamọ to wa tẹlẹ, o gbọdọ lo ọna EnumerateClassNames().

Apeere:

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

Ọna naa ni a lo lati gba awọn iye ti awọn aye eto ipamọ Iṣiro Awọn iṣẹlẹ () kilasi WBEMconnection, pada akojọ kan ti instances Iṣeduro ().

Apeere:

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

Fun diẹ ninu awọn kilasi ti o ni nọmba nla ti awọn iṣẹlẹ ninu, gẹgẹbi IBMTSSVC_StorageVolume, ibeere kikun ti gbogbo awọn iṣẹlẹ le lọra pupọ. O le ṣe agbejade awọn iwọn nla ti data ti o gbọdọ pese sile nipasẹ eto ibi ipamọ, ti o tan kaakiri lori nẹtiwọọki ati ni ilọsiwaju nipasẹ iwe afọwọkọ. Ọna kan wa fun iru ọran bẹẹ ExecQuery(), eyiti o fun wa laaye lati gba awọn ohun-ini ti apẹẹrẹ kilasi ti o nifẹ si wa. Ọna yii jẹ pẹlu lilo ede ibeere SQL kan, boya Ede ibeere CIM (DMTF:CQL) tabi Ede ibeere WBEM (WQL), lati beere awọn nkan ibi ipamọ CIM:

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

Lati pinnu iru awọn kilasi ti a nilo lati gba awọn aye ti awọn nkan ipamọ, ka iwe naa, fun apẹẹrẹ Bawo ni awọn ero eto ṣe maapu si awọn imọran CIM.

Nitorinaa, lati gba awọn iṣiro (kii ṣe awọn iṣiro iṣẹ) ti awọn disiki ti ara (Awọn awakọ Disiki) a yoo ṣe ibo Kilasi IBMTSSVC_DiskDrive, lati gba awọn iwọn iwọn didun - Kilasi IBMTSSVC_StorageVolume, lati gba awọn aye titobi - Kilasi IBMTSSVC_Array, lati gba awọn paramita MDisks - Kilasi IBMTSSVC_Backend.Volume ati bẹbẹ lọ

Fun išẹ o le ka Awọn aworan atọka iṣẹ ti aṣoju Awoṣe Alaye ti o wọpọ (ni pato - Dina olupin išẹ subprofaili) ati IBM System Ibi ipamọ SAN Iwọn didun Adarí ati Storwize V7000 Awọn Ilana ti o dara julọ ati Awọn Itọsọna Iṣe (Apeere C-11, oju-iwe 415).

Lati gba awọn iṣiro ibi ipamọ fun Awọn iwọn didun, o gbọdọ pato IBMTSSVC_StorageVolumeStatistics gẹgẹbi iye paramita ClassName. Awọn ohun-ini ti kilasi IBMTSSVC_StorageVolumeStatistics pataki fun gbigba awọn iṣiro ni a le wo ni Node Statistics.

Paapaa, fun itupalẹ iṣẹ o le lo awọn kilasi IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics.

Lati ṣe igbasilẹ data sinu eto ibojuwo a yoo lo ẹrọ naa zabbix ẹgẹ, imuse ni Python ni a module py-zabbix. A yoo gbe eto ti awọn kilasi awọn ọna ṣiṣe ipamọ ati awọn ohun-ini wọn sinu iwe-itumọ ni ọna kika JSON.

A ṣe agbejade awoṣe si olupin Zabbix, rii daju pe olupin ibojuwo ni iwọle si eto ipamọ nipasẹ ilana WEB (TCP/5989), ati gbe awọn faili iṣeto, wiwa ati awọn iwe afọwọkọ ibojuwo lori olupin ibojuwo. Nigbamii, ṣafikun ifilọlẹ iwe afọwọkọ si oluṣeto. Bi abajade: a ṣe awari awọn ohun ipamọ (awọn ohun elo, awọn disiki ti ara ati foju, awọn apade ati pupọ diẹ sii), gbe wọn lọ si awọn iwadii Zabbix, ka ipo ti awọn aye wọn, ka awọn iṣiro iṣẹ (awọn iṣiro iṣẹ), gbe gbogbo eyi si Zabbix ti o baamu Awọn nkan ti awoṣe wa.

Awoṣe Zabbix, awọn iwe afọwọkọ Python, eto ti awọn kilasi ibi ipamọ ati awọn ohun-ini wọn, ati awọn apẹẹrẹ ti awọn faili atunto, o le ri nibi.

orisun: www.habr.com

Fi ọrọìwòye kun