Zabbix ашиглан IBM Storwize хадгалах системийг хянах

Энэ нийтлэлд бид IBM Storwize хадгалах систем болон CIM/WBEM протоколуудыг дэмждэг бусад хадгалах системийг хянах талаар бага зэрэг ярих болно. Ийм хяналт тавих хэрэгцээ нь тэгшитгэлээс хасагдсан тул бид үүнийг аксиом гэж үзэх болно. Бид Zabbix-ийг хяналтын систем болгон ашиглах болно.

Zabbix-ийн хамгийн сүүлийн хувилбаруудад компани загваруудад илүү их анхаарал хандуулж эхэлсэн - IPMI-ээр дамжуулан үйлчилгээ, DBMS, серверийн техник хангамж (IMM/iBMC) хянах загварууд гарч ирэв. Хадгалалтын системийн хяналт нь загвараас гадуур хэвээр байгаа тул хадгалалтын бүрэлдэхүүн хэсгүүдийн төлөв байдал, гүйцэтгэлийн талаарх мэдээллийг Zabbix-д нэгтгэхийн тулд та тусгай загваруудыг ашиглах хэрэгтэй. Би эдгээр загваруудын нэгийг та бүхэнд хүргэж байна.

Нэгдүгээрт, бага зэрэг онол.

IBM Storwize хадгалах системийн статус, статистик мэдээлэлд хандахын тулд та дараахийг ашиглаж болно:

  1. CIM/WBEM протоколууд;
  2. RESTful API (програм хангамжийн 8.1.3 хувилбараас эхлэн IBM Storwize-д дэмжигдсэн);
  3. SNMP урхи (хязгаарлагдмал хавх, статистик мэдээлэл байхгүй);
  4. SSH-ээр, дараа нь алсаас холбогдоно уу тайван bash скрипт хийхэд тохиромжтой.

Сонирхсон хүмүүс худалдагчийн баримт бичгийн холбогдох хэсэг, мөн баримт бичигт байгаа хяналтын янз бүрийн аргуудын талаар илүү ихийг мэдэж болно. IBM Spectrum Virtualize скрипт.

Бид CIM/WBEM протоколуудыг ашиглах бөгөөд энэ нь янз бүрийн хадгалах системд зориулсан програм хангамжийн томоохон өөрчлөлтгүйгээр хадгалах системийн үйлдлийн параметрүүдийг олж авах боломжийг олгодог. CIM/WBEM протоколууд нь дагуу ажилладаг Хадгалах менежментийн санаачлагын тодорхойлолт (SMI-S). Хадгалалтын менежментийн санаачилга - Тодорхойлолт нь нээлттэй стандарт дээр суурилдаг CIM (Мэдээллийн нийтлэг загвар) и WBEM (Вэбд суурилсан Enterprise Management), шийдсэн Удирдлагын ажлын хэсэг хуваарилагдсан.

WBEM нь HTTP протоколын дээд талд ажилладаг. WBEM-ээр дамжуулан та зөвхөн хадгалах системтэй ажиллахаас гадна HBA, унтраалга, соронзон хальсны сангуудтай ажиллах боломжтой.

Дагуу SMI архитектур и Дэд бүтцийг тодорхойлох, SMI хэрэгжилтийн гол бүрэлдэхүүн хэсэг нь WBEM сервер бөгөөд WBEM үйлчлүүлэгчдээс CIM-XML хүсэлтийг боловсруулдаг (манай тохиолдолд хяналтын скриптүүдээс):

Zabbix ашиглан IBM Storwize хадгалах системийг хянах

CIM нь нэгдсэн загварчлалын хэл (UML) дээр суурилсан объект хандалтат загвар юм.
Удирдлагатай элементүүдийг удирдаж буй өгөгдөл, функцийг илэрхийлэх шинж чанар, аргуудтай CIM анги гэж тодорхойлдог.

Дагуу www.snia.org/pywbem, CIM/WBEM-ээр дамжуулан хадгалах системд нэвтрэхийн тулд та PyWBEM - Python хэл дээр бичигдсэн нээлттэй эхийн номын санг ашиглаж болох бөгөөд энэ нь хөгжүүлэгчид болон системийн администраторуудад CIM объект руу нэвтрэх, WBEM сервертэй янз бүрийн үйлдлүүдийг гүйцэтгэх CIM протоколыг хэрэгжүүлэх боломжийг олгодог. SMI-S эсвэл бусад CIM техникийн үзүүлэлтүүдийн дагуу.

WBEM сервертэй холбогдохын тулд бид анги үүсгэгчийг ашигладаг WBEMMConnection:

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 асуулга гүйцэтгэх үед ангийн жишээний шинж чанаруудын гаралт хоосон байх болно..

Хадгалалтын статистикт хандахын тулд үүсгэгчийг дууддаг хэрэглэгч WBEMMConnection(), хамгийн багадаа RestrictedAdmin (cod_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)

Энэ аргыг хадгалах системийн параметрүүдийн утгыг олж авахад ашигладаг EnumerateInstances() анги WBEMMConnection, жишээнүүдийн жагсаалтыг буцаана 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(), энэ нь зөвхөн бидний сонирхдог ангийн жишээний шинж чанарыг олж авах боломжийг олгодог. Энэ арга нь CIM санах ойн объектуудыг асуухын тулд CIM Query Language (DMTF:CQL) эсвэл WBEM Query Language (WQL) гэсэн SQL-тэй төстэй асуулгын хэлийг ашиглахыг хэлнэ.

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

Хадгалах объектын параметрүүдийг ямар ангиудыг олж авах шаардлагатайг тодорхойлохын тулд жишээ нь баримт бичгийг уншина уу Системийн үзэл баримтлалыг CIM үзэл баримтлалд хэрхэн буулгах вэ.

Тиймээс физик дискүүдийн (дискний хөтчүүд) параметрүүдийг (гүйцэтгэлийн тоолуур биш) авахын тулд бид IBMTSSVC_DiskDrive ангиас, Боть параметрүүдийг авахын тулд IBMTSSVC_StorageVolume, массивын параметрүүдийг авахын тулд IBMTSSVC_Array, MDisks параметрүүдийг авахын тулд - Class_BackVlum, гэх мэтийг авна.

Гүйцэтгэлийн хувьд та уншиж болно Нийтлэг мэдээллийн загвар төлөөлөгчийн функциональ диаграммууд (ялангуяа - Серверийн гүйцэтгэлийн дэд профайлыг блоклох) болон IBM System Storage SAN Volume Controller болон 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 загвар, python скриптүүд, хадгалах ангийн бүтэц, тэдгээрийн шинж чанарууд, түүнчлэн тохиргооны файлуудын жишээнүүд. эндээс олоорой.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх