Satellite 6.5์˜ ๋ณด๊ณ  ์—”์ง„: ์ •์˜ ๋ฐ ์ด์œ 

Red Hat Satellite๋Š” ๋ฌผ๋ฆฌ์ , ๊ฐ€์ƒ, ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ์ „๋ฐ˜์— ๊ฑธ์ณ Red Hat ์ธํ”„๋ผ๋ฅผ ์‰ฝ๊ฒŒ ๋ฐฐํฌ, ํ™•์žฅ, ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์‹œ์Šคํ…œ ๊ด€๋ฆฌ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. Satellite๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๊ณ  ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋‹ค์–‘ํ•œ ํ‘œ์ค€์— ๋”ฐ๋ผ ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์ƒํƒœ ์œ ์ง€์™€ ๊ด€๋ จ๋œ ๋Œ€๋ถ€๋ถ„์˜ ์ž‘์—…์„ ์ž๋™ํ™”ํ•จ์œผ๋กœ์จ Satellite๋Š” ์กฐ์ง์ด ํšจ์œจ์„ฑ์„ ๋†’์ด๊ณ  ์šด์˜ ๋น„์šฉ์„ ์ ˆ๊ฐํ•˜๋ฉฐ ์ „๋žต์  ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ์— ๋” ์ž˜ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค.

Satellite 6.5์˜ ๋ณด๊ณ  ์—”์ง„: ์ •์˜ ๋ฐ ์ด์œ 

Red Hat Enterprise Linux ์„œ๋ธŒ์Šคํฌ๋ฆฝ์…˜์— ํฌํ•จ๋œ Red Hat ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ ๊ด€๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์‹œ์— Red Hat Satellite์—๋Š” ๊ด‘๋ฒ”์œ„ํ•œ ๋ผ์ดํ”„์‚ฌ์ดํด ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐ€๋Šฅ์„ฑ ์ค‘:

  • ํŒจ์น˜ ์„ค์น˜
  • ๊ตฌ๋… ๊ด€๋ฆฌ;
  • ์ดˆ๊ธฐํ™”;
  • ๊ตฌ์„ฑ ๊ด€๋ฆฌ.

ํ•˜๋‚˜์˜ ์ฝ˜์†”์—์„œ ์ˆ˜์ฒœ ๊ฐœ์˜ ์‹œ์Šคํ…œ์„ ํ•˜๋‚˜์ฒ˜๋Ÿผ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด ๊ฐ€์šฉ์„ฑ, ์•ˆ์ •์„ฑ ๋ฐ ์‹œ์Šคํ…œ ๊ฐ์‚ฌ ๊ธฐ๋Šฅ์ด ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

์ด์ œ ์ƒˆ๋กœ์šด Red Hat Satellite 6.5๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!

Red Hat Satellite 6.5์˜ ๋ฉ‹์ง„ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋Š” ์ƒˆ๋กœ์šด ๋ณด๊ณ  ์—”์ง„์ž…๋‹ˆ๋‹ค.

Satellite Server๋Š” Red Hat ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์‹œ์Šคํ…œ์— ๊ด€ํ•œ ๋ชจ๋“  ์ •๋ณด์˜ ํ—ˆ๋ธŒ์ธ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฉฐ, ์ด ์ตœ์‹  ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ Satellite ํ˜ธ์ŠคํŠธ, ์†Œํ”„ํŠธ์›จ์–ด ์„œ๋ธŒ์Šคํฌ๋ฆฝ์…˜, ํ•ด๋‹น ์—๋ผํƒ€ ๋“ฑ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ๋Š” ERB(Embedded Ruby)๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ๋ฉ๋‹ˆ๋‹ค.

Satellite 6.5๋Š” ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ๋ณด๊ณ ์„œ์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋ฉฐ, ์—”์ง„์€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ด๋Ÿฌํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ํ•˜๊ฑฐ๋‚˜ ์ง์ ‘ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Satellite 6.5์˜ ๋‚ด์žฅ ๋ณด๊ณ ์„œ๋Š” CSV ํ˜•์‹์œผ๋กœ ์ƒ์„ฑ๋˜์ง€๋งŒ, ์ด ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” HTML ํ˜•์‹์œผ๋กœ๋„ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

Satellite 6.5 ๋‚ด์žฅ ๋ณด๊ณ ์„œ

Satellite 6.5์—๋Š” XNUMX๊ฐœ์˜ ๊ธฐ๋ณธ ๋ณด๊ณ ์„œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:

  • ํ•ด๋‹น ์ •์˜คํ‘œ โ€“ ์ฝ˜ํ…์ธ  ํ˜ธ์ŠคํŠธ์—์„œ ์ œ๊ฑฐํ•ด์•ผ ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฒฐํ•จ(์ •์˜คํ‘œ) ๋ชฉ๋ก(์„ ํƒ์ ์œผ๋กœ ํ˜ธ์ŠคํŠธ ๋˜๋Š” ๊ฒฐํ•จ์œผ๋กœ ํ•„ํ„ฐ๋ง)
  • ํ˜ธ์ŠคํŠธ ์ƒํƒœ โ€“ Satellite ํ˜ธ์ŠคํŠธ์˜ ์ƒํƒœ์— ๋Œ€ํ•ด ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค(์„ ํƒ์ ์œผ๋กœ ํ˜ธ์ŠคํŠธ๋ณ„๋กœ ํ•„ํ„ฐ๋ง๋จ).
  • ๋“ฑ๋ก๋œ ํ˜ธ์ŠคํŠธ โ€“ Satellite ํ˜ธ์ŠคํŠธ์— ๊ด€ํ•œ ์ •๋ณด: IP ์ฃผ์†Œ, OS ๋ฒ„์ „, ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ๋…(์„ ํƒ์ ์œผ๋กœ ํ˜ธ์ŠคํŠธ๋ณ„๋กœ ํ•„ํ„ฐ๋ง)
  • ๊ตฌ๋… โ€“ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ๋…์— ๊ด€ํ•œ ์ •๋ณด: ์ด ๊ตฌ๋… ์ˆ˜, ๋ฌด๋ฃŒ ๊ตฌ๋… ์ˆ˜, SKU ์ฝ”๋“œ(์„ ํƒ์ ์œผ๋กœ ๊ตฌ๋… ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ•„ํ„ฐ๋ง).

๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋ฉ”๋‰ด๋ฅผ ์—ฌ์„ธ์š”. ๋ชจ๋‹ˆํ„ฐ, ๊ณ ๋ฅด๋‹ค ๋ณด๊ณ ์„œ ํ…œํ”Œ๋ฆฟ ์›ํ•˜๋Š” ๋ณด๊ณ ์„œ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ์ƒ์„ฑ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š”. ๋ณด๊ณ ์„œ์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๋ ค๋ฉด ํ•„ํ„ฐ ํ•„๋“œ๋ฅผ ๋น„์›Œ ๋‘๊ฑฐ๋‚˜, ๊ฒฐ๊ณผ๋ฅผ ์ œํ•œํ•˜๋ ค๋ฉด ์—ฌ๊ธฐ์— ๋‚ด์šฉ์„ ์ž…๋ ฅํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด ๋“ฑ๋ก๋œ ํ˜ธ์ŠคํŠธ ๋ณด๊ณ ์„œ์— RHEL 8 ํ˜ธ์ŠคํŠธ๋งŒ ํ‘œ์‹œํ•˜๋ ค๋ฉด ํ•„ํ„ฐ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. os = RedHat ๋ฐ os_major = 8, ์•„๋ž˜ ์Šคํฌ๋ฆฐ์ƒท๊ณผ ๊ฐ™์ด:

