زبڪس استعمال ڪندي IBM Storwize اسٽوريج سسٽم جي نگراني

هن آرٽيڪل ۾ اسين IBM Storwize اسٽوريج سسٽم ۽ ٻين اسٽوريج سسٽم جي نگراني بابت ٿورڙي ڳالهائينداسين جيڪي CIM/WBEM پروٽوڪول کي سپورٽ ڪن ٿا. اهڙي نگراني جي ضرورت مساوات کان ٻاهر رهجي وئي آهي؛ اسان ان کي هڪ محور تي غور ڪنداسين. اسان زبڪس کي مانيٽرنگ سسٽم طور استعمال ڪنداسين.

Zabbix جي تازي ورزن ۾، ڪمپني ٽيمپليٽس تي وڌيڪ ڌيان ڏيڻ شروع ڪيو - ٽيمپليٽس مانيٽرنگ سروسز، ڊي بي ايم ايس، سرورز هارڊويئر (IMM/iBMC) IPMI ذريعي ظاهر ٿيڻ شروع ڪيو. اسٽوريج سسٽم مانيٽرنگ اڃا تائين ٽيمپليٽس کان ٻاهر دٻي کان ٻاهر آهي، تنهنڪري Zabbix ۾ اسٽوريج اجزاء جي صورتحال ۽ ڪارڪردگي بابت معلومات کي ضم ڪرڻ لاء، توهان کي ڪسٽم ٽيمپليٽ استعمال ڪرڻ جي ضرورت آهي. مان توهان جي ڌيان ۾ آڻيان ٿو انهن مان هڪ ٽيمپليٽ.

پهريون، هڪ ننڍڙو نظريو.

IBM Storwize اسٽوريج سسٽم جي حيثيت ۽ انگن اکرن تائين رسائي حاصل ڪرڻ لاء، توھان استعمال ڪري سگھو ٿا:

  1. CIM/WBEM پروٽوڪول؛
  2. ريسٽ اي اين پي (IBM Storwize ۾ سپورٽ ٿيل سافٽ ويئر ورزن 8.1.3 سان شروع ٿيندي)؛
  3. SNMP جال (محدود ٽريپس جو سيٽ، ڪو به انگ اکر)؛
  4. SSH ذريعي ڳنڍيو ۽ پوءِ ريموٽ آرام سان بيش اسڪرپٽنگ لاء مناسب.

جيڪي دلچسپي وٺن ٿا سي وينڊر دستاويزن جي لاڳاپيل حصن ۾ نگراني جي مختلف طريقن بابت وڌيڪ ڄاڻن ٿا، ۽ گڏوگڏ دستاويز ۾ IBM Spectrum Virtualize اسڪرپٽنگ.

اسان استعمال ڪنداسين CIM/WBEM پروٽوڪول، جيڪي اسان کي مختلف اسٽوريج سسٽم لاءِ اهم سافٽ ويئر تبديلين کان سواءِ اسٽوريج سسٽم آپريٽنگ پيٽرولر حاصل ڪرڻ جي اجازت ڏين ٿا. CIM/WBEM پروٽوڪول مطابق ڪم ڪن ٿا اسٽوريج مينيجمينٽ جي شروعات جي وضاحت (SMI-S). اسٽوريج مينيجمينٽ جي شروعات - وضاحت کليل معيار تي ٻڌل آهي CIM (عام معلومات ماڊل) и WBEM (ويب تي ٻڌل انٽرپرائز مينيجمينٽ)، طئي ٿيل ورهايل مئنيجمينٽ ٽاسڪ فورس.

WBEM HTTP پروٽوڪول جي چوٽي تي هلندو آهي. WBEM ذريعي توهان ڪم ڪري سگهو ٿا نه صرف اسٽوريج سسٽم سان، پر پڻ HBAs، سوئچز ۽ ٽيپ لائبريرين سان.

