ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° IBM Storwize със Zabbix

Π’ Ρ‚Π°Π·ΠΈ статия Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π½Π° систСми Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° IBM Storwize ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ систСми Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ‚Π΅ CIM/WBEM. НСобходимостта ΠΎΡ‚ Ρ‚Π°ΠΊΡŠΠ² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π΅ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΎΡ‚ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ; Ρ‰Π΅ считамС Ρ‚ΠΎΠ²Π° Π·Π° аксиома. Π©Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Zabbix ΠΊΠ°Ρ‚ΠΎ систСма Π·Π° наблюдСниС.

Π’ послСднитС вСрсии Π½Π° Zabbix компанията Π·Π°ΠΏΠΎΡ‡Π½Π° Π΄Π° ΠΎΠ±Ρ€ΡŠΡ‰Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΡ‚Π΅ - Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° сС появяват шаблони Π·Π° услуги Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, Π‘Π£Π‘Π”, Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ (IMM/iBMC) Ρ‡Ρ€Π΅Π· IPMI. ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΡŠΡ‚ Π½Π° систСмата Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ всС ΠΎΡ‰Π΅ Π΅ извън Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅ шаблони, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π·Π° Π΄Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Ρ‚Π΅ информация Π·Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ ΠΈ производитСлността Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Zabbix, трябва Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ пСрсонализирани шаблони. ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΠΌ Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ шаблони.

ΠŸΡŠΡ€Π²ΠΎ, ΠΌΠ°Π»ΠΊΠ° тСория.

Π—Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ ΠΈ статистиката Π½Π° систСмитС Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° IBM Storwize ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅:

  1. CIM/WBEM ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ;
  2. RESTful API (ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС Π² IBM Storwize, Π·Π°ΠΏΠΎΡ‡Π²Π°ΠΉΠΊΠΈ ΠΎΡ‚ вСрсия Π½Π° софтуСра 8.1.3);
  3. SNMP прихващания (ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ прихващания, Π±Π΅Π· статистика);
  4. Π‘Π²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ сС Ρ‡Ρ€Π΅Π· SSH ΠΈ слСд Ρ‚ΠΎΠ²Π° дистанционно подходящ Π·Π° спокоСн 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 Π΅ ΠΎΠ±Π΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ ΠΌΠΎΠ΄Π΅Π», Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° 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 Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΡŠΡ€Ρ…Ρƒ HTTP, истинската Π²Ρ€ΡŠΠ·ΠΊΠ° възниква, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π½Π° СкзСмпляр Π½Π° класа WBEMConnection. Π’ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ с IBM System Storage SAN Volume Controller ΠΈ Storwize V7000 Най-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΈ насоки Π·Π° производитСлност (ΠŸΡ€ΠΈΠΌΠ΅Ρ€ C-8, страница 412), Π½ΠΈΠ΅ Ρ‰Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ β€žroot/ibmβ€œ ΠΊΠ°Ρ‚ΠΎ CIM пространство ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° Π·Π° IBM Storwize систСма Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅.

Моля, ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Π΅ Π·Π° Π΄Π° ΡΡŠΠ±ΠΈΡ€Π°Ρ‚Π΅ статистичСски Π΄Π°Π½Π½ΠΈ Ρ‡Ρ€Π΅Π· ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° CIM-XML/WBEM, трябва Π΄Π° Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ потрСбитСля Π² ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½Π°Ρ‚Π° Π³Ρ€ΡƒΠΏΠ° Π·Π° сигурност. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π΅Π½ случай, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ WBEM заявки, ΠΈΠ·Ρ…ΠΎΠ΄ΡŠΡ‚ Π½Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΡ‚Π΅ Π½Π° СкзСмпляр Π½Π° клас Ρ‰Π΅ бъдС ΠΏΡ€Π°Π·Π΅Π½.

Π—Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ статистика Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, потрСбитСлят, ΠΏΠΎΠ΄ ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ΡŠΡ‚ 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 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() клас 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, ΠΏΡŠΠ»Π½ΠΎΡ‚ΠΎ Π·Π°ΠΏΠΈΡ‚Π²Π°Π½Π΅ Π½Π° всички СкзСмпляри ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС доста Π±Π°Π²Π½ΠΎ. Π’ΠΎΠΉ ΠΌΠΎΠΆΠ΅ Π΄Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΠ±Π΅ΠΌΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ΠΈ ΠΎΡ‚ систСмата Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΠΎ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π΅Π½ΠΈ ΠΎΡ‚ скрипта. Има ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° Ρ‚Π°ΠΊΡŠΠ² случай 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 - клас IBMTSSVC_BackendVolume ΠΈ Ρ‚.Π½.

Π—Π° изпълнСниС ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈ Π½Π° Π°Π³Π΅Π½Ρ‚Π° Π½Π° 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 скриптовС, структура Π½Π° класовС Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ свойства, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΌΠ΅Ρ€ΠΈ Ρ‚ΡƒΠΊ.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€