Satellite 6.5์˜ ๋ณด๊ณ  ์—”์ง„: ์ •์˜ ๋ฐ ์ด์œ 

๋ณด๊ณ ์„œ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ์ด๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ LibreOffice Calc์™€ ๊ฐ™์€ ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์—์„œ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด CSV์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๋ณด๊ณ ์„œ ๋“ฑ์˜ ์—ด๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ์ •์˜คํ‘œ ์•„๋ž˜ ํ™”๋ฉด์—์„œ:

Satellite 6.5์˜ ๋ณด๊ณ  ์—”์ง„: ์ •์˜ ๋ฐ ์ด์œ 

๋‚ด์žฅ ๋ณด๊ณ ์„œ ์†์„ฑ์—์„œ ํ•ด๋‹น ์˜ต์…˜์ด ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ (๊ธฐ๋ณธ๊ฐ’), Satellite์—์„œ ์ƒ์„ฑํ•˜๋Š” ๋ชจ๋“  ์ƒˆ ์กฐ์ง ๋ฐ ์œ„์น˜์— ์ž๋™์œผ๋กœ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.

๋‚ด์žฅ ๋ณด๊ณ ์„œ ์‚ฌ์šฉ์ž ์ •์˜

๋‚ด์žฅ๋œ ๋ณด๊ณ ์„œ์˜ ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •์˜๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ตฌ๋…. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด ๋ณด๊ณ ์„œ์—๋Š” ์ด ๊ตฌ๋… ์ˆ˜(1)์™€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฆ‰, ๋ฌด๋ฃŒ ๊ตฌ๋… ์ˆ˜(2)๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— (1) โ€“ (2)๋กœ ์ •์˜๋œ ์‚ฌ์šฉ๋œ ๊ตฌ๋… ์ˆ˜๋ฅผ ํฌํ•จํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์—ด์„ ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด 50๊ฐœ์˜ RHEL ๊ตฌ๋…์ด ์žˆ๊ณ  ๊ทธ ์ค‘ 10๊ฐœ๊ฐ€ ๋ฌด๋ฃŒ์ธ ๊ฒฝ์šฐ 40๊ฐœ์˜ ๊ตฌ๋…์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์ œ๊ณต ๋ณด๊ณ ์„œ ํŽธ์ง‘์€ ์ž ๊ฒจ ์žˆ์œผ๋ฏ€๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ธฐ๋ณธ ์ œ๊ณต ๋ณด๊ณ ์„œ๋ฅผ ๋ณต์ œํ•˜๊ณ  ์ƒˆ ์ด๋ฆ„์„ ์ง€์ •ํ•œ ๋‹ค์Œ ์ด ๋ณต์ œ ๋ณต์‚ฌ๋ณธ์„ ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋ณด๊ณ ์„œ๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๋ฉด ๊ตฌ๋…, ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋จผ์ € ๋ณต์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ๋ฉ”๋‰ด๋ฅผ ์—ด์–ด๋ณผ๊นŒ์š”? ๋ชจ๋‹ˆํ„ฐ์„ ํƒ ๋ณด๊ณ ์„œ ํ…œํ”Œ๋ฆฟ ํ…œํ”Œ๋ฆฟ ์˜ค๋ฅธ์ชฝ์˜ ๋“œ๋กญ๋‹ค์šด ๋ฉ”๋‰ด์—์„œ ๊ตฌ๋… ์„ ํƒ ๋ณต์ œ. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ณต์ œ ๋ณด๊ณ ์„œ์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. ๋งž์ถคํ˜• ๊ตฌ๋…) ๊ทธ๋ฆฌ๊ณ  ์ค„ ์‚ฌ์ด ์œ ํšจํ•œ ะธ ์ˆ˜๋Ÿ‰ ๊ทธ๊ฒƒ์— ์ค„์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค '์ค‘๊ณ ': pool.Quantity - pool.available, โ€“ ์ค„ ๋์˜ ์‰ผํ‘œ์— ์ฃผ์˜ํ•˜์„ธ์š”. ์Šคํฌ๋ฆฐ์ƒท์— ๋ณด์ด๋Š” ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Satellite 6.5์˜ ๋ณด๊ณ  ์—”์ง„: ์ •์˜ ๋ฐ ์ด์œ 

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค. ๋ฌธ์˜ํ•˜๊ธฐ๊ทธ๋Ÿฌ๋ฉด ํŽ˜์ด์ง€๋กœ ๋‹ค์‹œ ๋Œ์•„์˜ต๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ ํ…œํ”Œ๋ฆฟ. ๊ฑฐ๊ธฐ์—์„œ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค ์ƒ์„ฑ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋ณด๊ณ ์„œ ์˜ค๋ฅธ์ชฝ ๋งž์ถคํ˜• ๊ตฌ๋…. ๊ตฌ๋… ํ•„ํ„ฐ ํ•„๋“œ๋ฅผ ๋น„์›Œ๋‘๊ณ  ๋‹ค์Œ์„ ํด๋ฆญํ•˜์„ธ์š”. ๋ฌธ์˜ํ•˜๊ธฐ. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ถ”๊ฐ€ํ•œ ์—ด์ด ํฌํ•จ๋œ ๋ณด๊ณ ์„œ๊ฐ€ ์ƒ์„ฑ๋˜๊ณ  ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๋œ.

