Zabbix เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ IBM Storwize เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจเจพ

เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ IBM Storwize เจธเจŸเฉ‹เจฐเฉ‡เจœ เจธเจฟเจธเจŸเจฎ เจ…เจคเฉ‡ CIM/WBEM เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจนเฉ‹เจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจฅเฉ‹เฉœเฉ€ เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเฉ‚เฉฐ เจธเจฎเฉ€เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจฐเฉฑเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ; เจ…เจธเฉ€เจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจตเฉˆ-เจธเจฟเจงเฉ‡เจค เจธเจฎเจเจพเจ‚เจ—เฉ‡เฅค เจ…เจธเฉ€เจ‚ เจœเจผเฉˆเจฌเจฟเจ•เจธ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจจเจฟเจ—เจฐเจพเจจเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ เจตเจœเฉ‹เจ‚ เจตเจฐเจคเจพเจ‚เจ—เฉ‡เฅค

เจœเจผเฉˆเจฌเจฟเจ•เจธ เจฆเฉ‡ เจจเจตเฉ€เจจเจคเจฎ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจตเจฟเฉฑเจš, เจ•เฉฐเจชเจจเฉ€ เจจเฉ‡ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจพเจ‚ 'เจคเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ - เจ†เจˆเจชเฉ€เจเจฎเจ†เจˆ เจฆเฉเจ†เจฐเจพ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจธเฉ‡เจตเจพเจตเจพเจ‚, เจกเฉ€เจฌเฉ€เจเจฎเจเจธ, เจธเจฐเจตเจฐ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ (เจ†เจˆเจเจฎเจเจฎ/เจ†เจˆเจฌเฉ€เจเจฎเจธเฉ€) เจฒเจˆ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจฃ เจฒเฉฑเจ—เฉ‡เฅค เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจธเจฟเจธเจŸเจฎ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ…เจœเฉ‡ เจตเฉ€ เจฌเจพเจ•เจธ เจฆเฉ‡ เจฌเจพเจนเจฐ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจœเจผเฉˆเจฌเจฟเจ•เจธ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸเจธ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจ…เจคเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจธเจŸเจฎ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจฎเฉˆเจ‚ เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเจฎเฉ‚เจจเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฒเจฟเจ†เจ‰เจ‚เจฆเจพ เจนเจพเจ‚เฅค

เจชเจนเจฟเจฒเฉ€, เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจœเจฟเจนเจพ เจฅเจฟเจŠเจฐเฉ€.

IBM Storwize เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจ…เจคเฉ‡ เจ…เฉฐเจ•เฉœเจฟเจ†เจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจ‡เจน เจตเจฐเจค เจธเจ•เจฆเฉ‡ เจนเฉ‹:

  1. CIM/WBEM เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ;
  2. เจฐเฉˆเจธเจŸเจฟเจซ API (เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจธเฉฐเจธเจ•เจฐเจฃ 8.1.3 เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจตเจพเจฒเฉ‡ IBM เจธเจŸเฉ‹เจฐเจตเจพเจˆเจœเจผ เจตเจฟเฉฑเจš เจธเจฎเจฐเจฅเจฟเจค);
  3. SNMP เจŸเฉเจฐเฉˆเจชเจธ (เจซเจพเจนเจพเจ‚ เจฆเจพ เจธเฉ€เจฎเจค เจธเจฎเฉ‚เจน, เจ•เฉ‹เจˆ เจ…เฉฐเจ•เฉœเฉ‡ เจจเจนเฉ€เจ‚);
  4. SSH เจฐเจพเจนเฉ€เจ‚ เจ…เจคเฉ‡ เจซเจฟเจฐ เจฐเจฟเจฎเฉ‹เจŸ เจฐเจพเจนเฉ€เจ‚ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเฉ‹ เจ†เจฐเจพเจฎ เจจเจพเจฒ เจฌเฉˆเจธเจผ เจธเจ•เฉเจฐเจฟเจชเจŸเจฟเฉฐเจ— เจฒเจˆ เจขเฉเจ•เจตเจพเจ‚.

เจ‰เจน เจฆเจฟเจฒเจšเจธเจชเฉ€ เจฐเฉฑเจ–เจฃ เจตเจพเจฒเฉ‡ เจตเจฟเจ•เจฐเฉ‡เจคเจพ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจญเจพเจ—เจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ-เจจเจพเจฒ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจจเจฟเจ—เจฐเจพเจจเฉ€ เจตเจฟเจงเฉ€เจ†เจ‚ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจœเจพเจฃ เจธเจ•เจฆเฉ‡ เจนเจจเฅค IBM เจธเจชเฉˆเจ•เจŸเฉเจฐเจฎ เจตเจฐเจšเฉเจ…เจฒเจพเจˆเจœเจผ เจธเจ•เฉเจฐเจฟเจชเจŸเจฟเฉฐเจ—.