جي مطابق ايس ايم آئي آرڪيٽيڪچر и انفراسٹرڪچر جو اندازو لڳايو، SMI عمل درآمد جو بنيادي حصو WBEM سرور آھي، جيڪو WBEM ڪلائنٽ کان CIM-XML درخواستن تي عمل ڪري ٿو (اسان جي صورت ۾، مانيٽرنگ اسڪرپٽس کان):

زبڪس استعمال ڪندي IBM Storwize اسٽوريج سسٽم جي نگراني

CIM ھڪڙو اعتراض تي مبني ماڊل آھي جنھن جي بنياد تي متحد ماڊلنگ ٻولي (UML) آھي.
منظم ڪيل عناصر CIM طبقن جي طور تي بيان ڪيا ويا آهن جيڪي ملڪيت ۽ طريقا آهن منظم ڪيل ڊيٽا ۽ ڪارڪردگي جي نمائندگي ڪرڻ لاء.

جي مطابق www.snia.org/pywbem, CIM/WBEM ذريعي اسٽوريج سسٽم تائين رسائي حاصل ڪرڻ لاءِ، توهان استعمال ڪري سگهو ٿا PyWBEM - هڪ اوپن سورس لائبريري Python ۾ لکيل آهي، جيڪا ڊولپرز ۽ سسٽم ايڊمنسٽريٽرن کي مهيا ڪري ٿي CIM پروٽوڪول جي نفاذ سان CIM شين تائين رسائي ۽ مختلف آپريشنز کي انجام ڏيڻ لاءِ WBEM سرور سان SMI-S يا ٻين CIM وضاحتن جي مطابق.

WBEM سرور سان ڳنڍڻ لاءِ اسان استعمال ڪريون ٿا ڪلاس تعمير ڪندڙ WBEM ڪنيڪشن:

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

هي هڪ مجازي ڪنيڪشن آهي، ڇاڪاڻ ته CIM-XML/WBEM HTTP جي چوٽي تي هلندو آهي، حقيقي ڪنيڪشن تڏهن ٿئي ٿو جڏهن طريقن کي WBEMConnection ڪلاس جي مثال تي سڏيو وڃي ٿو. IBM سسٽم اسٽوريج SAN حجم ڪنٽرولر ۽ Storwize V7000 بهترين عملن ۽ ڪارڪردگي جي رهنمائي جي مطابق (مثال C-8، صفحو 412)، اسان استعمال ڪنداسين "root/ibm" کي IBM Storwize اسٽوريج سسٽم لاءِ CIM نالي جي جاءِ طور.

مهرباني ڪري نوٽ ڪريو ته CIM-XML/WBEM پروٽوڪول ذريعي انگ اکر گڏ ڪرڻ لاءِ، توهان کي لازمي طور تي استعمال ڪندڙ کي مناسب سيڪيورٽي گروپ ۾ شامل ڪرڻ گهرجي. ٻي صورت ۾، جڏهن WBEM سوالن تي عمل ڪندي، ڪلاس مثال جي خاصيتن جي پيداوار خالي ٿي ويندي.

اسٽوريج جي انگن اکرن تائين رسائي حاصل ڪرڻ لاء، صارف جنهن کي تعمير ڪندڙ سڏيو ويندو آهي 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    

زبڪس استعمال ڪندڙ کي مطلوب گروپ ۾ شامل ڪريو:

> chuser -usergrp 5 zabbix