Satellite 6.5์˜ ๋ณด๊ณ  ์—”์ง„: ์ •์˜ ๋ฐ ์ด์œ 

๋‚ด์žฅ๋œ Ruby ์–ธ์–ด์— ๋Œ€ํ•œ ๋„์›€๋ง์€ ํƒญ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋„์›€๋ง ๋ณด๊ณ ์„œ ํŽธ์ง‘ ์ฐฝ์—์„œ ๊ตฌ๋ฌธ์˜ ๊ฐœ์š”์™€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ณ€์ˆ˜ ๋ฐ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋งŒ์˜ ๋ณด๊ณ ์„œ ๋งŒ๋“ค๊ธฐ

์ด์ œ Satellite์˜ ํ˜ธ์ŠคํŠธ์— ํ• ๋‹น๋œ Ansible ์—ญํ• ์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ ์˜ˆ์ œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž์ฒด ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ฉ”๋‰ด ์—ด๊ธฐ ๋ชจ๋‹ˆํ„ฐ, ํด๋ฆญ ๋ณด๊ณ ์„œ ํ…œํ”Œ๋ฆฟ ๊ทธ๋ฆฌ๊ณ  ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์„ธ์š” ํ…œํ”Œ๋ฆฟ ๋งŒ๋“ค๊ธฐ. ์šฐ๋ฆฌ ๋ณด๊ณ ์„œ๋ฅผ ๋ถ€๋ฅด์ž Ansible ์—ญํ•  ๋ณด๊ณ ์„œ ๋‹ค์Œ ERB ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜์„ธ์š”.

<%#
name: Ansible Roles Report
snippet: false
template_inputs:
- name: hosts
 required: false
 input_type: user
 description: Limit the report only on hosts found by this search query. Keep empty
   for report on all available hosts.
 advanced: false
model: ReportTemplate
-%>
<% load_hosts(search: input('hosts'), includes: :ansible_roles).each_record do |host| -%>
<%   report_row({
       'Name': host.name,
       'All Ansible Roles': host.all_ansible_roles
     }) -%>
<% end -%>
<%= report_render -%>

