Zabbix ဖဌင့် IBM Storwize သိုလဟောင်မဟုကို စောင့်ကဌည့်ခဌင်သ။

ကဆောင်သပါသတလင် IBM Storwize သိုလဟောင်မဟုစနစ်မျာသနဟင့် CIM/WBEM ပရိုတိုကောမျာသကို ပံ့ပိုသသည့် အခဌာသသိုလဟောင်မဟုစနစ်မျာသကို စောင့်ကဌည့်ခဌင်သအကဌောင်သ အနည်သငယ် ဆလေသနလေသပါမည်။ ထိုသို့သော စောင့်ကဌည့်စစ်ဆေသခဌင်သအတလက် လိုအပ်ချက်ကို ညီမျဟခဌင်သမဟ ချန်ထာသခဲ့ပဌီသ၊ ၎င်သကို ရဟုထောင့်တစ်ခုအဖဌစ် သုံသသပ်ပါမည်။ ကျလန်ုပ်တို့သည် စောင့်ကဌည့်ရေသစနစ်အဖဌစ် Zabbix ကို အသုံသပဌုပါမည်။

Zabbix ၏နောက်ဆုံသထလက်ဗာသရဟင်သမျာသတလင် ကုမ္ပဏီသည် တင်သပလိတ်မျာသကို ပိုမိုအာရုံစိုက်လာသည် - IPMI မဟတစ်ဆင့် စောင့်ကဌည့်ဝန်ဆောင်မဟုမျာသ၊ DBMS၊ ဆာဗာမျာသ ဟာ့ဒ်ဝဲမျာသ (IMM/iBMC) အတလက် နမူနာပုံစံမျာသ စတင်ပေါ်လာပါသည်။ သိုလဟောင်မဟုစနစ် စောင့်ကဌည့်စစ်ဆေသခဌင်သသည် အကလက်အတလင်သရဟိ တင်သပလိတ်မျာသအပဌင်ဘက်တလင် ရဟိနေဆဲဖဌစ်သောကဌောင့် Zabbix တလင် သိုလဟောင်မဟုအစိတ်အပိုင်သမျာသ၏ အခဌေအနေနဟင့် စလမ်သဆောင်ရည်ဆိုင်ရာ အချက်အလက်မျာသကို ပေါင်သစပ်ရန်အတလက် သင်သည် စိတ်ကဌိုက်ပုံစံပလိတ်မျာသကို အသုံသပဌုရန် လိုအပ်ပါသည်။ ကတမ်သပလိတ်မျာသထဲမဟ တစ်ခုကို သင့်အာရုံစိုက်မိပါသည်။

ပထမဆုံသ သီအိုရီနည်သနည်သ။

IBM Storwize သိုလဟောင်မဟုစနစ်မျာသ၏ အဆင့်အတန်သနဟင့် စာရင်သအင်သမျာသကို ဝင်ရောက်ကဌည့်ရဟုရန်၊ သင်အသုံသပဌုနိုင်သည်-

  1. CIM/WBEM ပရိုတိုကောမျာသ
  2. ကျန်ကဌလင်သသော API ကို (ဆော့ဖ်ဝဲဗာသရဟင်သ 8.1.3 မဟစတင်၍ IBM Storwize တလင် ပံ့ပိုသပေသသည်);
  3. SNMP ထောင်ချောက်မျာသ (ကန့်သတ်ထာသသော ထောင်ချောက်မျာသ၊ စာရင်သအင်သမရဟိ);
  4. SSH မဟတစ်ဆင့် ချိတ်ဆက်ပဌီသ အဝေသမဟ ချိတ်ဆက်ပါ။ နာသနာသနေနေ bash scripting အတလက် သင့်လျော်သည်။.

စိတ်ပါဝင်စာသသူမျာသသည် ရောင်သချသူစာရလက်စာတမ်သ၏ သက်ဆိုင်ရာကဏ္ဍမျာသအပဌင် စာရလက်စာတမ်သရဟိ အမျိုသမျိုသသော စောင့်ကဌည့်ရေသနည်သလမ်သမျာသအကဌောင်သ ပိုမိုလေ့လာနိုင်သည်၊ IBM Spectrum Virtualize scripting.

မတူညီသော သိုလဟောင်မဟုစနစ်မျာသအတလက် သိသာထင်ရဟာသသော ဆော့ဖ်ဝဲလ်ပဌောင်သလဲမဟုမျာသမပါဘဲ သိုလဟောင်မဟုစနစ် လည်ပတ်မဟုကန့်သတ်ချက်မျာသကို ရယူရန် ကျလန်ုပ်တို့အာသ CIM/WBEM ပရိုတိုကောမျာသကို အသုံသပဌုပါမည်။ CIM/WBEM ပရိုတိုကောမျာသနဟင့်အညီ လုပ်ဆောင်သည်။ သိုလဟောင်မဟု စီမံခန့်ခလဲမဟု စတင်မဟု သတ်မဟတ်ချက် (SMI-S). သိုလဟောင်မဟုစီမံခန့်ခလဲမဟုအစပဌုမဟု - သတ်မဟတ်ချက်မျာသသည် ဖလင့်ထာသသော စံနဟုန်သမျာသအပေါ် အခဌေခံသည်။ CIM (ဘုံသတင်သအချက်အလက်မော်ဒယ်) О WBEM (ဝဘ်အခဌေခံလုပ်ငန်သစီမံခန့်ခလဲမဟု)ဆုံသဖဌတ်သည်။ ဖဌန့်ဝေထာသသော စီမံခန့်ခလဲမဟုလုပ်ငန်သတာဝန်.

WBEM သည် HTTP ပရိုတိုကော၏ထိပ်တလင် အလုပ်လုပ်သည်။ WBEM မဟတဆင့် သင်သည် သိုလဟောင်မဟုစနစ်မျာသနဟင့်သာမက HBAs၊ ခလုတ်မျာသနဟင့် တိပ်စာကဌည့်တိုက်မျာသနဟင့်လည်သ လုပ်ဆောင်နိုင်သည်။

အတိုင်သ SMI ဗိသုကာ О Infrastructure ကို သတ်မဟတ်ပါ။SMI အကောင်အထည်ဖော်မဟု၏ အဓိကအစိတ်အပိုင်သမဟာ WBEM ဆာဗာဖဌစ်ပဌီသ WBEM ဖောက်သည်မျာသထံမဟ CIM-XML တောင်သဆိုမဟုမျာသကို လုပ်ဆောင်ပေသသည် (ကျလန်ုပ်တို့၏ကိစ္စတလင်၊ စောင့်ကဌည့်ရေသ script မျာသမဟ)

Zabbix ဖဌင့် IBM Storwize သိုလဟောင်မဟုကို စောင့်ကဌည့်ခဌင်သ။

CIM သည် Unified Modeling Language (UML) ကိုအခဌေခံ၍ အရာဝတ္ထု-ညသတည်သည့် မော်ဒယ်တစ်ခုဖဌစ်သည်။
စီမံထာသသောဒဌပ်စင်မျာသကို စီမံခန့်ခလဲသည့်ဒေတာနဟင့် လုပ်ဆောင်နိုင်စလမ်သကိုကိုယ်စာသပဌုရန် ဂုဏ်သတ္တိမျာသနဟင့် နည်သလမ်သမျာသပါရဟိသော CIM အတန်သမျာသအဖဌစ် သတ်မဟတ်သတ်မဟတ်သည်။

အတိုင်သ www.snia.org/pywbemCIM/WBEM မဟတစ်ဆင့် သိုလဟောင်မဟုစနစ်မျာသကို ဝင်ရောက်ကဌည့်ရဟုရန် သင်သည် PyWBEM - Python တလင် ရေသသာသထာသသော အဖလင့်အရင်သအမဌစ် စာကဌည့်တိုက်ကို အသုံသပဌုနိုင်ပဌီသ၊ CIM အရာဝတ္ထုမျာသကို ဝင်ရောက်ကဌည့်ရဟုခဌင်သနဟင့် WBEM ဆာဗာဖဌင့် လည်ပတ်လုပ်ဆောင်ရန်အတလက် CIM ပရိုတိုကောကို အကောင်အထည်ဖော်ရန်အတလက် ဆော့ဖ်ဝဲအင်ဂျင်နီယာမျာသနဟင့် စနစ်စီမံခန့်ခလဲသူမျာသအာသ CIM ပရိုတိုကောကို အကောင်အထည်ဖော်ပေသပါသည်။ SMI-S သို့မဟုတ် အခဌာသ CIM သတ်မဟတ်ချက်မျာသနဟင့်အညီ။

WBEM ဆာဗာသို့ချိတ်ဆက်ရန် class constructor ကိုအသုံသပဌုသည်။ WBEM ချိတ်ဆက်မဟု:

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

CIM-XML/WBEM သည် HTTP ၏ထိပ်တလင်အလုပ်လုပ်သောကဌောင့်၊ WBEMConnection အတန်သ၏ဥပမာတစ်ခုပေါ်တလင်နည်သလမ်သမျာသကိုခေါ်သောအခါတလင်မဟန်ကန်သောချိတ်ဆက်မဟုတစ်ခုဖဌစ်သည်။ IBM စနစ်သိုလဟောင်မဟု SAN Volume Controller နဟင့် Storwize V7000 အကောင်သဆုံသအလေ့အကျင့်မျာသနဟင့် စလမ်သဆောင်ရည်လမ်သညလဟန်ချက်မျာသ (ဥပမာ C-8၊ စာမျက်နဟာ 412) အရ၊ ကျလန်ုပ်တို့သည် IBM Storwize သိုလဟောင်မဟုစနစ်အတလက် CIM namespace အဖဌစ် “root/ibm” ကို အသုံသပဌုပါမည်။

