IBM Storwize ማከማቻን ከዛቢክስ መከታተል

በዚህ ጽሑፍ ውስጥ ስለ IBM Storwize ማከማቻ ስርዓቶች እና የ CIM/WBEM ፕሮቶኮሎችን የሚደግፉ ሌሎች የማከማቻ ስርዓቶችን ስለመቆጣጠር ትንሽ እንነጋገራለን. የእንደዚህ አይነት ክትትል አስፈላጊነት ከስሌቱ ውጭ ነው፣ ይህንን እንደ አክሲየም እንቆጥረዋለን። ዛቢቢክስን እንደ የክትትል ስርዓት እንጠቀማለን።

በ Zabbix የቅርብ ጊዜ ስሪቶች ውስጥ ኩባንያው ለአብነት የበለጠ ትኩረት መስጠት ጀመረ - አብነቶች ለክትትል አገልግሎቶች ፣ DBMS ፣ Servers hardware (IMM/iBMC) በ IPMI በኩል መታየት ጀመሩ። የማጠራቀሚያ ስርዓት ቁጥጥር አሁንም ከቅንብርቦቹ ውጭ ነው, ስለዚህ ስለ ማከማቻ ክፍሎች ሁኔታ እና አፈጻጸም መረጃ ወደ Zabbix ለማዋሃድ, ብጁ አብነቶችን መጠቀም ያስፈልግዎታል. ከእነዚህ አብነቶች ውስጥ አንዱን ወደ እርስዎ ትኩረት አመጣለሁ።

በመጀመሪያ, ትንሽ ንድፈ ሐሳብ.

የIBM Storwize ማከማቻ ስርዓቶችን ሁኔታ እና ስታቲስቲክስን ለመድረስ የሚከተሉትን መጠቀም ይችላሉ፡-

  1. CIM/ደብሊውቢኤም ፕሮቶኮሎች;
  2. RESTful ኤፒአይ (ከሶፍትዌር ስሪት 8.1.3 ጀምሮ በ IBM Storwize ውስጥ የተደገፈ);
  3. SNMP ወጥመዶች (የተገደበ ወጥመዶች ስብስብ ፣ ምንም ስታቲስቲክስ የለም);
  4. በኤስኤስኤች እና ከዚያ በርቀት ይገናኙ ለመዝናናት ባሽ ስክሪፕት ተስማሚ.

ፍላጎት ያላቸው ስለ ተለያዩ የክትትል ዘዴዎች በሚመለከታቸው የአቅራቢ ሰነዶች ክፍሎች እና እንዲሁም በሰነዱ ውስጥ የበለጠ ማወቅ ይችላሉ IBM Spectrum ምናባዊ ስክሪፕት ማድረግ.

ለተለያዩ የማከማቻ ስርዓቶች ጉልህ የሶፍትዌር ለውጦች ሳያደርጉ የማከማቻ ስርዓት ኦፕሬቲንግ መለኪያዎችን ለማግኘት የሚያስችለንን የCIM/WBEM ፕሮቶኮሎችን እንጠቀማለን። የCIM/ደብሊውቢኤም ፕሮቶኮሎች የሚሠሩት በዚህ መሠረት ነው። የማከማቻ አስተዳደር ተነሳሽነት መግለጫ (SMI-S). የማከማቻ አስተዳደር ተነሳሽነት - ዝርዝር መግለጫ በክፍት ደረጃዎች ላይ የተመሰረተ ነው CIM (የጋራ መረጃ ሞዴል) и WBEM (በድር ላይ የተመሰረተ ኢንተርፕራይዝ አስተዳደር)፣ ተወስኗል የተከፋፈለ አስተዳደር ግብረ ኃይል.

WBEM በኤችቲቲፒ ፕሮቶኮል ላይ ይሰራል። በWBEM በኩል ከማከማቻ ስርዓቶች ጋር ብቻ ሳይሆን ከHBAs፣ switches እና የቴፕ ቤተ-መጻሕፍት ጋር መስራት ይችላሉ።

እንደ SMI አርክቴክቸር и መሠረተ ልማትን ይወስኑየኤስኤምአይ አተገባበር ዋናው አካል የWBEM አገልጋይ ነው፣ እሱም ከWBEM ደንበኞች የCIM-XML ጥያቄዎችን (በእኛ ሁኔታ ከክትትል ስክሪፕቶች) ያስኬዳል፡

IBM Storwize ማከማቻን ከዛቢክስ መከታተል

CIM በተዋሃደ የሞዴሊንግ ቋንቋ (UML) ላይ የተመሰረተ ነገር-ተኮር ሞዴል ነው።
የሚተዳደሩ አካላት የሚተዳደር ውሂብ እና ተግባርን የሚወክሉ ንብረቶች እና ዘዴዎች ያላቸው እንደ CIM ክፍሎች ይገለጻሉ።

እንደ www.snia.org/pywbemየማከማቻ ስርዓቶችን በCIM/WBEM በኩል ለመድረስ PyWBEMን መጠቀም ይችላሉ - በ Python ውስጥ የተጻፈ ክፍት ምንጭ ላይብረሪ ፣ ይህም ለገንቢዎች እና የስርዓት አስተዳዳሪዎች የሲአይኤም ዕቃዎችን ለመድረስ እና በ WBEM አገልጋይ ውስጥ በሚሰራው የ CIM ፕሮቶኮል ትግበራ ይሰጣል ። በ SMI-S ወይም በሌላ የ CIM ዝርዝሮች መሠረት.

ከWBEM አገልጋይ ጋር ለመገናኘት የክፍል ግንባታውን እንጠቀማለን። የደብሊውቢክ ግንኙነት:

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

ይህ ምናባዊ ግንኙነት ነው፣ CIM-XML/WBEM በኤችቲቲፒ ላይ ስለሚሰራ፣ ትክክለኛው ግንኙነት የሚከናወነው በWBEMኮኔክሽን ክፍል ምሳሌ ላይ ዘዴዎች ሲጠሩ ነው። በ IBM System Storage SAN Volume Controller እና Storwize V7000 ምርጥ ልምምዶች እና የአፈጻጸም መመሪያዎች (ምሳሌ C-8፣ገጽ 412) መሰረት "root/ibm" እንደ CIM የስም ቦታ ለ IBM Storwize ማከማቻ ስርዓት እንጠቀማለን።

እባክዎን በCIM-XML/WBEM ፕሮቶኮል በኩል ስታቲስቲክስን ለመሰብሰብ ተጠቃሚውን በተገቢው የጥበቃ ቡድን ውስጥ ማካተት አለብዎት። ያለበለዚያ የWBEM መጠይቆችን በሚፈጽምበት ጊዜ የክፍል ምሳሌ ባህሪዎች ውፅዓት ባዶ ይሆናል።.

የማከማቻ ስታቲስቲክስን ለመድረስ ገንቢው የተጠራበት ተጠቃሚ የደብሊውቢክ ግንኙነት()ቢያንስ RestrictedAdmin (ለ code_level> 7.8.0 የሚገኝ) ወይም የአስተዳዳሪ መብቶች (ለደህንነት ሲባል የማይመከር) ሊኖረው ይገባል።

ከማከማቻ ስርዓቱ ጋር በSSH በኩል እንገናኛለን እና የቡድን ቁጥሮችን እንይ፡-

> 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    

የ zabbix ተጠቃሚን ወደሚፈለገው ቡድን ያክሉ፡

> chuser -usergrp 5 zabbix

በተጨማሪም፣ በ IBM System Storage SAN Volume Controller እና Storwize V7000 ምርጥ ልምዶች እና የአፈጻጸም መመሪያዎች (ገጽ 415) መሰረት በማከማቻ ስርዓቱ ላይ የስታቲስቲክስ ስብስብን ማንቃት አለቦት። ስለዚህ፣ በየደቂቃው ስታቲስቲክስን ለመሰብሰብ፡-

> startstats -interval 1 

እንፈትሻለን

> lssystem | grep statistics
statistics_status on
statistics_frequency 1

ሁሉንም ነባር የማከማቻ ክፍሎችን ለማግኘት የEnumerateClassNames() ዘዴን መጠቀም አለቦት።

ለምሳሌ:

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

ዘዴው የማጠራቀሚያ ስርዓት መለኪያዎችን ዋጋዎችን ለማግኘት ጥቅም ላይ ይውላል ምሳሌዎች () ክፍል WBEMCግንኙነት፣ የአጋጣሚዎች ዝርዝርን በመመለስ ላይ CIMInstance().

ለምሳሌ:

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

እንደ IBMTSSVC_StorageVolume ያሉ ብዙ ቁጥር ያላቸውን አጋጣሚዎች ለያዙ አንዳንድ ክፍሎች የሁሉም አጋጣሚዎች ሙሉ መጠይቅ በጣም አዝጋሚ ሊሆን ይችላል። በማከማቻ ስርዓቱ ተዘጋጅቶ በኔትወርኩ ሊተላለፍ እና በስክሪፕቱ ሊሰራ የሚገባውን ትልቅ መጠን ያለው መረጃ ማመንጨት ይችላል። እንዲህ ላለው ጉዳይ አንድ ዘዴ አለ ExecQuery(), ይህም እኛን የሚስቡን የክፍል ምሳሌ ባህሪያትን ብቻ እንድናገኝ ያስችለናል. ይህ ዘዴ የCIM ማከማቻ ዕቃዎችን ለመጠየቅ SQL-እንደ መጠይቅ ቋንቋ፣ CIM መጠይቅ ቋንቋ (DMTF:CQL) ወይም WBEM መጠይቅ ቋንቋ (WQL) መጠቀምን ያካትታል።

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