์ด ์ฝ”๋“œ๋Š” ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ "all_ansible_roles" ์†์„ฑ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ํƒญ์œผ๋กœ ์ด๋™ ์ž…๋ ฅ ๊ทธ๋ฆฌ๊ณ  ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์„ธ์š” + ์ž…๋ ฅ ์ถ”๊ฐ€. ์šฐ๋ฆฌ๋Š” ๊ทธ ์ด๋ฆ„์ด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ๋ฐ ์„ค๋ช… ์œ ํ˜• - ํ˜ธ์ŠคํŠธ๋ณ„๋กœ ํ•„ํ„ฐ๋ง(์„ ํƒ์‚ฌํ•ญ). ๊ทธ๋Ÿฐ ๋‹ค์Œ ํด๋ฆญ ๋ฌธ์˜ํ•˜๊ธฐ ๊ทธ๋ฆฌ๊ณ  ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด์„ธ์š” ์ƒ์„ฑ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋ณด๊ณ ์„œ ์˜ค๋ฅธ์ชฝ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ ํ˜ธ์ŠคํŠธ ํ•„ํ„ฐ๋ฅผ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์ฆ‰์‹œ ๋ฌธ์˜ํ•˜๊ธฐ๋ชจ๋“  ํ˜ธ์ŠคํŠธ์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ๋ณด๊ณ ์„œ๋Š” LibreOffice Calc์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Satellite 6.5์˜ ๋ณด๊ณ  ์—”์ง„: ์ •์˜ ๋ฐ ์ด์œ 

HTML ๋ณด๊ณ ์„œ ์ƒ์„ฑ

Satellite ๋ณด๊ณ  ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋ฉด CSV ํ˜•์‹๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‚ด์žฅ๋œ ํ˜ธ์ŠคํŠธ ๋ณด๊ณ ์„œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž ์ •์˜ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์ƒํƒœ์ด์ง€๋งŒ ์ƒํƒœ์— ๋”ฐ๋ผ ์ƒ‰์ƒ์œผ๋กœ ๊ตฌ๋ถ„๋œ ์…€์ด ์žˆ๋Š” HTML ํ…Œ์ด๋ธ”๋กœ๋งŒ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. ํ˜ธ์ŠคํŠธ ์ƒํƒœ, ERB ์ฝ”๋“œ๋ฅผ ๋‹ค์Œ์œผ๋กœ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

<!DOCTYPE html>
<html>
<head>
   <title>Host Statuses</title>
   <style>
       th {
           background-color: black;
           color: white;
       }
       td.green {
           background-color:#92d400;
           color:black;
       }
       td.yellow {
           background-color:#f0ab00;
           color:black;
       }
       td.red {
           background-color:#CC0000;
           color:black;
       }
       table,th,td {
               border-collapse:collapse;
               border: 1px solid black;
       }
   </style> 
</head>
<body>
<table>
<tr> 
       <th> Hostname </th>
       <th> Status </th> 
<% load_hosts(search: input('hosts'), includes: :host_statuses).each_record do |host| -%>
   <% all_host_statuses_hash(host).each do |key, value|  -%>
       <th> <%= key %> </th>
   <% end -%>
   <% break -%>
<% end -%>
</tr>

<%- load_hosts(search: input('hosts'), includes: :host_statuses).each_record do |host| -%>
   <tr> 
   <td> <%= host.name   %> </td> 
   <% if host.global_status == 0 -%>
       <td class="green"> OK </td>
   <% elsif host.global_status == 1 -%>
       <td class="yellow"> Warning </td>
   <% else -%>
       <td class="red"> Error (<%= host.global_status %>) </td>
   <% end -%>

   <% all_host_statuses_hash(host).each do |key, value|  -%>
       <% if value == 0 -%>
           <td class="green"> OK </td>
       <% elsif value == 1  -%>
           <td class="yellow"> Warning </td>
       <% else -%>
           <td class="red"> Error (<%= value %>) </td>
       <% end -%>
   <% end -%>
   </tr>
<% end -%>

</table>
</body>
</html>

์ด ๋ณด๊ณ ์„œ๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋˜๋Š” HTML์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Satellite 6.5์˜ ๋ณด๊ณ  ์—”์ง„: ์ •์˜ ๋ฐ ์ด์œ 