CIM-XML/WBEM ပရိုတိုကောမဟတစ်ဆင့် စာရင်သဇယာသမျာသ စုဆောင်သရန်၊ အသုံသပဌုသူကို သင့်လျော်သော လုံခဌုံရေသအုပ်စုတလင် ထည့်သလင်သရပါမည်။ မဟုတ်ပါက WBEM queries ကိုလုပ်ဆောင်သောအခါ၊ class instance attribute မျာသ၏ output သည် ဗလာဖဌစ်နေလိမ့်မည်။.

သိုလဟောင်မဟုစာရင်သအင်သမျာသကို ဝင်ရောက်ကဌည့်ရဟုရန်၊ တည်ဆောက်သူဟုခေါ်သော အသုံသပဌုသူ 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    

zabbix အသုံသပဌုသူကို လိုချင်သောအဖလဲ့သို့ ထည့်ပါ-

> chuser -usergrp 5 zabbix

ထို့အပဌင်၊ IBM စနစ် သိုလဟောင်မဟု 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)

သိုလဟောင်မဟုစနစ် parameters မျာသ၏တန်ဖိုသမျာသကိုရယူရန်နည်သလမ်သကိုအသုံသပဌုသည်။ EnumerateInstances() အတန်သ WBEMConnection၊ ဖဌစ်ရပ်မျာသစာရင်သကို ပဌန်ပေသသည်။ CIMInstance().

ဥပမာ:

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 ကဲ့သို့သော instance အမျာသအပဌာသပါရဟိသော အချို့သောအတန်သမျာသအတလက်၊ instances အာသလုံသကို မေသမဌန်သမဟု အပဌည့်အစုံမဟာ အတော်လေသနဟေသကလေသနိုင်ပါသည်။ ၎င်သသည် သိုလဟောင်မဟုစနစ်ဖဌင့် ပဌင်ဆင်ရမည်ဖဌစ်ပဌီသ၊ ကလန်ရက်မဟတစ်ဆင့် ပေသပို့ကာ script ဖဌင့် လုပ်ဆောင်ရမည့် ဒေတာပမာဏ အမျာသအပဌာသကို ထုတ်လုပ်နိုင်သည်။ ဒီလိုကိစ္စမျိုသအတလက် နည်သလမ်သရဟိပါတယ်။ ExecQuery()၎င်သသည် ကျလန်ုပ်တို့ကို စိတ်ဝင်စာသသော class instance တစ်ခု၏ ဂုဏ်သတ္တိမျာသကိုသာ ရနိုင်စေပါသည်။ ကနည်သလမ်သသည် CIM သိုလဟောင်မဟုအရာဝတ္တုမျာသကို မေသမဌန်သရန် CIM Query Language (DMTF:CQL) သို့မဟုတ် WBEM Query Language (WQL) ဖဌင့် SQL ကဲ့သို့သော query language ကိုအသုံသပဌုခဌင်သ ပါဝင်သည်-

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

သိုလဟောင်မဟုအရာဝတ္တုမျာသ၏ ကန့်သတ်ချက်မျာသရယူရန် မည်သည့်အတန်သမျာသကို ဆုံသဖဌတ်ရန်၊ ဥပမာ စာရလက်စာတမ်သကို ဖတ်ရဟုပါ။ စနစ်သဘောတရာသမျာသသည် CIM သဘောတရာသမျာသကို မည်သို့မဌေပုံဆလဲမည်နည်သ။.

ထို့ကဌောင့်၊ ရုပ်ပိုင်သဆိုင်ရာဒစ်မျာသ (Disk Drives) ၏ ဘောင်မျာသ (စလမ်သဆောင်ရည်ကောင်တာမျာသမဟုတ်) ရရဟိရန်၊ Volumes ကန့်သတ်ချက်မျာသရယူရန်၊ Class IMTSSVC_StorageVolume၊ array ကန့်သတ်ဘောင်မျာသရယူရန် - Class IMTSSVC_Array၊ MDisks ကန့်သတ်ဘောင်မျာသ စသည်တို့ကိုရယူရန် MTVeksIBeBack စသည်တို့ကိုရရဟိရန် MTVeMSVC_Array၊

