Zabbix๋กœ IBM Storwize ์Šคํ† ๋ฆฌ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง

์ด ๊ธฐ์‚ฌ์—์„œ๋Š” IBM Storwize ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ ๋ฐ CIM/WBEM ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ๊ธฐํƒ€ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์กฐ๊ธˆ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง์˜ ํ•„์š”์„ฑ์€ ๋Œ€๊ด„ํ˜ธ์—์„œ ์ œ์™ธ๋˜๋ฉฐ ์ด๋ฅผ ๊ณต๋ฆฌ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค. Zabbix๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Zabbix์˜ ์ตœ์‹  ๋ฒ„์ „์—์„œ ํšŒ์‚ฌ๋Š” ํ…œํ”Œ๋ฆฟ์— ํ›จ์”ฌ ๋” ๋งŽ์€ ๊ด€์‹ฌ์„ ๊ธฐ์šธ์ด๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ…œํ”Œ๋ฆฟ์€ IPMI๋ฅผ ํ†ตํ•ด ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋น„์Šค, DBMS, ์„œ๋ฒ„ ํ•˜๋“œ์›จ์–ด(IMM / iBMC)์— ๋‚˜ํƒ€๋‚˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์Šคํ† ๋ฆฌ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง์€ ์•„์ง ๊ธฐ๋ณธ ์ œ๊ณต๋˜๋ฏ€๋กœ ์Šคํ† ๋ฆฌ์ง€ ๊ตฌ์„ฑ ์š”์†Œ์˜ ์ƒํƒœ ๋ฐ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ Zabbix์— ํ†ตํ•ฉํ•˜๋ ค๋ฉด ์‚ฌ์šฉ์ž ์ •์˜ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ…œํ”Œ๋ฆฟ ์ค‘ ํ•˜๋‚˜๋ฅผ ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ฒซ์งธ, ์•ฝ๊ฐ„์˜ ์ด๋ก .

IBM Storwize ์Šคํ† ๋ฆฌ์ง€์˜ ์ƒํƒœ ๋ฐ ํ†ต๊ณ„์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. CIM/WBEM ํ”„๋กœํ† ์ฝœ;
  2. RESTful API (์†Œํ”„ํŠธ์›จ์–ด ๋ฒ„์ „ 8.1.3๋ถ€ํ„ฐ โ€‹โ€‹IBM Storwize์—์„œ ์ง€์›๋จ)
  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 ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

Zabbix๋กœ IBM Storwize ์Šคํ† ๋ฆฌ์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง

CIM์€ UML(Unified Modeling Language)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.
๊ด€๋ฆฌ ํ•ญ๋ชฉ์€ ๊ด€๋ฆฌ ๋ฐ์ดํ„ฐ ๋ฐ ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์†์„ฑ ๋ฐ ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋Š” CIM ํด๋ž˜์Šค๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค.

์— ๋”ฐ๋ฅด๋ฉด www.snia.org/pywbem, CIM/WBEM์„ ํ†ตํ•ด ์Šคํ† ๋ฆฌ์ง€์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด Python์œผ๋กœ ์ž‘์„ฑ๋œ ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ PyWBEM์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์ž์™€ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž์—๊ฒŒ CIM ํ”„๋กœํ† ์ฝœ ๊ตฌํ˜„์„ ์ œ๊ณตํ•˜์—ฌ CIM ๊ฐ์ฒด์— ์•ก์„ธ์Šคํ•˜๊ณ  SMI์— ๋”ฐ๋ผ ์ž‘๋™ํ•˜๋Š” WBEM ์„œ๋ฒ„๋กœ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -S ๋˜๋Š” ๊ธฐํƒ€ CIM ์‚ฌ์–‘.

WBEM ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ํด๋ž˜์Šค ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. WBEM์—ฐ๊ฒฐ:

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"์„ IBM Storwize ์Šคํ† ๋ฆฌ์ง€์šฉ CIM ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

CIM-XML/WBEM ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ์ˆ˜์ง‘ํ•˜๋ ค๋ฉด ์‚ฌ์šฉ์ž๋ฅผ ์ ์ ˆํ•œ ๋ณด์•ˆ ๊ทธ๋ฃน์— ํฌํ•จ์‹œ์ผœ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด WBEM ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค ์†์„ฑ์˜ ์ถœ๋ ฅ์ด ๋น„์–ด ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค..

์Šคํ† ๋ฆฌ์ง€ ํ†ต๊ณ„์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ์ƒ์„ฑ์ž๊ฐ€ ํ˜ธ์ถœ๋˜๋Š” ์‚ฌ์šฉ์ž WBEM์—ฐ๊ฒฐ(), ์ ์–ด๋„ RestrictedAdmin(code_level > 7.8.0์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ) ๋˜๋Š” Administrator(๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ๊ถŒ์žฅ๋˜์ง€ ์•Š์Œ)๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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)

์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ ๋งค๊ฐœ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ์–ป์œผ๋ ค๋ฉด ๋ฐฉ๋ฒ• ์ธ์Šคํ„ด์Šค ์—ด๊ฑฐ() ์ธ์Šคํ„ด์Šค ๋ชฉ๋ก์„ ๋ฐ˜ํ™˜ํ•˜๋Š” WBEMConnection ํด๋ž˜์Šค CIM์ธ์Šคํ„ด์Šค().

