Zabbix සමඟ IBM Storwize ගබඩාව අධීක්ෂණය කිරීම

මෙම ලිපියෙන් අපි IBM Storwize ගබඩා පද්ධති සහ CIM/WBEM ප්‍රොටෝකෝල සඳහා සහය දක්වන අනෙකුත් ගබඩා පද්ධති නිරීක්ෂණය කිරීම ගැන ටිකක් කතා කරමු. එවැනි අධීක්ෂණයක අවශ්‍යතාවය සමීකරණයෙන් බැහැරව ඇත; අපි මෙය ප්‍රත්‍යක්‍ෂයක් ලෙස සලකමු. අපි අධීක්ෂණ පද්ධතියක් ලෙස Zabbix භාවිතා කරන්නෙමු.

Zabbix හි නවතම අනුවාද වලදී, සමාගම සැකිලි කෙරෙහි වැඩි අවධානයක් යොමු කිරීමට පටන් ගත්තේය - IPMI හරහා අධීක්ෂණ සේවා, DBMS, Servers දෘඩාංග (IMM / iBMC) සඳහා සැකිලි පෙනී සිටීමට පටන් ගත්තේය. ගබඩා පද්ධති අධීක්‍ෂණය තවමත් පෙට්ටියෙන් පිටත සැකිලි වලින් පිටත පවතී, එබැවින් ගබඩා සංරචකවල තත්ත්වය සහ ක්‍රියාකාරීත්වය පිළිබඳ තොරතුරු Zabbix වෙත ඒකාබද්ධ කිරීමට, ඔබ අභිරුචි සැකිලි භාවිතා කළ යුතුය. මෙම සැකිලි වලින් එකක් මම ඔබේ අවධානයට යොමු කරමි.

පළමුව, කුඩා න්යායක්.

IBM Storwize ගබඩා පද්ධතිවල තත්ත්වය සහ සංඛ්‍යාලේඛන වෙත ප්‍රවේශ වීමට, ඔබට භාවිතා කළ හැක:

  1. CIM/WBEM ප්‍රොටෝකෝල;
  2. රෙස්ට්ෆුල් ඒපීඅයි (මෘදුකාංග අනුවාදය 8.1.3 සමඟින් ආරම්භ වන IBM Storwize හි සහය දක්වයි);
  3. SNMP උගුල් (සීමිත උගුල් කට්ටලයක්, සංඛ්‍යාලේඛන නොමැත);
  4. SSH හරහා සහ පසුව දුරස්ථව සම්බන්ධ කරන්න විවේකීව බැෂ් ස්ක්‍රිප්ටින් සඳහා සුදුසු වේ.

උනන්දුවක් දක්වන අයට විකුණුම්කරුවන්ගේ ලේඛනවල අදාළ අංශවල මෙන්ම ලේඛනයේ විවිධ අධීක්ෂණ ක්‍රම පිළිබඳව වැඩිදුර ඉගෙන ගත හැකිය. IBM Spectrum Virtualize scripting.

අපි විවිධ ගබඩා පද්ධති සඳහා සැලකිය යුතු මෘදුකාංග වෙනස්කම් නොමැතිව ගබඩා පද්ධති මෙහෙයුම් පරාමිතීන් ලබා ගැනීමට ඉඩ සලසන CIM/WBEM ප්‍රොටෝකෝල භාවිතා කරන්නෙමු. CIM/WBEM ප්‍රොටෝකෝල අනුව ක්‍රියාත්මක වේ ගබඩා කළමනාකරණ මුල පිරීම් පිරිවිතර (SMI-S). ගබඩා කළමනාකරණ මුලපිරීම - පිරිවිතර විවෘත ප්‍රමිතීන් මත පදනම් වේ CIM (පොදු තොරතුරු ආකෘතිය) и WBEM (වෙබ් පාදක ව්‍යවසාය කළමනාකරණය), අධිෂ්ඨාන කර ඇත බෙදා හරින ලද කළමනාකරණ කාර්ය සාධක බලකාය.

WBEM HTTP ප්‍රොටෝකෝලය මත ක්‍රියාත්මක වේ. WBEM හරහා ඔබට ගබඩා පද්ධති සමඟ පමණක් නොව, HBAs, ස්විච සහ ටේප් පුස්තකාල සමඟද වැඩ කළ හැකිය.

