ืžืึธื ื™ื˜ืึธืจื™ื ื’ IBM Storwize ืกื˜ืึธืจื™ื“ื–ืฉ ืžื™ื˜ Zabbix

ืื™ืŸ ื“ืขื ืึทืจื˜ื™ืงืœ ืžื™ืจ ื•ื•ืขืœืŸ ืจืขื“ืŸ ืึท ื‘ื™ืกืœ ื•ื•ืขื’ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’ IBM Storwize ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขืžืขืŸ ืื•ืŸ ืื ื“ืขืจืข ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขืžืขืŸ ื•ื•ืึธืก ืฉื˜ื™ืฆืŸ ื“ื™ CIM / WBEM ืคึผืจืึธื˜ืึธืงืึธืœืก. ื“ื™ ื ื•ื™ื˜ ืคึฟืึทืจ ืึทื–ืึท ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืื™ื– ืœื™ื ืงืก ืื•ื™ืก ืคื•ืŸ ื“ื™ ื™ืงื•ื•ื™ื™ื–ืฉืึทืŸ; ืžื™ืจ ื•ื•ืขืœืŸ ื‘ืึทื˜ืจืึทื›ื˜ืŸ ื“ืขื ืึทืŸ ืึทืงืกื™ืึทื. ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ Zabbix ื•ื•ื™ ืึท ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืกื™ืกื˜ืขื.

ืื™ืŸ ื“ื™ ืœืขืฆื˜ืข ื•ื•ืขืจืกื™ืขืก ืคื•ืŸ Zabbix, ื“ื™ ืคื™ืจืžืข ืื ื’ืขื”ื•ื™ื‘ืŸ ืฆื• ื‘ืึทืฆืึธืœืŸ ืคื™ืœ ืžืขืจ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ื˜ ืฆื• ื˜ืขืžืคึผืœืึทื˜ืขืก - ื˜ืขืžืคึผืœืึทื˜ืขืก ืื ื’ืขื”ื•ื™ื‘ืŸ ืฆื• ื“ืขืจืฉื™ื™ึทื ืขืŸ ืคึฟืึทืจ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ื‘ืึทื“ื™ื ื•ื ื’ืก, DBMS, ืกืขืจื•ื•ืขืจืก ื™ื™ึทื–ื ื•ื•ืึทืจื’ (IMM/iBMC) ื“ื•ืจืš IPMI. ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขื ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืื™ื– ื ืึธืš ืึทืจื•ื™ืก ื“ื™ ื˜ืขืžืคึผืœืึทื˜ืขืก ืื•ื™ืก ืคื•ืŸ ื“ื™ ืงืขืกื˜ืœ, ืึทื–ื•ื™ ืฆื• ื•ื™ืกืฉื˜ื™ืžืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ื™ ืกื˜ืึทื˜ื•ืก ืื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืคื•ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืงืึทืžืคึผืึธื•ื ืึทื ืฅ ืื™ืŸ Zabbix, ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื ื•ืฆืŸ ืžื ื”ื’ ื˜ืขืžืคึผืœืึทื˜ืขืก. ืื™ืš ื‘ืจืขื ื’ืขืŸ ืฆื• ื“ื™ื™ืŸ ื•ืคืžืขืจืงื–ืึทืžืงื™ื™ึทื˜ ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ื˜ืขืžืคึผืœืึทื˜ืขืก.

ืขืจืฉื˜ืขืจ, ืึท ื‘ื™ืกืœ ื˜ืขืึธืจื™ืข.

ืฆื• ืึทืงืกืขืก ื“ื™ ืกื˜ืึทื˜ื•ืก ืื•ืŸ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืคื•ืŸ IBM Storwize ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขืžืขืŸ, ืื™ืจ ืงืขื ื˜ ื ื•ืฆืŸ:

  1. CIM / WBEM ืคึผืจืึธื˜ืึธืงืึธืœืก;
  2. RESTful API (ื’ืขืฉื˜ื™ืฆื˜ ืื™ืŸ IBM Storwize ืกื˜ืึทืจื˜ื™ื ื’ ืžื™ื˜ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื•ื•ืขืจืกื™ืข 8.1.3);
  3. SNMP ื˜ืจืึทืคึผืก (ืœื™ืžื™ื˜ืขื“ ื’ืึทื ื’ ืคื•ืŸ ื˜ืจืึทืคึผืก, ืงื™ื™ืŸ ืกื˜ืึทื˜ื™ืกื˜ื™ืง);
  4. ืงืึธื ื ืขืงื˜ ื“ื•ืจืš SSH ืื•ืŸ ื“ืขืžืึธืœื˜ ืจื™ืžืึธื•ื˜ืœื™ ืคึผืึทืกื™ืง ืคึฟืึทืจ ืœื™ื–ืขืจืœื™ ื‘ืึทืฉ ืกืงืจื™ืคึผื˜ื™ื ื’.