์˜ˆ :

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 ์ฟผ๋ฆฌ ์–ธ์–ด(WQL)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CIM ์ €์žฅ์†Œ ๊ฐœ์ฒด๋ฅผ ์ฟผ๋ฆฌํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋ฉ๋‹ˆ๋‹ค.

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

์ €์žฅ์†Œ ๊ฐœ์ฒด์˜ ๋งค๊ฐœ ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ํ•„์š”ํ•œ ํด๋ž˜์Šค๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์˜ˆ๋ฅผ ๋“ค์–ด ์„ค๋ช…์„œ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ๊ฐœ๋…์ด CIM ๊ฐœ๋…์— ๋งคํ•‘๋˜๋Š” ๋ฐฉ์‹.

๋”ฐ๋ผ์„œ ์‹ค์ œ ๋””์Šคํฌ(๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ)์˜ ๋งค๊ฐœ๋ณ€์ˆ˜(์„ฑ๋Šฅ ์นด์šดํ„ฐ๊ฐ€ ์•„๋‹˜)๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ํด๋ž˜์Šค IBMTSSVC_DiskDrive๋ฅผ ์ฟผ๋ฆฌํ•˜์—ฌ ๋ณผ๋ฅจ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์„ฑ๋Šฅ์— ๋Œ€ํ•ด ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Common Information Model ์—์ด์ „ํŠธ์˜ ๊ธฐ๋Šฅ ๋‹ค์ด์–ด๊ทธ๋žจ (๊ตฌ์ฒด์ ์œผ๋กœ - ๋ธ”๋ก ์„œ๋ฒ„ ์„ฑ๋Šฅ ํ•˜์œ„ ํ”„๋กœํ•„) ๋ฐ IBM System Storage SAN ๋ณผ๋ฅจ ์ปจํŠธ๋กค๋Ÿฌ ๋ฐ Storwize V7000 ๋ชจ๋ฒ” ์‚ฌ๋ก€ ๋ฐ ์„ฑ๋Šฅ ์ง€์นจ(์˜ˆ์ œ C-11, 415ํŽ˜์ด์ง€).

๋ณผ๋ฅจ์— ๋Œ€ํ•œ ์Šคํ† ๋ฆฌ์ง€ ํ†ต๊ณ„๋ฅผ ์–ป์œผ๋ ค๋ฉด IBMTSSVC_StorageVolumeStatistics๋ฅผ ClassName ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐ’์œผ๋กœ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ†ต๊ณ„ ์ˆ˜์ง‘์— ํ•„์š”ํ•œ IBMTSSVC_StorageVolumeStatistics ํด๋ž˜์Šค์˜ ํŠน์„ฑ์€ ๋‹ค์Œ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ ํ†ต๊ณ„.

๋˜ํ•œ ์„ฑ๋Šฅ ๋ถ„์„์„ ์œ„ํ•ด IBMTSSVC_BackendVolumeStatistics, IBMTSSVC_DiskDriveStatistics, IBMTSSVC_NodeStatistics ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ธฐ ์œ„ํ•ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž๋น…์Šค ํŠธ๋žฉ, ๋ชจ๋“ˆ์—์„œ ํŒŒ์ด์ฌ์œผ๋กœ ๊ตฌํ˜„ ํŒŒ์ด์ž๋น…์Šค. ์ €์žฅ์†Œ ํด๋ž˜์Šค์˜ ๊ตฌ์กฐ์™€ ํ•ด๋‹น ์†์„ฑ์€ JSON ํ˜•์‹์˜ ์‚ฌ์ „์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค.

ํ…œํ”Œ๋ฆฟ์„ Zabbix ์„œ๋ฒ„์— ์—…๋กœ๋“œํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„๊ฐ€ WEB ํ”„๋กœํ† ์ฝœ(TCP/5989)์„ ํ†ตํ•ด ์ €์žฅ์†Œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„์— ๊ตฌ์„ฑ ํŒŒ์ผ, ํƒ์ง€ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ์Šค์ผ€์ค„๋Ÿฌ์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด(์–ด๋ ˆ์ด, ๋ฌผ๋ฆฌ์  ๋””์Šคํฌ ๋ฐ ๊ฐ€์ƒ ๋””์Šคํฌ, ์ธํด๋กœ์ € ๋“ฑ)๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์ด๋ฅผ Zabbix ๊ฒ€์ƒ‰์œผ๋กœ ์ „๋‹ฌํ•˜๊ณ  ํŒŒ๋ผ๋ฏธํ„ฐ ์ƒํƒœ๋ฅผ ์ฝ๊ณ  ์„ฑ๋Šฅ ํ†ต๊ณ„(์„ฑ๋Šฅ ์นด์šดํ„ฐ)๋ฅผ ์ฝ๊ณ  ์ด ๋ชจ๋“  ๊ฒƒ์„ ํ•ด๋‹นํ•˜๋Š” ์šฐ๋ฆฌ ํ…œํ”Œ๋ฆฟ์˜ Zabbix ํ•ญ๋ชฉ.

Zabbix ํ…œํ”Œ๋ฆฟ, Python ์Šคํฌ๋ฆฝํŠธ, ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค์˜ ๊ตฌ์กฐ ๋ฐ ํ•ด๋‹น ์†์„ฑ, ๊ตฌ์„ฑ ํŒŒ์ผ์˜ ์˜ˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ฐพ์œผ์‹ญ์‹œ์˜ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€