Zabbix ilə IBM Storwize yaddaşının monitorinqi

Bu yazıda IBM Storwize saxlama sistemlərinin və CIM / WBEM protokollarını dəstəkləyən digər saxlama sistemlərinin monitorinqi haqqında bir az danışacağıq. Belə monitorinqə ehtiyac mötərizədə qalır, biz bunu aksioma hesab edəcəyik. Biz Zabbix-dən monitorinq sistemi kimi istifadə edəcəyik.

Zabbix-in son versiyalarında şirkət şablonlara daha çox diqqət yetirməyə başladı - IPMI vasitəsilə monitorinq xidmətləri, DBMS, Server aparatları (IMM / iBMC) üçün şablonlar görünməyə başladı. Yaddaş monitorinqi hələ də hazır deyil, ona görə də saxlama komponentlərinin vəziyyəti və performansı haqqında məlumatları Zabbix-ə inteqrasiya etmək üçün xüsusi şablonlardan istifadə etməlisiniz. Bu şablonlardan birini nəzərinizə çatdırıram.

Birincisi, bir az nəzəriyyə.

IBM Storwize yaddaşının statusu və statistikasına daxil olmaq üçün siz aşağıdakılardan istifadə edə bilərsiniz:

  1. CIM/WBEM protokolları;
  2. RESTful API (8.1.3 proqram versiyasından başlayaraq IBM Storwize tərəfindən dəstəklənir);
  3. SNMP Tələləri (məhdud tələlər dəsti, statistika yoxdur);
  4. SSH bağlantısı, ardınca uzaqdan yavaş-yavaş bash skriptləri üçün uyğundur.

Maraqlananlar müxtəlif monitorinq üsulları haqqında ətraflı məlumatı satıcı sənədlərinin müvafiq bölmələrində, eləcə də sənəddə tapa bilərlər. IBM Spectrum Virtualize skripti.

Biz müxtəlif saxlama sistemləri üçün proqram təminatında əhəmiyyətli dəyişikliklər etmədən saxlama sisteminin parametrlərini əldə etməyə imkan verən CIM / WBEM protokollarından istifadə edəcəyik. CIM/WBEM protokolları uyğun olaraq işləyir Saxlama İdarəetmə Təşəbbüsünün Spesifikasiyası (SMI-S). Saxlama İdarəetmə Təşəbbüsü – Spesifikasiya açıq standartlara əsaslanır CIM (Ümumi Məlumat Modeli) и WBEM (Veb Əsaslı Müəssisə İdarəetmə)müəyyən edilmişdir Paylanmış İdarəetmə İş Qrupu.

WBEM HTTP protokolunun üstündə işləyir. WBEM vasitəsilə siz təkcə saxlama sistemləri ilə deyil, həm də HBA-lar, açarlar və lent kitabxanaları ilə işləyə bilərsiniz.

Uyğun olaraq SMI Memarlığı и İnfrastrukturun müəyyənləşdirilməsi, SMI tətbiqinin əsas komponenti WBEM müştərilərindən CIM-XML sorğularını emal edən WBEM serveridir (bizim halda, monitorinq skriptlərindən):

Zabbix ilə IBM Storwize yaddaşının monitorinqi

CIM Vahid Modelləşdirmə Dilinə (UML) əsaslanan obyekt yönümlü modeldir.
İdarə olunan elementlər idarə olunan məlumatları və funksionallığı təmsil etmək üçün xassələri və üsulları olan CIM sinifləri kimi müəyyən edilir.

Uyğun olaraq www.snia.org/pywbem, CIM / WBEM vasitəsilə yaddaşa daxil olmaq üçün siz Python dilində yazılmış açıq mənbə kitabxanası olan PyWBEM-dən istifadə edə bilərsiniz, bu da tərtibatçılara və sistem administratorlarına CIM obyektlərinə daxil olmaq və SMI-ə uyğun işləyən WBEM serveri ilə müxtəlif əməliyyatlar yerinə yetirmək üçün CIM protokolunun həyata keçirilməsini təmin edir. -S və ya digər CIM spesifikasiyası.

WBEM serverinə qoşulmaq üçün sinif konstruktorundan istifadə edin WBEMMConnection:

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

Bu virtual əlaqədir, çünki CIM-XML/WBEM HTTP üzərində işləyir, faktiki əlaqə metodlar WBEMMonnection sinifinin nümunəsində çağırılanda baş verir. IBM System Storage SAN Volume Controller və Storwize V7000 Best Practices and Performance Guidelines (Nümunə C-8, səh. 412) uyğun olaraq, biz IBM Storwize yaddaşı üçün CIM ad məkanı kimi “root/ibm” istifadə edəcəyik.

Nəzərə alın ki, CIM-XML/WBEM protokolu üzrə statistika toplamaq üçün siz istifadəçini müvafiq təhlükəsizlik qrupuna daxil etməlisiniz. Əks halda, WBEM sorğularını yerinə yetirərkən, sinif nümunəsi atributlarının çıxışı boş olacaq.

Saxlama statistikasına daxil olmaq üçün konstruktorun çağırıldığı istifadəçi WBEMMConnection(), ən azı RestrictedAdmin (kod_səviyyəsi > 7.8.0 üçün mövcuddur) və ya Administrator (təhlükəsizlik səbəbindən tövsiyə edilmir) olmalıdır.

Saxlama sisteminə SSH vasitəsilə qoşuluruq və qrup nömrələrinə baxırıq:

> 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 istifadəçisini istədiyiniz qrupa əlavə edin:

> chuser -usergrp 5 zabbix

Bundan əlavə, IBM System Storage SAN Volume Controller və Storwize V7000 Best Practices and Performance Guidelines (s. 415) uyğun olaraq, siz yaddaş sistemində statistik məlumatların toplanmasına imkan verməlisiniz. Beləliklə, hər dəqiqə statistika toplamaq üçün:

> startstats -interval 1 

Yoxlayırıq:

> lssystem | grep statistics
statistics_status on
statistics_frequency 1

Bütün mövcud yaddaş siniflərini əldə etmək üçün EnumerateClassNames() metodundan istifadə etməlisiniz.

Misal:

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

Saxlama sisteminin parametrlərinin dəyərlərini əldə etmək üçün üsul EnumerateInstances() Nümunələrin siyahısını qaytaran WBEMMonnection sinfi CIInstance().

Misal:

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 kimi çoxlu sayda nümunələri ehtiva edən bəzi siniflər üçün bütün nümunələrin tam sorğusu olduqca yavaş ola bilər. O, saxlama sistemi tərəfindən hazırlanmalı, şəbəkə üzərindən ötürülməli və skript tərəfindən işlənməli olan böyük həcmdə məlumat yarada bilər. Belə bir vəziyyət üçün bir üsul var ExecQuery(), bu, yalnız bizim üçün maraqlı olan sinif instansiyasının xassələrini əldə etməyə imkan verir. Bu üsul, CIM yaddaş obyektlərini sorğulamaq üçün SQL-ə bənzər sorğu dilindən, ya CIM Sorğu Dili (DMTF:CQL) və ya WBEM Sorğu Dili (WQL) istifadə etməyi nəzərdə tutur:

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

Saxlama obyektlərinin parametrlərini əldə etmək üçün hansı sinifləri müəyyən etmək üçün, məsələn, sənədləri oxuyuruq Sistem anlayışları CIM konsepsiyalarına necə uyğun gəlir.

Beləliklə, fiziki disklərin (Disk Sürücülərinin) parametrlərini (performans sayğacları deyil) əldə etmək üçün biz IBMTSSVC_DiskDrive Sinifindən, Volumes parametrlərini əldə etmək üçün - IBMTSSVC_StorageVolume sinfindən, massiv parametrlərini əldə etmək üçün - IBMTSSVC_Array sinfindən, MDisks parametrlərini əldə etmək üçün - Class_BackVClum, IBMTSSVlum və s.

Performans haqqında oxuya bilərsiniz Ümumi İnformasiya Modeli agentinin funksional diaqramları (xüsusilə - Server performans alt profilini bloklayın) və IBM System Storage SAN Volume Controller və Storwize V7000 Best Practices and Performance Guidelines (Misal C-11, səhifə 415).

Cildlər üçün yaddaş statistikasını əldə etmək üçün ClassName parametrinin dəyəri kimi IBMTSSVC_StorageVolumeStatistics-i təyin etməlisiniz. Statistikanın toplanması üçün lazım olan IBMTSSVC_StorageVolumeStatistics sinifinin xassələri burada tapıla bilər. Node Statistika.

Həmçinin, performans təhlili üçün siz IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics siniflərindən istifadə edə bilərsiniz.

Monitorinq sisteminə məlumat yazmaq üçün mexanizmdən istifadə edəcəyik zabbix tələləri, modulda python-da həyata keçirilir py-zabbix. Yaddaş siniflərinin strukturu və onların xassələri JSON formatında lüğətdə yerləşdiriləcək.

Şablonu Zabbix serverinə yükləyirik, monitorinq serverinin WEB protokolu (TCP / 5989) vasitəsilə yaddaşa çıxışı olduğundan əmin oluruq, konfiqurasiya fayllarını, aşkarlama və monitorinq skriptlərini monitorinq serverinə yerləşdiririk. Sonra, planlayıcıya skriptlər əlavə edin. Nəticədə: biz saxlama obyektlərini (massivlər, fiziki və virtual disklər, korpuslar və daha çox) aşkar edirik, onları Zabbix kəşflərinə ötürürük, parametrlərinin vəziyyətini oxuyuruq, performans statistikasını oxuyuruq (performans sayğacları), bütün bunları müvafiq qovluğa köçürürük. Şablonumuzun Zabbix elementləri.

Zabbix şablonu, python skriptləri, saxlama siniflərinin strukturu və onların xassələri, eləcə də konfiqurasiya fayllarının nümunələri ola bilər. burada tapın.

Mənbə: www.habr.com

Добавить комментарий