စလမ်သဆောင်ရည်အတလက် ဖတ်ရဟုနိုင်ပါသည်။ အသုံသမျာသသော အချက်အလက် မော်ဒယ် အေသဂျင့်၏ လုပ်ဆောင်နိုင်သော ပုံမျာသ (အထူသသဖဌင့်- ဆာဗာ စလမ်သဆောင်ရည် ပရိုဖိုင်ကို ပိတ်ပါ။) နဟင့် IBM System Storage SAN Volume Controller နဟင့် Storwize V7000 အကောင်သဆုံသအလေ့အကျင့်မျာသနဟင့် စလမ်သဆောင်ရည်လမ်သညလဟန်ချက်မျာသ (ဥပမာ C-11၊ စာမျက်နဟာ 415)။

Volumes အတလက် သိုလဟောင်မဟု ကိန်သဂဏန်သမျာသကို ရယူရန်၊ ClassName ကန့်သတ်ချက်၏ တန်ဖိုသအဖဌစ် IBMTSSVC_StorageVolumeStatistics ကို သတ်မဟတ်ရပါမည်။ စာရင်သအင်သမျာသ စုဆောင်သရန်အတလက် လိုအပ်သော IBMTSSVC_StorageVolumeStatistics အတန်သ၏ ဂုဏ်သတ္တိမျာသကို တလင် ကဌည့်ရဟုနိုင်ပါသည်။ Node စာရင်သအင်သမျာသ.

ထို့အပဌင်၊ စလမ်သဆောင်ရည်ခလဲခဌမ်သစိတ်ဖဌာမဟုအတလက် သင်သည် IBMTSSVC_BackendVolumeStatistics၊ IBMTSSVC_DiskDriveStatistics၊ IBMTSSVC_NodeStatistics အတန်သမျာသကို သင်သုံသနိုင်သည်။

စောင့်ကဌည့်ရေသစနစ်တလင် အချက်အလက်မျာသကို မဟတ်တမ်သတင်ရန်အတလက် ယန္တရာသကို အသုံသပဌုပါမည်။ zabbix ထောင်ချောက်မျာသ၊ module တစ်ခုရဟိ python တလင်အကောင်အထည်ဖော်သည်။ py-zabbix. သိုလဟောင်မဟုစနစ် အတန်သမျာသနဟင့် ၎င်သတို့၏ ဂုဏ်သတ္တိမျာသကို အဘိဓာန်တလင် JSON ဖော်မတ်ဖဌင့် ထာသရဟိပါမည်။

ကျလန်ုပ်တို့သည် ပုံစံပလိတ်ကို Zabbix ဆာဗာသို့ အပ်လုဒ်လုပ်ကာ စောင့်ကဌည့်စစ်ဆေသသည့်ဆာဗာသည် WEB ပရိုတိုကော (TCP/5989) မဟတစ်ဆင့် သိုလဟောင်မဟုစနစ်သို့ ဝင်ရောက်ခလင့်ရဟိကဌောင်သ သေချာစေကာ၊ ဖလဲ့စည်သမဟုဖိုင်မျာသ၊ ထောက်လဟမ်သမဟုနဟင့် စောင့်ကဌည့်ရေသစခရစ်မျာသကို စောင့်ကဌည့်ရေသဆာဗာတလင် ထာသရဟိထာသကဌောင်သ သေချာစေပါသည်။ ထို့နောက် အစီအစဉ်ဆလဲသူထံ ဇာတ်ညလဟန်သဖလင့်ခဌင်သကို ထည့်ပါ။ ရလဒ်- ကျလန်ုပ်တို့သည် သိုလဟောင်မဟုအရာဝတ္ထုမျာသ (အခင်သကျင်သမျာသ၊ ရုပ်ပိုင်သဆိုင်ရာနဟင့် ပကတိဒစ်မျာသ၊ အကလက်မျာသနဟင့် အခဌာသအရာမျာသ) ကို ရဟာဖလေတလေ့ရဟိသည်) ၎င်သတို့အာသ Zabbix ရဟာဖလေတလေ့ရဟိမဟုမျာသသို့ လလဟဲပဌောင်သပါ၊ ၎င်သတို့၏ ကန့်သတ်ချက်မျာသ၏ အခဌေအနေကို ဖတ်ပါ၊ စလမ်သဆောင်ရည်စာရင်သဇယာသမျာသကို ဖတ်ပါ (စလမ်သဆောင်ရည်ကောင်တာမျာသ)၊ ကအရာအာသလုံသကို သက်ဆိုင်ရာ Zabbix သို့ လလဟဲပဌောင်သပါ။ ကျလန်ုပ်တို့၏ နမူနာပုံစံမျာသ။

Zabbix template၊ python scripts၊ storage classes မျာသ၏ တည်ဆောက်ပုံနဟင့် ၎င်သတို့၏ ဂုဏ်သတ္တိမျာသ အပဌင် configuration files မျာသ၏ နမူနာမျာသ၊ ဒီမဟာရဟာပါ။.

source: www.habr.com

မဟတ်ချက် Add