БлСдСњС Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° 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 врска прослСдСна со далСчински ΠΏΠΎΠ³ΠΎΠ΄Π΅Π½ Π·Π° Π»Π΅ΠΆΠ΅Ρ€Π½ΠΎ баш ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅.

ЗаинтСрСсиранитС ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π΄ΠΎΠ·Π½Π°Π°Ρ‚ повСќС Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ Π½Π° слСдСњС Π²ΠΎ соодвСтнитС Π΄Π΅Π»ΠΎΠ²ΠΈ ΠΎΠ΄ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° ΠΏΡ€ΠΎΠ΄Π°Π²Π°Ρ‡ΠΎΡ‚, ΠΊΠ°ΠΊΠΎ ΠΈ Π²ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΡ‚ IBM Spectrum Virtualize ΡΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ€Π°ΡšΠ΅.

ЌС Π³ΠΈ користимС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ‚Π΅ CIM / WBEM, ΠΊΠΎΠΈ Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π°Π°Ρ‚ Π΄Π° Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° систСмот Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π±Π΅Π· Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ софтвСрот Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ систСми Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΡ‚Π΅ CIM/WBEM Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ спорСд Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Ρ‚ΠΈΠ²Π° Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ (SMI-S). Π˜Π½ΠΈΡ†ΠΈΡ˜Π°Ρ‚ΠΈΠ²Π°Ρ‚Π° Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ – ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° сС заснова Π½Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ стандарди CIM (Π·Π°Π΅Π΄Π½ΠΈΡ‡ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ) ΠΈ WBEM (Π£ΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΠΏΡ€Π΅Ρ‚ΠΏΡ€ΠΈΡ˜Π°Ρ‚ΠΈΡ˜Π° Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° Π²Π΅Π±)Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ Дистрибуирана Ρ€Π°Π±ΠΎΡ‚Π½Π° Π³Ρ€ΡƒΠΏΠ° Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅.

WBEM Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° Π²Ρ€Π²ΠΎΡ‚ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ HTTP. ΠŸΡ€Π΅ΠΊΡƒ WBEM, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π΅ само со систСми Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅, Ρ‚ΡƒΠΊΡƒ ΠΈ со HBA, ΠΏΡ€Π΅ΠΊΠΈΠ½ΡƒΠ²Π°Ρ‡ΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ со касСти.

Π‘ΠΏΠΎΡ€Π΅Π΄ АрхитСктура Π½Π° Π”ΠŸΠ˜ ΠΈ ΠžΠ΄Ρ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° инфраструктурата, Π³Π»Π°Π²Π½Π°Ρ‚Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° 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 класа Π²Ρ€Π°ΡœΠ° листа Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ CIMIinstance().

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

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, Π·Π° Π΄Π° Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Volumes - Класа IBMTSSVC_StorageVolume, Π·Π° Π΄Π° Π³ΠΈ Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π½Π° Π½ΠΈΠ·Π°Ρ‚Π° - Класа IBMTSSVC_Array, Π·Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅ΠΌΠ΅ -MDisksVC_MTV, ΠΈΡ‚Π½.

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚Π΅ Π·Π° пСрформанситС Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈ Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌΠΈ Π½Π° Π°Π³Π΅Π½Ρ‚ΠΎΡ‚ Common Information Model (ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ - Π‘Π»ΠΎΠΊΠΈΡ€Π°Ρ˜ Π³ΠΎ ΠΏΠΎΡ‚ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΎΡ‚ Π·Π° ΠΈΠ·Π²Π΅Π΄Π±Π° Π½Π° сСрвСрот) ΠΈ IBM System Storage SAN ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Ρ€ Π·Π° Ρ˜Π°Ρ‡ΠΈΠ½Π° Π½Π° Π·Π²ΡƒΠΊ ΠΈ Storwize V7000 Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΈ упатства Π·Π° ΠΈΠ·Π²Π΅Π΄Π±Π° (ΠŸΡ€ΠΈΠΌΠ΅Ρ€ C-11, страница 415).

Π—Π° Π΄Π° Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ статистика Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π·Π° Volumes, Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π½Π°Π²Π΅Π΄Π΅Ρ‚Π΅ 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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€