ื“ื™ ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืงืขื ืขืŸ ืœืขืจื ืขืŸ ืžืขืจ ื•ื•ืขื’ืŸ ืคืึทืจืฉื™ื“ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืžืขื˜ื”ืึธื“ืก ืื™ืŸ ื“ื™ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ืกืขืงืฉืึทื ื– ืคื•ืŸ ื“ื™ ืคืึทืจืงื•ื™ืคืขืจ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืื™ืŸ ื“ืขื ื“ืึธืงื•ืžืขื ื˜ ื™ื‘ื ืกืคึผืขืงื˜ืจื•ื ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืข ืกืงืจื™ืคึผื˜ื™ื ื’.

ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ื“ื™ CIM / WBEM ืคึผืจืึธื˜ืึธืงืึธืœืก, ื•ื•ืึธืก ืœืึธื–ืŸ ืื•ื ื“ื– ืฆื• ื‘ืึทืงื•ืžืขืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขื ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืึธืŸ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ื•ื•ื™ื™ื›ื•ื•ืืจื’ ืขื ื“ืขืจื•ื ื’ืขืŸ ืคึฟืึทืจ ืคืึทืจืฉื™ื“ืขื ืข ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขืžืขืŸ. ื“ื™ CIM / WBEM ืคึผืจืึธื˜ืึธืงืึธืœืก ืึทืจื‘ืขื˜ืŸ ืื™ืŸ ืœื•ื™ื˜ ืžื™ื˜ ืกื˜ืึธืจื™ื“ื–ืฉ ืžืึทื ืึทื’ืขืžืขื ื˜ ื™ื ื™ื˜ื™ืึทื˜ื™ื•ื•ืข ืกืคึผืขืกื™ืคื™ืงืึทื˜ื™ืึธืŸ (SMI-S). ืกื˜ืึธืจื™ื“ื–ืฉ ืžืึทื ืึทื’ืขืžืขื ื˜ ื™ื ื™ื˜ื™ืึทื˜ื™ื•ื•ืข - ืกืคึผืขืกื™ืคื™ืงืึทื˜ื™ืึธืŸ ืื™ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ืขืคืขื ืขืŸ ืกื˜ืึทื ื“ืึทืจื“ืก CIM (Common Information Model) ะธ WBEM (ื•ื•ืขื‘-ื‘ืื–ื™ืจื˜ ืคืึทืจื ืขืžื•ื ื’ ืžืึทื ืึทื’ืขืžืขื ื˜), ื‘ืืฉืœืืกืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืžืึทื ืึทื’ืขืžืขื ื˜ ื˜ืึทืกืง ืคืึธืจืก.

WBEM ืœื•ื™ืคื˜ ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ ื“ื™ ื”ื˜ื˜ืคึผ ืคึผืจืึธื˜ืึธืงืึธืœ. ื“ื•ืจืš WBEM ืื™ืจ ืงืขื ืขืŸ ืึทืจื‘ืขื˜ืŸ ื ื™ื˜ ื‘ืœื•ื™ื– ืžื™ื˜ ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขืžืขืŸ, ืึธื‘ืขืจ ืื•ื™ืš ืžื™ื˜ HBAs, ืกื•ื•ื™ื˜ืฉื™ื– ืื•ืŸ ื˜ืึทืฉืžืข ืœื™ื™ื‘ืจืขืจื™ื–.

ืœื•ื™ื˜ SMI ืึทืจื˜ืฉื™ื˜ืขืงื˜ื•ืจืข ะธ ื‘ืึทืฉื˜ื™ืžืขืŸ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ, ื“ืขืจ ื”ื•ื™ืคึผื˜ ืงืึธืžืคึผืึธื ืขื ื˜ ืคื•ืŸ ื“ื™ SMI ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืื™ื– ื“ื™ WBEM ืกืขืจื•ื•ืขืจ, ื•ื•ืึธืก ืคึผืจืึทืกืขืกืึทื– CIM-XML ืจื™ืงื•ื•ืขืก ืคื•ืŸ WBEM ืงืœื™ื™ืึทื ืฅ (ืื™ืŸ ืื•ื ื“ื–ืขืจ ืคืึทืœ, ืคึฟื•ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืกืงืจื™ืคึผืก):

ืžืึธื ื™ื˜ืึธืจื™ื ื’ IBM Storwize ืกื˜ืึธืจื™ื“ื–ืฉ ืžื™ื˜ Zabbix

CIM ืื™ื– ืึทืŸ ืึธื‘ื™ืขืงื˜-ืึธืจื™ืขื ื˜ื™ื“ ืžืึธื“ืขืœ ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ Unified Modeling Language (UML).
ื’ืขืจืื˜ืŸ ืขืœืขืžืขื ื˜ืŸ ื–ืขื ืขืŸ ื“ื™ืคื™ื™ื ื“ ื•ื•ื™ CIM ืงืœืืกืŸ ื•ื•ืึธืก ื”ืึธื‘ืŸ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืื•ืŸ ืžืขื˜ื”ืึธื“ืก ืฆื• ืคืึธืจืฉื˜ืขืœืŸ ื’ืขืจืื˜ืŸ ื“ืึทื˜ืŸ ืื•ืŸ ืคืึทื ื’ืงืฉืึทื ืึทืœื™ื˜ื™.

ืœื•ื™ื˜ www.snia.org/pywbem, ืฆื• ืึทืงืกืขืก ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขืžืขืŸ ื“ื•ืจืš CIM/WBEM, ืื™ืจ ืงืขื ื˜ ื ื•ืฆืŸ PyWBEM - ืึทืŸ ืึธืคึฟืŸ ืžืงื•ืจ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ Python, ื•ื•ืึธืก ื’ื™ื˜ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืื•ืŸ ืกื™ืกื˜ืขื ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจืก ืึท ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ CIM ืคึผืจืึธื˜ืึธืงืึธืœ ืคึฟืึทืจ ืึทืงืกืขืกื™ื ื’ CIM ืึทื‘ื“ื–ืฉืขืงืฅ ืื•ืŸ ื“ื•ืจื›ืคื™ืจืŸ ืคืึทืจืฉื™ื“ืŸ ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืžื™ื˜ ืึท WBEM ืกืขืจื•ื•ืขืจ ืึทืคึผืขืจื™ื™ื˜ื™ื ื’ ืื™ืŸ ืœื•ื™ื˜ SMI-S ืึธื“ืขืจ ืื ื“ืขืจืข CIM ืกืคึผืขืกืึทืคืึทืงื™ื™ืฉืึทื ื–.

ืฆื• ืคืึทืจื‘ื™ื ื“ืŸ ืฆื• ื“ื™ WBEM ืกืขืจื•ื•ืขืจ ืžื™ืจ ื ื•ืฆืŸ ื“ื™ ืงืœืึทืก ืงืึทื ืกื˜ืจืึทืงื˜ืขืจ WBEMConnection:

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

ื“ืึธืก ืื™ื– ืึท ื•ื•ื™ืจื˜ื•ืขืœ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’, ื–ื™ื ื˜ CIM-XML/WBEM ืœื•ื™ืคื˜ ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ ื”ื˜ื˜ืคึผ, ื“ืขืจ ืขืžืขืก ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ืึทืงืขืจื– ื•ื•ืขืŸ ืžืขื˜ื”ืึธื“ืก ื–ืขื ืขืŸ ื’ืขืจื•ืคึฟืŸ ืื•ื™ืฃ ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ื“ื™ WBEMConnection ืงืœืึทืก. ืื™ืŸ ืœื•ื™ื˜ ืžื™ื˜ ื“ื™ IBM ืกื™ืกื˜ืขื ืกื˜ืึธืจื™ื“ื–ืฉ ืกืึทืŸ ื‘ืื ื“ ืงืึธื ื˜ืจืึธืœืœืขืจ ืื•ืŸ Storwize V7000 ื‘ืขืกื˜ืขืจ ืคึผืจืึทืงื˜ื™ืกื™ื– ืื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื’ื™ื™ื“ืœื™ื™ื ื– (ื‘ื™ื™ึทืฉืคึผื™ืœ C-8, ื‘ืœืึทื˜ 412), ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ "ื•ื•ืึธืจืฆืœ / ื™ื‘ื" ื•ื•ื™ ื“ื™ CIM ื ืึธืžืขืŸ ืคึผืœืึทืฅ ืคึฟืึทืจ ื“ื™ IBM Storwize ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขื.

ื‘ื™ื˜ืข ื˜ืึธืŸ ืึทื– ืฆื• ื–ืึทืžืœืขืŸ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ื“ื•ืจืš ื“ื™ CIM-XML/WBEM ืคึผืจืึธื˜ืึธืงืึธืœ, ืื™ืจ ืžื•ื–ืŸ ืึทืจื™ื™ึทื ื ืขืžืขืŸ ื“ื™ ื‘ืึทื ื™ืฆืขืจ ืื™ืŸ ื“ื™ ืฆื•ื ืขืžืขืŸ ื–ื™ื›ืขืจื”ื™ื™ื˜ ื’ืจื•ืคึผืข. ืึทื ื“ืขืจืฉ, ื•ื•ืขืŸ ืขืงืกืึทืงื™ื•ื˜ื™ื ื’ WBEM ืงื•ื•ื™ืจื™ื–, ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืคื•ืŸ ืงืœืึทืก ื‘ื™ื™ึทืฉืคึผื™ืœ ืึทื˜ืจื™ื‘ื™ื•ืฅ ื•ื•ืขื˜ ื–ื™ื™ืŸ ืœื™ื™ื“ื™ืง.

ืฆื• ืึทืงืกืขืก ืกื˜ืึธืจื™ื“ื–ืฉ ืกื˜ืึทื˜ื™ืกื˜ื™ืง, ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืื•ื ื˜ืขืจ ื•ื•ืขืžืขืŸ ื“ืขืจ ืงืึธื ืกื˜ืจื•ืงื˜ืึธืจ ืื™ื– ื’ืขืจื•ืคืŸ WBEMConnection(), ืžื•ื–ืŸ ื”ืึธื‘ืŸ ื‘ื™ื™ึท ืžื™ื ื“ืกื˜ืขืจ RestrictedAdmin (ื‘ื ื™ืžืฆื ืคึฟืึทืจ ืงืึธื“_ืœืขื•ื•ืขืœ> 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 ืกื™ืกื˜ืขื ืกื˜ืึธืจื™ื“ื–ืฉ ืกืึทืŸ ื‘ืื ื“ ืงืึธื ื˜ืจืึธืœืœืขืจ ืื•ืŸ 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() ืงืœืึทืก WBEMConnection, ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท ืจืฉื™ืžื” ืคื•ืŸ ื™ื ืกื˜ืึทื ืกื™ื– CIืžื™ื ืกื˜ืึทื ืกืข ().

ื‘ื™ื™ึทืฉืคึผื™ืœ:

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, ืึท ืคื•ืœ ืึธื ืคึฟืจืขื’ ืคื•ืŸ ืึทืœืข ื™ื ืกื˜ืึทื ืกื™ื– ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืึทื ืฅ ืคึผืึทืžืขืœืขืš. ืขืก ืงืขื ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ ื’ืจื•ื™ืก ื•ื•ืึทืœื™ื•ืžื– ืคื•ืŸ ื“ืึทื˜ืŸ ื•ื•ืึธืก ืžื•ื–ืŸ ื–ื™ื™ืŸ ืฆื•ื’ืขื’ืจื™ื™ื˜ ื“ื•ืจืš ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขื, ื˜ืจืึทื ืกืžื™ื˜ื˜ืขื“ ืื™ื‘ืขืจ ื“ื™ ื ืขืฅ ืื•ืŸ ืคึผืจืึทืกืขืกื˜ ื“ื•ืจืš ื“ื™ ืฉืจื™ืคื˜. ืขืก ืื™ื– ืึท ืื•ืคึฟืŸ ืคึฟืึทืจ ืึทื–ืึท ืึท ืคืึทืœ ืขืงืกืขืงืงื•ื•ืขืจื™(), ื•ื•ืึธืก ืึทืœืึทื•ื– ืื•ื ื“ื– ืฆื• ื‘ืึทืงื•ืžืขืŸ ื‘ืœื•ื™ื– ื“ื™ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืคื•ืŸ ืึท ืงืœืึทืก ื‘ื™ื™ึทืฉืคึผื™ืœ ื•ื•ืึธืก ืื™ื ื˜ืขืจืขืก ืื•ื ื“ื–. ื“ืขืจ ืื•ืคึฟืŸ ื™ื ื•ื•ืึทืœื•ื•ื– ื ื™ืฆืŸ ืึท SQL-ื•ื•ื™ ืึธื ืคึฟืจืขื’ ืฉืคึผืจืึทืš, ืึธื“ืขืจ CIM ืงื•ื•ืขืจื™ ืฉืคึผืจืึทืš (DMTF:CQL) ืึธื“ืขืจ WBEM Query Language (WQL), ืฆื• ืึธื ืคึฟืจืขื’ CIM ืกื˜ืึธืจื™ื“ื–ืฉ ืึทื‘ื“ื–ืฉืขืงืฅ:

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

ืฆื• ื‘ืึทืฉืœื™ืกืŸ ื•ื•ืึธืก ืงืœืืกืŸ ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืคื•ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืึทื‘ื“ื–ืฉืขืงืฅ, ืœื™ื™ืขื ืขืŸ ื“ื™ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ, ืœืžืฉืœ ื•ื•ื™ ืกื™ืกื˜ืขื ืงืึทื ืกืขืคึผืก ืžืึทืคึผืข ืฆื• CIM ืงืึทื ืกืขืคึผืก.

ืึทื–ื•ื™, ืฆื• ืงืจื™ื’ืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก (ื ื™ื˜ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืงืึธื•ื ื˜ืขืจืก) ืคื•ืŸ ื’ืฉืžื™ื•ืช ื“ื™ืกืงืก (ื“ื™ืกืง ื“ืจื™ื™ื•ื•ื–) ืžื™ืจ ื•ื•ืขืœืŸ ื‘ืึทืงื•ืžืขืŸ ืงืœืึทืก IBMTSVC_DiskDrive, ืฆื• ืงืจื™ื’ืŸ ื•ื•ืึทืœื™ื•ืžื– ืคึผืึทืจืึทืžืขื˜ืขืจืก - Class IBMTSSVC_StorageVolume, ืฆื• ืงืจื™ื’ืŸ ืžืขื ื’ืข ืคึผืึทืจืึทืžืขื˜ืขืจืก - Class IBMTSSVC_Array, ืฆื• ืงืจื™ื’ืŸ MDisks ืคึผืึทืจืึทืžืขื˜ืขืจืก - Class IBMTSSVC_BackendVol.

ืคึฟืึทืจ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ืจ ืงืขื ืขืŸ ืœื™ื™ืขื ืขืŸ ืคืึทื ื’ืงืฉืึทื ืึทืœ ื“ื™ื™ืึทื’ืจืึทืžื– ืคื•ืŸ ื“ื™ ืงืึธืžืžืึธืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืžืึธื“ืขืœ ืึทื’ืขื ื˜ (ื’ืขื ื•ื™ - ืคืึทืจืฉืคึผืึทืจืŸ ืกืขืจื•ื•ืขืจ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืกื•ื‘ืคึผืจืึธืคื™ืœ) ืื•ืŸ IBM System Storage SAN Volume Controller ืื•ืŸ Storwize V7000 ื‘ืขืกื˜ืขืจ ืคึผืจืึทืงื˜ื™ืกื™ื– ืื•ืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ื’ื™ื™ื“ืœื™ื™ื ื– (ื‘ื™ื™ึทืฉืคึผื™ืœ C-11, ื‘ืœืึทื˜ 415).

ืฆื• ื‘ืึทืงื•ืžืขืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืคึฟืึทืจ ื•ื•ืึทืœื™ื•ืžื–, ืื™ืจ ืžื•ื–ืŸ ืกืคึผืขืฆื™ืคื™ืฆื™ืจืŸ IBMTSSVC_StorageVolumeStatistics ื•ื•ื™ ื“ื™ ื•ื•ืขืจื˜ ืคื•ืŸ ื“ื™ ClassName ืคึผืึทืจืึทืžืขื˜ืขืจ. ื“ื™ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืคื•ืŸ ื“ื™ IBMTSSVC_StorageVolumeStatistics ืงืœืึทืก ื ื™ื™ื˜ื™ืง ืคึฟืึทืจ ืงืึทืœืขืงื˜ื™ื ื’ ืกื˜ืึทื˜ื™ืกื˜ื™ืง ืงืขื ืขืŸ ื–ื™ื™ืŸ ื•ื•ื™ื•ื“ ืื™ืŸ ื ืึธื“ืข ืกื˜ืึทื˜ื™ืกื˜ื™ืง.

ืื•ื™ืš, ืคึฟืึทืจ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืึทื ืึทืœื™ืกื™ืก ืื™ืจ ืงืขื ืขืŸ ื ื•ืฆืŸ ื“ื™ ืงืœืืกืŸ IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics.

ืฆื• ืจืขืงืึธืจื“ื™ืจืŸ ื“ืึทื˜ืŸ ืื™ืŸ ื“ื™ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืกื™ืกื˜ืขื ืžื™ืจ ื•ื•ืขืœืŸ ื ื•ืฆืŸ ื“ื™ ืžืขืงืึทื ื™ื–ืึทื ื–ืึทื‘ื‘ื™ืงืก ื˜ืจืึทืคึผืก, ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ ืคึผื™ื˜ื”ืึธืŸ ืื™ืŸ ืึท ืžืึธื“ื•ืœืข py-zabbix. ืžื™ืจ ื•ื•ืขืœืŸ ืฉื˜ืขืœืŸ ื“ื™ ืกื˜ืจื•ืงื˜ื•ืจ ืคื•ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขืžืขืŸ ืงืœืืกืŸ ืื•ืŸ ื–ื™ื™ืขืจ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืื™ืŸ ืึท ื•ื•ืขืจื˜ืขืจื‘ื•ืš ืื™ืŸ JSON ืคึฟืึธืจืžืึทื˜.

ืžื™ืจ ื•ืคึผืœืึธืึทื“ ื“ื™ ืžื•ืกื˜ืขืจ ืฆื• ื“ื™ Zabbix ืกืขืจื•ื•ืขืจ, ืžืึทื›ืŸ ื–ื™ื›ืขืจ ืึทื– ื“ื™ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืกืขืจื•ื•ืขืจ ื”ืื˜ ืึทืงืกืขืก ืฆื• ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ ืกื™ืกื˜ืขื ื“ื•ืจืš ื“ื™ ื•ื•ืขื‘ ืคึผืจืึธื˜ืึธืงืึธืœ (TCP/5989), ืื•ืŸ ืฉื˜ืขืœืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก, ื“ื™ื˜ืขืงืฉืึทืŸ ืื•ืŸ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืกืงืจื™ืคึผืก ืื•ื™ืฃ ื“ื™ ืžืึธื ื™ื˜ืึธืจื™ื ื’ ืกืขืจื•ื•ืขืจ. ื•ื•ื™ื™ึทื˜ืขืจ, ืœื™ื™ื’ืŸ ืฉืจื™ืคื˜ ืงืึทื˜ืขืจ ืฆื• ื“ื™ ืกืงืขื“ื–ืฉื•ืœืขืจ. ื•ื•ื™ ืึท ืจืขื–ื•ืœื˜ืึทื˜: ืžื™ืจ ืึทื ื˜ื“ืขืงืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืึทื‘ื“ื–ืฉืขืงืฅ (ืขืจื™ื™ื–, ื’ืฉืžื™ื•ืช ืื•ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ื“ื™ืกืงืก, ื™ื ืงืœืึธื•ื–ืฉืขืจื– ืื•ืŸ ืคื™ืœ ืžืขืจ), ืึทืจื™ื‘ืขืจืคื™ืจืŸ ื–ื™ื™ ืฆื• ื–ืึทื‘ื‘ื™ืงืก ื“ื™ืกืงืึทื•ื•ืขืจื™ื–, ืœื™ื™ืขื ืขืŸ ื“ื™ ืกื˜ืึทื˜ื•ืก ืคื•ืŸ ื–ื™ื™ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจืก, ืœื™ื™ืขื ืขืŸ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืกื˜ืึทื˜ื™ืกื˜ื™ืง (ืคืึธืจืฉื˜ืขืœื•ื ื’ ืงืึธื•ื ื˜ืขืจืก), ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืึทืœืข ื“ืขื ืฆื• ื“ื™ ืงืึธืจืึทืกืคึผืึทื ื“ื™ื ื’ ื–ืึทื‘ื‘ื™ืงืก. ื™ื™ื˜ืึทืžื– ืคื•ืŸ ืื•ื ื“ื–ืขืจ ืžื•ืกื˜ืขืจ.

Zabbix ืžื•ืกื˜ืขืจ, ืคึผื™ื˜ื”ืึธืŸ ืกืงืจื™ืคึผืก, ืกื˜ืจื•ืงื˜ื•ืจ ืคื•ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ืงืœืืกืŸ ืื•ืŸ ื–ื™ื™ืขืจ ืคึผืจืึธืคึผืขืจื˜ื™ืขืก, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื‘ื™ื™ืฉืคื™ืœืŸ ืคื•ืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก, ืื™ืจ ืงืขื ืขืŸ ื’ืขืคึฟื™ื ืขืŸ ื“ืึธ.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’