๋ช…๋ น์ค„์—์„œ ๋ณด๊ณ ์„œ ์‹คํ–‰

๋ช…๋ น์ค„์—์„œ ๋ณด๊ณ ์„œ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ํ•ด๋จธ, cron ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๋จธ ๋ณด๊ณ ์„œ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ --name "" ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

# hammer report-template generate โ€”name "Host statuses HTML"

๋ณด๊ณ ์„œ ๋‚ด์šฉ์ด ์ฝ˜์†”์— ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค. ์ •๋ณด๋ฅผ ํŒŒ์ผ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•œ ๋‹ค์Œ ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฉ”์ผ๋กœ ๋ณด๋‚ด๋„๋ก cron์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. HTML ํ˜•์‹์€ ์ด๋ฉ”์ผ ํด๋ผ์ด์–ธํŠธ์— ์™„๋ฒฝํ•˜๊ฒŒ ํ‘œ์‹œ๋˜๋ฏ€๋กœ ์ฝ๊ธฐ ์‰ฌ์šด ํ˜•์‹์œผ๋กœ ๊ด€์‹ฌ ์žˆ๋Š” ๋‹น์‚ฌ์ž์—๊ฒŒ ๋ณด๊ณ ์„œ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ Satellite 6.5์˜ ๋ณด๊ณ  ์—”์ง„์€ ๊ธฐ์—…์ด Satellite์— ๋ณด์œ ํ•˜๊ณ  ์žˆ๋Š” ์ค‘์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚ด๋ณด๋‚ด๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋งค์šฐ ์œ ์—ฐํ•˜๋ฉฐ ๊ธฐ๋ณธ ์ œ๊ณต ๋ณด๊ณ ์„œ์™€ ์ˆ˜์ •๋œ ๋ฒ„์ „์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉ์ž๋Š” ์ฒ˜์Œ๋ถ€ํ„ฐ ์ž์‹ ๋งŒ์˜ ๋ณด๊ณ ์„œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. YouTube ๋™์˜์ƒ์—์„œ ์œ„์„ฑ ๋ณด๊ณ  ์—”์ง„์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

9์›” 11์ผ ๋ชจ์Šคํฌ๋ฐ” ์‹œ๊ฐ„ 00์‹œ์— Red Hat Enterprise Linux 8์˜ ์ƒˆ ๋ฒ„์ „์— ๋Œ€ํ•œ ์›จ๋น„๋‚˜๋ฅผ ๋†“์น˜์ง€ ๋งˆ์„ธ์š”.

์šฐ๋ฆฌ์˜ ๋ฐœํ‘œ์ž๋Š” Red Hat์˜ ์œ ๋Ÿฝ, ์ค‘๋™ ๋ฐ ์•„ํ”„๋ฆฌ์นด ํ”Œ๋žซํผ ๋ฐ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ๋ถ€์„œ ๊ด€๋ฆฌ์ž์ธ Aram Kananov์ž…๋‹ˆ๋‹ค. Red Hat์—์„œ Aram์˜ ์—…๋ฌด์—๋Š” ํฌ๊ด„์ ์ธ ์‹œ์žฅ, ์‚ฐ์—… ๋ฐ ๊ฒฝ์Ÿ์‚ฌ ๋ถ„์„์€ ๋ฌผ๋ก  ํ”Œ๋žซํผ ์‚ฌ์—…๋ถ€์˜ ์ œํ’ˆ ํฌ์ง€์…”๋‹ ๋ฐ ๋งˆ์ผ€ํŒ…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ถœ์‹œ๋ถ€ํ„ฐ ์ˆ˜๋ช… ์ข…๋ฃŒ๊นŒ์ง€ ์ „์ฒด ์ œํ’ˆ ๋ผ์ดํ”„์‚ฌ์ดํด ๊ด€๋ฆฌ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

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