Энэ нийтлэлд бид IBM Storwize хадгалах систем болон CIM/WBEM протоколуудыг дэмждэг бусад хадгалах системийг хянах талаар бага зэрэг ярих болно. Ийм хяналт тавих хэрэгцээ нь тэгшитгэлээс хасагдсан тул бид үүнийг аксиом гэж үзэх болно. Бид Zabbix-ийг хяналтын систем болгон ашиглах болно.
Zabbix-ийн хамгийн сүүлийн хувилбаруудад компани загваруудад илүү их анхаарал хандуулж эхэлсэн - IPMI-ээр дамжуулан үйлчилгээ, DBMS, серверийн техник хангамж (IMM/iBMC) хянах загварууд гарч ирэв. Хадгалалтын системийн хяналт нь загвараас гадуур хэвээр байгаа тул хадгалалтын бүрэлдэхүүн хэсгүүдийн төлөв байдал, гүйцэтгэлийн талаарх мэдээллийг Zabbix-д нэгтгэхийн тулд та тусгай загваруудыг ашиглах хэрэгтэй. Би эдгээр загваруудын нэгийг та бүхэнд хүргэж байна.
Нэгдүгээрт, бага зэрэг онол.
IBM Storwize хадгалах системийн статус, статистик мэдээлэлд хандахын тулд та дараахийг ашиглаж болно:
- CIM/WBEM протоколууд;
RESTful API (програм хангамжийн 8.1.3 хувилбараас эхлэн IBM Storwize-д дэмжигдсэн);- SNMP урхи (хязгаарлагдмал хавх, статистик мэдээлэл байхгүй);
- SSH-ээр, дараа нь алсаас холбогдоно уу
тайван bash скрипт хийхэд тохиромжтой .
Сонирхсон хүмүүс худалдагчийн баримт бичгийн холбогдох хэсэг, мөн баримт бичигт байгаа хяналтын янз бүрийн аргуудын талаар илүү ихийг мэдэж болно.
Бид CIM/WBEM протоколуудыг ашиглах бөгөөд энэ нь янз бүрийн хадгалах системд зориулсан програм хангамжийн томоохон өөрчлөлтгүйгээр хадгалах системийн үйлдлийн параметрүүдийг олж авах боломжийг олгодог. CIM/WBEM протоколууд нь дагуу ажилладаг
WBEM нь HTTP протоколын дээд талд ажилладаг. WBEM-ээр дамжуулан та зөвхөн хадгалах системтэй ажиллахаас гадна HBA, унтраалга, соронзон хальсны сангуудтай ажиллах боломжтой.
Дагуу
CIM нь нэгдсэн загварчлалын хэл (UML) дээр суурилсан объект хандалтат загвар юм.
Удирдлагатай элементүүдийг удирдаж буй өгөгдөл, функцийг илэрхийлэх шинж чанар, аргуудтай CIM анги гэж тодорхойлдог.
Дагуу
WBEM сервертэй холбогдохын тулд бид анги үүсгэгчийг ашигладаг
conn = pywbem.WBEMConnection(server_uri, (self.login, self.password),
namespace, no_verification=True)
Энэ нь виртуал холболт бөгөөд CIM-XML/WBEM HTTP дээр ажилладаг тул WBEMMonnection ангийн жишээн дээр аргуудыг дуудах үед жинхэнэ холболт үүсдэг. IBM System Storage SAN Volume Controller болон Storwize V7000 шилдэг туршлага, гүйцэтгэлийн удирдамжийн дагуу (Жишээ C-8, хуудас 412) бид IBM Storwize хадгалах системийн CIM нэрийн зай болгон “root/ibm”-ийг ашиглах болно.
CIM-XML/WBEM протоколоор статистик мэдээлэл цуглуулахын тулд та хэрэглэгчийг зохих хамгаалалтын бүлэгт оруулах ёстойг анхаарна уу. Үгүй бол, WBEM асуулга гүйцэтгэх үед ангийн жишээний шинж чанаруудын гаралт хоосон байх болно..
Хадгалалтын статистикт хандахын тулд үүсгэгчийг дууддаг хэрэглэгч
Бид 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)
Энэ аргыг хадгалах системийн параметрүүдийн утгыг олж авахад ашигладаг
Жишээ нь:
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 зэрэг олон тооны тохиолдлуудыг агуулсан зарим ангиудын хувьд бүх тохиолдлын бүрэн асуулга нэлээд удаан байж болно. Энэ нь хадгалах системээр бэлтгэгдсэн, сүлжээгээр дамжуулж, скриптээр боловсруулагдах ёстой их хэмжээний өгөгдлийг үүсгэж болно. Ийм тохиолдолд ийм арга байдаг
request = 'SELECT Name FROM IBMTSSVC_StorageVolumeStatistics'
objects_perfs_cim = wbem_connection.ExecQuery('DMTF:CQL', request)
Хадгалах объектын параметрүүдийг ямар ангиудыг олж авах шаардлагатайг тодорхойлохын тулд жишээ нь баримт бичгийг уншина уу
Тиймээс физик дискүүдийн (дискний хөтчүүд) параметрүүдийг (гүйцэтгэлийн тоолуур биш) авахын тулд бид IBMTSSVC_DiskDrive ангиас, Боть параметрүүдийг авахын тулд IBMTSSVC_StorageVolume, массивын параметрүүдийг авахын тулд IBMTSSVC_Array, MDisks параметрүүдийг авахын тулд - Class_BackVlum, гэх мэтийг авна.
Гүйцэтгэлийн хувьд та уншиж болно
Боть хадгалах статистикийг авахын тулд та ClassName параметрийн утга болгон IBMTSSVC_StorageVolumeStatistics-ийг зааж өгөх ёстой. Статистик мэдээлэл цуглуулахад шаардлагатай IBMTSSVC_StorageVolumeStatistics ангийн шинж чанаруудыг эндээс харж болно.
Мөн гүйцэтгэлийн шинжилгээнд IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics ангиудыг ашиглаж болно.
Хяналтын системд өгөгдлийг бүртгэхийн тулд бид механизмыг ашиглана
Бид загварыг Zabbix серверт байршуулж, хяналтын сервер нь WEB протоколоор (TCP/5989) дамжуулан хадгалах системд нэвтрэх боломжтой эсэхийг шалгаж, тохиргооны файлууд, илрүүлэх, хянах скриптүүдийг хяналтын сервер дээр байрлуулдаг. Дараа нь төлөвлөгчдөө скрипт эхлүүлэхийг нэмнэ үү. Үүний үр дүнд бид хадгалах объектуудыг (массив, физик болон виртуал диск, хаалт гэх мэт) олж илрүүлж, тэдгээрийг Zabbix-ийн нээлтүүд рүү шилжүүлж, параметрийн статусыг уншиж, гүйцэтгэлийн статистикийг (гүйцэтгэлийн тоолуур) уншиж, энэ бүгдийг харгалзах Zabbix руу шилжүүлдэг. Манай загварын зүйлс.
Zabbix загвар, python скриптүүд, хадгалах ангийн бүтэц, тэдгээрийн шинж чанарууд, түүнчлэн тохиргооны файлуудын жишээнүүд.
Эх сурвалж: www.habr.com