ان کان علاوه، IBM سسٽم اسٽوريج SAN حجم ڪنٽرولر ۽ Storwize V7000 بهترين عمل ۽ ڪارڪردگي جي رهنمائي جي مطابق (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، مثالن جي هڪ فهرست واپس ڪرڻ CIInstance().

مثال طور

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()، جيڪو اسان کي صرف هڪ طبقي جي ملڪيت حاصل ڪرڻ جي اجازت ڏئي ٿو جيڪا اسان جي دلچسپي رکي ٿي. هن طريقي ۾ استعمال ڪرڻ شامل آهي SQL-جهڙي سوال جي ٻولي، يا ته CIM سوال جي ٻولي (DMTF:CQL) يا WBEM سوال ٻولي (WQL)، CIM اسٽوريج شين جي سوال ڪرڻ لاء:

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

اهو طئي ڪرڻ لاءِ ڪهڙن طبقن کي اسان کي اسٽوريج شين جا پيرا ميٽرز حاصل ڪرڻ گهرجن، مثال طور دستاويز پڙهو ڪيئن سسٽم تصورات کي سي آءِ ايم تصورات ڏانهن نقشو.

،، موسمي طور تي (ڊسڪ ڊرائيوز) ڪلاس Ibmsvcsvcore - ڪلاس IBMSSVSVERSVERSES - ڪلاس IBMSSVERY حاصل ڪرڻ لاء.

ڪارڪردگي لاء توهان پڙهي سگهو ٿا عام معلومات ماڊل ايجنٽ جا فنڪشنل ڊراگرام (خاص طور تي - بلاڪ سرور ڪارڪردگي ذيلي پروفائل) ۽ IBM سسٽم اسٽوريج SAN حجم ڪنٽرولر ۽ Storwize V7000 بهترين طريقا ۽ ڪارڪردگي جي رهنمائي واريون (مثال C-11، صفحو 415).

حجم لاءِ اسٽوريج جا انگ اکر حاصل ڪرڻ لاءِ، توهان کي IBMTSSVC_StorageVolumeStatistics کي ClassName پيٽرولر جي قيمت طور بيان ڪرڻ گهرجي. IBMTSSVC_StorageVolumeStatistics ڪلاس جون خاصيتون جيڪي انگ اکر گڏ ڪرڻ لاءِ ضروري آهن ان ۾ ڏسي سگهجن ٿيون نوڊ شماريات.

انهي سان گڏ، ڪارڪردگي جي تجزيي لاء توهان ڪلاس استعمال ڪري سگهو ٿا IBMTSSVC_BackendVolumeStatistics، IBMTSSVC_DiskDriveStatistics، IBMTSSVC_NodeStatistics.

مانيٽرنگ سسٽم ۾ ڊيٽا کي رڪارڊ ڪرڻ لاءِ اسان ميکانيزم استعمال ڪنداسين zabbix جال، python ۾ هڪ ماڊل ۾ لاڳو ڪيو ويو آهي py-zabbix. اسان اسٽوريج سسٽم ڪلاس جي جوڙجڪ ۽ انهن جي ملڪيت کي JSON فارميٽ ۾ ڊڪشنري ۾ رکون ٿا.

اسان ٽيمپليٽ کي Zabbix سرور تي اپلوڊ ڪريون ٿا، پڪ ڪريو ته مانيٽرنگ سرور وٽ اسٽوريج سسٽم تائين WEB پروٽوڪول (TCP/5989) جي ذريعي رسائي آهي، مانيٽرنگ سرور تي ڪنفيگريشن فائلون، ڳولڻ ۽ مانيٽرنگ اسڪرپٽ رکي ٿو. اڳيون، اسڪرپٽ لانچ شامل ڪريو شيڊولر ۾. نتيجي طور: اسان اسٽوريج شيون دريافت ڪندا آهيون (ارز، فزيڪل ۽ ورچوئل ڊسڪ، ملفوظات ۽ گهڻو ڪجهه)، انهن کي زيبڪس دريافتن ڏانهن منتقل ڪريو، انهن جي پيٽرولن جي حالت پڙهو، ڪارڪردگي جا انگ اکر پڙهو (پرفارمنس ڳڻپيوڪر)، انهن سڀني کي لاڳاپيل زيبڪس ڏانهن منتقل ڪريو. اسان جي ٽيمپليٽ جون شيون.

Zabbix ٽيمپليٽ، پٿرن اسڪرپٽ، اسٽوريج طبقن جي جوڙجڪ ۽ انهن جي ملڪيت، انهي سان گڏ ترتيب واري فائلن جا مثال، توهان ڪري سگهو ٿا هتي ڳوليو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو