Мониторинги системаҳои нигаҳдории IBM Storwize бо истифода аз Zabbix

Дар ин мақола мо каме дар бораи мониторинги системаҳои нигоҳдории IBM Storwize ва дигар системаҳои нигоҳдорӣ, ки протоколҳои CIM/WBEM-ро дастгирӣ мекунанд, сӯҳбат хоҳем кард. Зарурати чунин мониторинг аз муодила берун мондааст, мо инро аксиома баррасӣ хоҳем кард. Мо Zabbix-ро ҳамчун системаи мониторинг истифода хоҳем кард.

Дар версияҳои охирини Zabbix, ширкат ба қолибҳо диққати бештар дод - қолабҳо барои мониторинги хидматҳо, DBMS, сахтафзори серверҳо (IMM/iBMC) тавассути IPMI пайдо шуданд. Мониторинги системаи нигаҳдорӣ ҳоло ҳам берун аз қолибҳо берун аз қуттӣ аст, бинобар ин барои ҳамгироӣ кардани маълумот дар бораи ҳолат ва иҷрои ҷузъҳои нигаҳдорӣ ба Zabbix, шумо бояд қолибҳои фармоиширо истифода баред. Ман яке аз ин қолабҳоро ба диққати шумо мерасонам.

Якум, як назарияи каме.

Барои дастрасӣ ба вазъият ва омори системаҳои нигаҳдории IBM Storwize, шумо метавонед истифода баред:

  1. протоколҳои CIM/WBEM;
  2. API асосан (дар IBM Storwize аз версияи нармафзори 8.1.3 дастгирӣ карда мешавад);
  3. SNMP Traps (маҷмӯи маҳдуди домҳо, омор нест);
  4. Тавассути SSH ва сипас ба таври фосилавӣ пайваст шавед мувофиқ барои скрипти leisurely bash.

Шахсони манфиатдор метавонанд дар бораи усулҳои гуногуни мониторинг дар бахшҳои дахлдори ҳуҷҷатҳои фурӯшанда ва инчунин дар ҳуҷҷат маълумоти бештар гиранд. Скрипти IBM Spectrum Virtualize.

Мо протоколҳои CIM/WBEM-ро истифода хоҳем бурд, ки ба мо имкон медиҳанд, ки параметрҳои амалиётии системаи нигаҳдорӣ бидуни тағироти назарраси нармафзор барои системаҳои гуногуни нигаҳдорӣ ба даст орем. Протоколҳои CIM/WBEM мувофиқи он амал мекунанд Мушаххасоти ташаббуси идоракунии нигаҳдорӣ (SMI-S). Ташаббуси идоракунии анбор - Мушаххасот ба стандартҳои кушода асос ёфтааст CIM (Модели маълумоти умумӣ) и WBEM (Идоракунии корхона дар асоси веб), муайян кард Гурӯҳи кории тақсимшудаи идоракунӣ.

WBEM дар болои протоколи HTTP кор мекунад. Тавассути WBEM шумо метавонед на танҳо бо системаҳои нигоҳдорӣ, балки бо HBA, коммутаторҳо ва китобхонаҳои навор низ кор кунед.

Мувофиқи маълумот Архитектураи SMI и Муайян кардани инфрасохтор, ҷузъи асосии татбиқи SMI сервери WBEM мебошад, ки дархостҳои CIM-XML-ро аз муштариёни WBEM коркард мекунад (дар ҳолати мо, аз скриптҳои мониторинг):

Мониторинги системаҳои нигаҳдории IBM Storwize бо истифода аз Zabbix

CIM модели ба объект нигаронидашуда дар асоси забони ягонаи моделсозӣ (UML) мебошад.
Унсурҳои идорашаванда ҳамчун синфҳои CIM муайян карда мешаванд, ки дорои хосиятҳо ва усулҳои муаррифии додаҳо ва функсияҳои идорашаванда мебошанд.

Мувофиқи маълумот www.snia.org/pywbem, барои дастрасӣ ба системаҳои нигаҳдорӣ тавассути CIM/WBEM, шумо метавонед PyWBEM - китобхонаи кушодаи бо Python навишташударо истифода баред, ки ба таҳиягарон ва маъмурони система татбиқи протоколи CIM барои дастрасӣ ба объектҳои CIM ва иҷрои амалиёти гуногун бо сервери WBEM дар мувофиқи 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), мо “root/ibm”-ро ҳамчун фазои номи CIM барои системаи нигаҳдории IBM Storwize истифода мебарем.

Лутфан таваҷҷӯҳ намоед, ки барои ҷамъоварии омор тавассути протоколи CIM-XML/WBEM, шумо бояд корбарро ба гурӯҳи мувофиқи амният дохил кунед. Дар акси ҳол, ҳангоми иҷрои дархостҳои WBEM, баромади атрибутҳои мисоли синф холӣ хоҳад буд..

Барои дастрасӣ ба омори нигаҳдорӣ, корбаре, ки дар зери он созанда даъват карда мешавад WBEMMConnection(), бояд ҳадди ақал 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 беҳтарин таҷрибаҳо ва дастурҳои иҷроиш (саҳ. 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() синфи WBEMMonnection, баргардонидани рӯйхати мисолҳо 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 Query Language (DMTF:CQL) ё WBEM Query Language (WQL), барои дархост кардани объектҳои нигаҳдории CIM:

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

Барои муайян кардани кадом синфҳо ба мо лозим аст, ки параметрҳои объектҳои нигоҳдорӣ ба даст орем, масалан, ҳуҷҷатҳоро хонед Чӣ тавр консепсияҳои система ба консепсияҳои CIM харита мешаванд.

Ҳамин тавр, барои ба даст овардани параметрҳои (на ҳисобкунакҳои иҷроиш) дискҳои физикӣ (Дискҳои дискҳо) мо ба Синфи IBMTSSVC_DiskDrive, барои ба даст овардани параметрҳои Ҳаҷмҳо - Синфи IBMTSSVC_StorageVolume, барои ба даст овардани параметрҳои массивӣ - Синфи IBMTSSVC_Array, барои ба даст овардани параметрҳои MDisks - Class_BackVlume, ва ғайра.

Барои иҷроиш шумо метавонед хонед Диаграммаҳои функсионалии агенти Common Information Model (махсусан - Зерпрофили иҷрои серверро блок кунед) ва IBM System Storage SAN Volume Controller ва 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 интиқол медиҳем, ҳолати параметрҳои онҳоро хонем, омори иҷроишро хонем (ҳисобкунакҳои иҷроиш), ҳамаи инро ба Zabbix мувофиқ интиқол медиҳем. Маводҳои қолаби мо.

Шаблони Zabbix, скриптҳои python, сохтори синфҳои нигоҳдорӣ ва хосиятҳои онҳо, инчунин намунаҳои файлҳои конфигуратсия, шумо метавонед пайдо дар ин ҷо.

Манбаъ: will.com

Илова Эзоҳ