เจ…เจธเฉ€เจ‚ CIM/WBEM เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจœเฉ‹ เจธเจพเจจเฉ‚เฉฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจŸเฉ‹เจฐเฉ‡เจœ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจฒเจˆ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจธเจฟเจธเจŸเจฎ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจเฅค CIM/WBEM เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจฎเฉˆเจจเฉ‡เจœเจฎเฉˆเจ‚เจŸ เจ‡เจจเฉ€เจธเจผเฉ€เจเจŸเจฟเจต เจธเจชเฉˆเจธเฉ€เจซเจฟเจ•เฉ‡เจธเจผเจจ (SMI-S). เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจฎเฉˆเจจเฉ‡เจœเจฎเฉˆเจ‚เจŸ เจ‡เจจเฉ€เจธเจผเฉ€เจเจŸเจฟเจต - เจจเจฟเจฐเจงเจพเจฐเจจ เจ–เฉเฉฑเจฒเฉ‡ เจฎเจฟเจ†เจฐเจพเจ‚ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆ CIM (เจ†เจฎ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฎเจพเจกเจฒ) ะธ WBEM (เจตเฉˆเฉฑเจฌ-เจ…เจงเจพเจฐเจฟเจค เจเจ‚เจŸเจฐเจชเฉเจฐเจพเจˆเจœเจผ เจฎเฉˆเจจเฉ‡เจœเจฎเฉˆเจ‚เจŸ), เจจเจฟเจฐเจงเจพเจฐเจฟเจค เจตเฉฐเจกเจฟเจ† เจชเฉเจฐเจฌเฉฐเจงเจจ เจŸเจพเจธเจ• เจซเฉ‹เจฐเจธ.

WBEM HTTP เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจšเฉฑเจฒเจฆเจพ เจนเฉˆเฅค เจกเจฌเจฒเจฏเฉ‚.เจฌเฉ€.เจˆ.เจเจฎ. เจฐเจพเจนเฉ€เจ‚ เจคเฉเจธเฉ€เจ‚ เจจเจพ เจธเจฟเจฐเจซเจผ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจจเจพเจฒ, เจธเจ—เฉ‹เจ‚ HBAs, เจธเจตเจฟเฉฑเจšเจพเจ‚ เจ…เจคเฉ‡ เจŸเฉ‡เจช เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจจเจพเจฒ เจตเฉ€ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ SMI เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ ะธ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเจพ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเฉ‹, SMI เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจฎเฉเฉฑเจ– เจนเจฟเฉฑเจธเจพ WBEM เจธเจฐเจตเจฐ เจนเฉˆ, เจœเฉ‹ WBEM เจ•เจฒเจพเจ‡เฉฐเจŸเจธ เจคเฉ‹เจ‚ CIM-XML เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจฆเจพ เจนเฉˆ (เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจจเจฟเจ—เจฐเจพเจจเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจคเฉ‹เจ‚):

Zabbix เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ IBM Storwize เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจเจพ

เจธเฉ€เจ†เจˆเจเจฎ เจฏเฉ‚เจจเฉ€เจซเจพเจˆเจก เจฎเจพเจกเจฒเจฟเฉฐเจ— เจฒเฉˆเจ‚เจ—เฉ‚เจเจœ (เจฏเฉ‚เจเจฎเจเจฒ) 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจ‡เจ• เจ†เจฌเจœเฉˆเจ•เจŸ-เจ…เจงเจพเจฐเจฟเจค เจฎเจพเจกเจฒ เจนเฉˆเฅค
เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจเจฒเฉ€เจฎเฉˆเจ‚เจŸเจธ เจจเฉ‚เฉฐ CIM เจ•เจฒเจพเจธเจพเจ‚ เจตเจœเฉ‹เจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเจฟเจจเฉเจนเจพเจ‚ เจ•เฉ‹เจฒ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจกเฉ‡เจŸเจพ เจ…เจคเฉ‡ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจฃ เจฒเจˆ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจตเจฟเจงเฉ€เจ†เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ www.snia.org/pywbem, CIM/WBEM เจฆเฉเจ†เจฐเจพ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ PyWBEM เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ - เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ€ เจ‡เฉฑเจ• เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€, เจœเฉ‹ เจ•เจฟ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจ…เจคเฉ‡ เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจ•เจพเจ‚ เจจเฉ‚เฉฐ CIM เจ†เจฌเจœเฉˆเจ•เจŸ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‡เฉฑเจ• WBEM เจธเจฐเจตเจฐ เจจเจพเจฒ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจ•เจฐเจจ เจฒเจˆ CIM เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค SMI-S เจœเจพเจ‚ เจนเฉ‹เจฐ CIM เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐเฅค

WBEM เจธเจฐเจตเจฐ เจจเจพเจฒ เจœเฉเฉœเจจ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจ•เจฒเจพเจธ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ WBEM เจ•เจจเฉˆเจ•เจธเจผเจจ:

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

เจ‡เจน เจ‡เฉฑเจ• เจตเจฐเจšเฉเจ…เจฒ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ CIM-XML/WBEM HTTP เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจšเฉฑเจฒเจฆเจพ เจนเฉˆ, เจ…เจธเจฒ เจ•เจจเฉˆเจ•เจธเจผเจจ เจ‰เจฆเฉ‹เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ WBEMConnection เจ•เจฒเจพเจธ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจฃ 'เจคเฉ‡ เจขเฉฐเจ—เจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค IBM เจธเจฟเจธเจŸเจฎ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ SAN เจตเจพเจฒเฉ€เจ…เจฎ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจ…เจคเฉ‡ Storwize V7000 เจธเจฐเจตเฉ‹เจคเจฎ เจ…เจญเจฟเจ†เจธเจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฆเจฟเจธเจผเจพ-เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจจ C-8, เจชเฉฐเจจเจพ 412) เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจ…เจธเฉ€เจ‚ IBM เจธเจŸเฉ‹เจฐเจตเจพเจˆเจœเจผ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจธเจฟเจธเจŸเจฎ เจฒเจˆ CIM เจจเจพเจฎ-เจธเจฅเจพเจจ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ โ€œroot/ibmโ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค

เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ 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 เจธเจฟเจธเจŸเจฎ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ SAN เจตเจพเจฒเฉ€เจ…เจฎ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจ…เจคเฉ‡ เจธเจŸเฉ‹เจฐเจตเจพเจˆเจœเจผ 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)

เจธเจŸเฉ‹เจฐเฉ‡เจœ เจธเจฟเจธเจŸเจฎ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ—เจฃเจจเจพ เจ•เจฐเฉ‹() เจ•เจฒเจพเจธ WBEMConnection, เจ‰เจฆเจพเจนเจฐเจจเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจตเจพเจชเจธ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ 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 เจ•เจฟเจŠเจฐเฉ€ เจฒเฉˆเจ‚เจ—เฉ‚เจเจœ (DMTF:CQL) เจœเจพเจ‚ WBEM เจ•เจฟเจŠเจฐเฉ€ เจฒเฉˆเจ‚เจ—เฉ‚เจเจœ (WQL) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจผเจพเจฎเจฒ เจนเฉˆ:

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

เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฟเจนเฉœเฉ€เจ†เจ‚ เจ•เจฒเจพเจธเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจชเฉœเฉเจนเฉ‹ เจ•เจฟเจตเฉ‡เจ‚ เจธเจฟเจธเจŸเจฎ เจธเฉฐเจ•เจฒเจชเจพเจ‚ เจจเฉ‚เฉฐ CIM เจธเฉฐเจ•เจฒเจชเจพเจ‚ เจฆเจพ เจจเจ•เจธเจผเจพ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ.

เจ‡เจธ เจฒเจˆ M.Disks เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ (เจกเจฟเจธเจ• เจกเจฐเจพเจ‡เจต) - เจ•เจฒเจพเจธ IBMTSVSvc_AckNe_AckNe_AckNeAckEdV_AckNeAckEdV_AckLuMe, เจ†เจฆเจฟ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ, เจญเจพเจ—เจพเจ‚ เจฆเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ - เจ•เจฒเจพเจธ IBMtsvc_Array เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ,

เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฒเจˆ เจคเฉเจธเฉ€เจ‚ เจชเฉœเฉเจน เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ†เจฎ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฎเจพเจกเจฒ เจเจœเฉฐเจŸ เจฆเฉ‡ เจ•เจพเจฐเจœเจพเจคเจฎเจ• เจšเจฟเฉฑเจคเจฐ (เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ - เจธเจฐเจตเจฐ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ‰เจช-เจชเฉเจฐเฉ‹เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจฌเจฒเจพเจ• เจ•เจฐเฉ‹) เจ…เจคเฉ‡ IBM เจธเจฟเจธเจŸเจฎ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ SAN เจตเจพเจฒเฉ€เจ…เจฎ เจ•เฉฐเจŸเจฐเฉ‹เจฒเจฐ เจ…เจคเฉ‡ Storwize V7000 เจตเจงเฉ€เจ† เจ…เจญเจฟเจ†เจธ เจ…เจคเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฆเจฟเจธเจผเจพ-เจจเจฟเจฐเจฆเฉ‡เจธเจผ (เจ‰เจฆเจพเจนเจฐเจจ C-11, เจชเฉฐเจจเจพ 415)เฅค