අනුව SMI ගෘහ නිර්මාණ ශිල්පය и යටිතල පහසුකම් නිර්ණය කරන්න, SMI ක්‍රියාත්මක කිරීමේ ප්‍රධාන අංගය වන්නේ WBEM සේවාදායකයයි, එය WBEM සේවාදායකයින්ගෙන් CIM-XML ඉල්ලීම් ක්‍රියාවට නංවයි (අපගේ නඩුවේදී, අධීක්ෂණ ස්ක්‍රිප්ට් වලින්):

Zabbix සමඟ IBM Storwize ගබඩාව අධීක්ෂණය කිරීම

CIM යනු Unified Modeling Language (UML) මත පදනම් වූ වස්තු-නැඹුරු ආකෘතියකි.
කළමනාකරණය කළ මූලද්‍රව්‍ය යනු කළමනාකරණය කළ දත්ත සහ ක්‍රියාකාරීත්වය නියෝජනය කිරීමට ගුණ සහ ක්‍රම ඇති CIM පන්ති ලෙස අර්ථ දැක්වේ.

අනුව www.snia.org/pywbem, CIM/WBEM හරහා ගබඩා පද්ධති වෙත ප්‍රවේශ වීමට, ඔබට PyWBEM - Python හි ලියා ඇති විවෘත මූලාශ්‍ර පුස්තකාලයක් භාවිතා කළ හැක, එය සංවර්ධකයින්ට සහ පද්ධති පරිපාලකයින්ට CIM වස්තු වෙත ප්‍රවේශ වීමට සහ WBEM සේවාදායකයක් සමඟ ක්‍රියාත්මක වන විවිධ මෙහෙයුම් සිදු කිරීමට CIM ප්‍රොටෝකෝලය ක්‍රියාත්මක කරයි. SMI-S හෝ වෙනත් CIM පිරිවිතරයන්ට අනුකූලව.

WBEM සේවාදායකයට සම්බන්ධ වීමට අපි class constructor භාවිතා කරමු WBEM සම්බන්ධතාවය:

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

මෙය අතථ්‍ය සම්බන්ධතාවයකි, CIM-XML/WBEM ක්‍රියාත්මක වන්නේ HTTP මත බැවින්, සැබෑ සම්බන්ධතාවය සිදු වන්නේ WBEMConnection පන්තියේ අවස්ථාවක ක්‍රම කැඳවූ විටය. IBM System Storage SAN Volume Controller සහ Storwize V7000 Best Practices සහ Performance Guidelines (උදාහරණ C-8, page 412) අනුව අපි IBM Storwize ගබඩා පද්ධතිය සඳහා CIM නාම අවකාශය ලෙස "root/ibm" භාවිතා කරන්නෙමු.

CIM-XML/WBEM ප්‍රොටෝකෝලය හරහා සංඛ්‍යාලේඛන එකතු කිරීමට, ඔබ සුදුසු ආරක්ෂක කණ්ඩායමට පරිශීලකයා ඇතුළත් කළ යුතු බව කරුණාවෙන් සලකන්න. එසේ නොමැතිනම්, WBEM විමසුම් ක්‍රියාත්මක කරන විට, class instance attributes හි ප්‍රතිදානය හිස් වනු ඇත..

ගබඩා සංඛ්‍යාලේඛන වෙත ප්‍රවේශ වීමට, ඉදිකිරීම්කරු හඳුන්වන පරිශීලකයා WBEMConnection(), අවම වශයෙන් 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 Best Practices සහ Performance Guidelines (p. 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)

ගබඩා පද්ධති පරාමිතීන්ගේ අගයන් ලබා ගැනීම සඳහා ක්‍රමය භාවිතා කරයි අවස්ථා () පන්තියේ WBEMConnection, අවස්ථා ලැයිස්තුවක් ආපසු ලබා දීම 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 Query Language (DMTF:CQL) හෝ WBEM Query Language (WQL) භාවිතා කිරීම ඇතුළත් වේ:

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

ගබඩා වස්තූන්ගේ පරාමිතීන් අපට ලබා ගත යුතු පන්ති තීරණය කිරීම සඳහා, උදාහරණයක් ලෙස ලේඛන කියවන්න පද්ධති සංකල්ප CIM සංකල්ප වෙත සිතියම් ගත කරන ආකාරය.

එබැවින්, භෞතික තැටිවල (Disk Drives) පරාමිති (කාර්ය සාධන කවුන්ටර නොවේ) ලබා ගැනීමට අපි IBMTSSVC_DiskDrive පන්තියේ ඡන්ද විමසීමක් කරන්නෙමු, වෙළුම් පරාමිති ලබා ගැනීමට - Class IBMTSSVC_StorageVolume, array පරාමිති ලබා ගැනීමට - Class IBMTSSVC_Array, පන්තියේ IBMTSSVC_Array, IBMTSVC_Array, ලබා ගැනීමට පන්තියේ IBMTSVC_Array, ලබා ගැනීමට. ආදිය

කාර්ය සාධනය සඳහා ඔබට කියවිය හැකිය පොදු තොරතුරු ආකෘති නියෝජිතයාගේ ක්රියාකාරී රූප සටහන් (විශේෂයෙන් - සේවාදායක කාර්ය සාධන උප පැතිකඩ අවහිර කරන්න) සහ IBM පද්ධති ගබඩා SAN වෙළුම් පාලකය සහ Storwize V7000 හොඳම භාවිතයන් සහ කාර්ය සාධන මාර්ගෝපදේශ (උදාහරණ C-11, පිටුව 415).

වෙළුම් සඳහා ගබඩා සංඛ්‍යාලේඛන ලබා ගැනීමට, ඔබ ClassName පරාමිතියේ අගය ලෙස IBMTSSVC_StorageVolumeStatistics සඳහන් කළ යුතුය. සංඛ්‍යාලේඛන එකතු කිරීම සඳහා අවශ්‍ය IBMTSSVC_StorageVolumeStatistics පන්තියේ ගුණාංග නැරඹිය හැක නෝඩ් සංඛ්යාලේඛන.

තවද, කාර්ය සාධන විශ්ලේෂණය සඳහා ඔබට IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics යන පන්ති භාවිතා කළ හැක.

අධීක්ෂණ පද්ධතියට දත්ත වාර්තා කිරීම සඳහා අපි යාන්ත්රණය භාවිතා කරමු zabbix උගුල්, මොඩියුලයක python හි ක්‍රියාත්මක වේ py-zabbix. අපි ගබඩා පද්ධති පන්තිවල ව්‍යුහය සහ ඒවායේ ගුණාංග JSON ආකෘතියෙන් ශබ්දකෝෂයක තබමු.

අපි අච්චුව Zabbix සේවාදායකයට උඩුගත කරන්නෙමු, අධීක්ෂණ සේවාදායකයට WEB ප්‍රොටෝකෝලය (TCP/5989) හරහා ගබඩා පද්ධතියට ප්‍රවේශය ඇති බවට වග බලා ගන්න, සහ අධීක්ෂණ සේවාදායකයේ වින්‍යාස ගොනු, හඳුනාගැනීම සහ අධීක්ෂණ ස්ක්‍රිප්ට් ස්ථානගත කරමු. ඊළඟට, ස්ක්‍රිප්ට් දියත් කිරීම උපලේඛකයාට එක් කරන්න. ප්‍රතිඵලයක් ලෙස: අපි ගබඩා වස්තු (අරා, භෞතික සහ අතථ්‍ය තැටි, සංවෘත සහ තවත් බොහෝ දේ) සොයා ගනිමු, ඒවා Zabbix සොයාගැනීම් වෙත මාරු කරන්න, ඒවායේ පරාමිතිවල තත්ත්වය කියවන්න, කාර්ය සාධන සංඛ්‍යාලේඛන කියවන්න (කාර්ය සාධන කවුන්ටර), මේ සියල්ල අදාළ Zabbix වෙත මාරු කරන්න. අපගේ සැකිල්ලේ අයිතම.

Zabbix අච්චුව, පයිතන් ස්ක්‍රිප්ට්, ගබඩා පන්තිවල ව්‍යුහය සහ ඒවායේ ගුණාංග මෙන්ම වින්‍යාස ගොනු සඳහා උදාහරණ, ඔබට හැකිය මෙතනින් හොයාගන්න.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න