የማከማቻ ዕቃዎችን መለኪያዎች ለማግኘት የትኞቹን ክፍሎች እንደሚፈልጉ ለመወሰን, ሰነዶቹን ያንብቡ, ለምሳሌ የስርዓት ፅንሰ-ሀሳቦች እንዴት ወደ CIM ፅንሰ-ሀሳቦች ካርታ.

ስለዚህ የአካላዊ ዲስኮች መለኪያዎችን (የአፈጻጸም ቆጣሪዎችን ሳይሆን) ለማግኘት የክፍል IBMTSSVC_DiskDriveን እንመርጣለን ፣የጥራዞች መለኪያዎችን ለማግኘት - ክፍል IBMTSSVC_StorageVolume ፣ የድርድር መለኪያዎችን ለማግኘት - ክፍል IBMTSSVC_Array ፣ MDisks መለኪያዎችን ለማግኘት - ክፍል IBMTSSVC_Backend.Volume ወዘተ

ለአፈጻጸም እርስዎ ማንበብ ይችላሉ የጋራ መረጃ ሞዴል ወኪል ተግባራዊ ንድፎችን (በተለይ - የአገልጋይ አፈጻጸም ንዑስ መገለጫን አግድ) እና የ IBM ሲስተም ማከማቻ SAN ድምጽ መቆጣጠሪያ እና ስቶርዊዝ ቪ7000 ምርጥ ልምዶች እና የአፈጻጸም መመሪያዎች (ምሳሌ C-11፣ ገጽ 415)።

የጥራዞች ማከማቻ ስታቲስቲክስን ለማግኘት፣ IBMTSSVC_StorageVolumeStatistics እንደ የClassName መለኪያ እሴት መግለጽ አለቦት። ስታቲስቲክስን ለመሰብሰብ አስፈላጊ የሆነው የIBMTSSVC_StorageVolumeStatistics ክፍል ባህሪያት በ ውስጥ ሊታዩ ይችላሉ። መስቀለኛ ስታቲስቲክስ.

እንዲሁም፣ ለአፈጻጸም ትንተና ክፍሎቹን IBMTSSVC_Backend VolumeStatistics፣ IBMTSSVC_DiskDriveStatistics፣ IBMTSSVC_NodeStatistics መጠቀም ይችላሉ።

በክትትል ስርዓቱ ውስጥ መረጃን ለመመዝገብ ዘዴውን እንጠቀማለን zabbix ወጥመዶች, በሞጁል ውስጥ በፓይቶን ውስጥ የተተገበረ py-zabbix. የማከማቻ ስርዓቶች ክፍሎችን እና ንብረቶቻቸውን መዋቅር በJSON ቅርጸት መዝገበ ቃላት ውስጥ እናስቀምጣለን።

አብነቱን ወደ ዛቢክስ አገልጋይ እንሰቅላለን፣ የክትትል አገልጋዩ የማከማቻ ስርዓቱን በWEB ፕሮቶኮል (TCP/5989) በኩል መድረስ እና የማዋቀሪያ ፋይሎችን፣ የማወቂያ እና የክትትል ስክሪፕቶችን በክትትል አገልጋዩ ላይ እናስቀምጣለን። በመቀጠል የስክሪፕት ማስጀመሪያውን ወደ መርሐግብር አውጪው ያክሉ። በውጤቱም: የማጠራቀሚያ ዕቃዎችን (ድርድሮች, አካላዊ እና ቨርቹዋል ዲስኮች, ማቀፊያዎች እና ብዙ ተጨማሪ) እናገኛለን, ወደ ዛቢቢክስ ግኝቶች ያስተላልፉ, የመለኪያዎቻቸውን ሁኔታ ያንብቡ, የአፈፃፀም ስታቲስቲክስን (የአፈፃፀም ቆጣሪዎችን) ያንብቡ, ይህን ሁሉ ወደ ተጓዳኝ Zabbix ያስተላልፉ. የእኛ አብነት ዕቃዎች።

የዛቢክስ አብነት ፣ የፓይቶን ስክሪፕቶች ፣ የማከማቻ ክፍሎች አወቃቀር እና ባህሪያቸው ፣ እንዲሁም የማዋቀሪያ ፋይሎች ምሳሌዎች ፣ ይችላሉ እዚህ ያግኙ.

ምንጭ: hab.com

አስተያየት ያክሉ