เจตเฉŒเจฒเจฏเฉ‚เจฎ เจฒเจˆ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ…เฉฐเจ•เฉœเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ IBMTSSVC_StorageVolumeStatistics เจจเฉ‚เฉฐ ClassName เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจตเจœเฉ‹เจ‚ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ…เฉฐเจ•เฉœเฉ‡ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฐเฉ‚เจฐเฉ€ IBMTSSVC_StorageVolumeStatistics เจ•เจฒเจพเจธ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจ‡เจธ เจตเจฟเฉฑเจš เจตเฉ‡เจ–เฉ€เจ†เจ‚ เจœเจพ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ เจจเฉ‹เจก เจ…เฉฐเจ•เฉœเฉ‡.

เจจเจพเจฒ เจนเฉ€, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฆเฉ‡ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจฒเจˆ เจคเฉเจธเฉ€เจ‚ IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics เจตเจฐเจ—เจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจจเจฟเจ—เจฐเจพเจจเฉ€ เจชเฉเจฐเจฃเจพเจฒเฉ€ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจฐเจฟเจ•เจพเจฐเจก เจ•เจฐเจจ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡ zabbix เจœเจพเจฒ, เจ‡เฉฑเจ• เจฎเฉ‹เจกเฉ€เจŠเจฒ เจตเจฟเฉฑเจš python เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ py-zabbix. เจ…เจธเฉ€เจ‚ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจธเจฟเจธเจŸเจฎ เจ•เจฒเจพเจธเจพเจ‚ เจฆเฉ€ เจฌเจฃเจคเจฐ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ JSON เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจผเจฌเจฆเจ•เฉ‹เจธเจผ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจพเจ‚เจ—เฉ‡เฅค

เจ…เจธเฉ€เจ‚ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจจเฉ‚เฉฐ เจœเจผเฉˆเจฌเจฟเจ•เจธ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจ…เจชเจฒเฉ‹เจก เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจธเจฐเจตเจฐ เจ•เฉ‹เจฒ WEB เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ (TCP/5989) เจฆเฉเจ†เจฐเจพ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจธเจฟเจธเจŸเจฎ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจนเฉˆ, เจ…เจคเฉ‡ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจซเจพเจˆเจฒเจพเจ‚, เจ–เฉ‹เจœ เจ…เจคเฉ‡ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉฑเจ–เฉ‹เฅค เจ…เฉฑเจ—เฉ‡, เจธเจผเจกเจฟเจŠเจฒเจฐ เจตเจฟเฉฑเจš เจธเจ•เฉเจฐเจฟเจชเจŸ เจฒเจพเจ‚เจš เจธเจผเจพเจฎเจฒ เจ•เจฐเฉ‹เฅค เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚: เจ…เจธเฉ€เจ‚ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ†เจฌเจœเฉˆเจ•เจŸ (เจเจฐเฉ‡, เจญเฉŒเจคเจฟเจ• เจ…เจคเฉ‡ เจตเจฐเจšเฉเจ…เจฒ เจกเจฟเจธเจ•, เจเจจเจ•เจฒเฉ‹เจœเจผเจฐ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจ) เจ–เฉ‹เจœเจฆเฉ‡ เจนเจพเจ‚, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจœเจผเฉˆเจฌเจฟเจ•เจธ เจ–เฉ‹เจœเจพเจ‚ เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจฎเจพเจชเจฆเฉฐเจกเจพเจ‚ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจชเฉœเฉเจนเจฆเฉ‡ เจนเจพเจ‚, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฆเฉ‡ เจ…เฉฐเจ•เฉœเฉ‡ (เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ•เจพเจŠเจ‚เจŸเจฐ) เจชเฉœเฉเจนเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจน เจธเจญ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจœเจผเฉˆเจฌเจฟเจ•เจธ เจตเจฟเฉฑเจš เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจธเจพเจกเฉ‡ เจŸเฉˆเจฎเจชเจฒเฉ‡เจŸ เจฆเฉ€เจ†เจ‚ เจ†เจˆเจŸเจฎเจพเจ‚เฅค

เจœเจผเฉˆเจฌเจฟเจ•เจธ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ, เจชเจพเจˆเจฅเจจ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚, เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ•เจฒเจพเจธเจพเจ‚ เจฆเฉ€ เจฌเจฃเจคเจฐ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจจเจพเจฒ เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚, เจคเฉเจธเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ‡เฉฑเจฅเฉ‡ เจฒเฉฑเจญเฉ‹.

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