Okerr ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๊ฐœ์š”

XNUMX๋…„์ „์— ์ด๋ฏธ ํฌ์ŠคํŒ…์„ ํ–ˆ์—ˆ๋Š”๋ฐ ์›น ์‚ฌ์ดํŠธ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์žฅ์•  ์กฐ์น˜ ์•ฝ ์˜ค์ผ€๋ฅด. ์ด์ œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์–ด๋Š ์ •๋„ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ €๋Š” ๋˜ํ•œ ์ถœํŒํ–ˆ์Šต๋‹ˆ๋‹ค. okrr ์„œ๋ฒ„ ์ธก ์†Œ์Šค ์ฝ”๋“œ ์•„๋ž˜์˜ ์˜คํ”ˆ ๋ผ์ด์„ผ์Šค, ๊ทธ๋ž˜์„œ Habr์— ๋Œ€ํ•œ ์งง์€ ๋ฆฌ๋ทฐ๋ฅผ ์“ฐ๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

Okerr ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๊ฐœ์š”
[ ํ’€ ์‚ฌ์ด์ฆˆ ]

๋ˆ„๊ตฌ์—๊ฒŒ ๊ด€์‹ฌ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์†Œ๊ทœ๋ชจ ํŒ€์—์„œ ๋˜๋Š” ํ˜ผ์ž ์ผํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋Š” ๊ท€ํ•˜์—๊ฒŒ ํฅ๋ฏธ๋กœ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋Šฅ์ด ์—†๊ณ  ์‹ค์ œ๋กœ ํ•„์š”ํ•œ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. "๋Œ€ํ•™์ƒ์„ ์œ„ํ•œ" ์ธ๊ธฐ ์žˆ๋Š” ์ง„์ง€ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์‹œ๋„ํ–ˆ์ง€๋งŒ ์–ด๋–ป๊ฒŒ๋“  "์„ฑ๊ณตํ•˜์ง€ ๋ชปํ–ˆ๊ฑฐ๋‚˜" ๊ฑฐ์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ์œผ๋กœ ์ž‘๋™ํ•˜๊ณ  ์ธ์ƒ์„ ํฌ๊ฒŒ ๋ฐ”๊พธ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ „์ฒด ์ง์›(๋˜๋Š” ๋ถ€์„œ)์„ ํ• ๋‹นํ•˜์—ฌ ํ•˜๋ฃจ์— ์ตœ์†Œ ๋‘ ์‹œ๊ฐ„ ์ด์ƒ ๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ฑฐ๋‚˜ ๊ตฌ์„ฑํ•  ๊ณ„ํš์ด ์—†๋Š” ๊ฒฝ์šฐ์—๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค.

okrr์ด ํŠน์ดํ•œ ์ด์œ 

๋‹ค์Œ์œผ๋กœ ๋‹ค๋ฅธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ๊ณผ ๊ตฌ๋ณ„๋˜๋Š” okerra์˜ ํฅ๋ฏธ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋ณด์—ฌ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

Okerr๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ชจ๋‹ˆํ„ฐ๋ง์ž…๋‹ˆ๋‹ค

๋‚ด๋ถ€ ๋ชจ๋‹ˆํ„ฐ๋ง ์ค‘์—๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„์— ๋ฐ์ดํ„ฐ(์˜ˆ: ์—ฌ์œ  ๋””์Šคํฌ ๊ณต๊ฐ„)๋ฅผ ์ „์†กํ•˜๋Š” "์—์ด์ „ํŠธ"๊ฐ€ ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๋Š” ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์™ธ๋ถ€์ธ ๊ฒฝ์šฐ ์„œ๋ฒ„๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ํ•‘ ๋˜๋Š” ์›น ์‚ฌ์ดํŠธ ๊ฐ€์šฉ์„ฑ). ๊ฐ ์ ‘๊ทผ ๋ฐฉ์‹์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Okerr๋Š” ๋‘ ๊ฐ€์ง€ ์˜ต์…˜์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๋‚ด๋ถ€ ์ ๊ฒ€์€ ์ดˆ๊ฒฝ๋Ÿ‰(30Kb) ์—์ด์ „ํŠธ๋‚˜ ์ž์ฒด ์Šคํฌ๋ฆฝํŠธ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ˆ˜ํ–‰๋˜๋ฉฐ, ๋„คํŠธ์›Œํฌ ์ ๊ฒ€์€ ๊ฐ๊ตญ์˜ okerr ์„ผ์„œ๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

okrr์€ ์†Œํ”„ํŠธ์›จ์–ด์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์„œ๋น„์Šค์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  ๋ชจ๋‹ˆํ„ฐ๋ง์˜ ์„œ๋ฒ„ ๋ถ€๋ถ„์€ ๊ทœ๋ชจ๊ฐ€ ํฌ๊ณ  ๋ณต์žกํ•˜๋ฉฐ ์„ค์น˜ ๋ฐ ๊ตฌ์„ฑ์ด ์–ด๋ ต๊ณ  ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. okrr์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž์ฒด ๋ชจ๋‹ˆํ„ฐ๋ง ์„œ๋ฒ„(๋ฌด๋ฃŒ, ์˜คํ”ˆ ์†Œ์Šค)๋ฅผ ์„ค์น˜ํ•  ์ˆ˜๋„ ์žˆ๊ณ , ํด๋ผ์ด์–ธํŠธ ๋ถ€๋ถ„๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์„œ๋ฒ„ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ†ตํ•ด ์„œ๋ฒ„์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹ ๋ขฐ์„ฑ ๋ถ€์กฑ์„ ๋ณด์™„ํ•˜๊ณ  ์€ํํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ฒ ํ•™์ ์ธ ์งˆ๋ฌธ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ฒฝ๋น„์›์€ ๋ˆ„๊ตฌ์ž…๋‹ˆ๊นŒ? ๋ฌธ์ œ๊ฐ€ ์–ด๋–ค ์ด์œ ๋กœ๋“  ๋ณ„๋„๋กœ ๋˜๋Š” ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค์™€ ํ•จ๊ป˜ "์ฃฝ์€" ๊ฒฝ์šฐ(์˜ˆ: ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ์ฑ„๋„์ด ์ค‘๋‹จ๋œ ๊ฒฝ์šฐ) ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ†ตํ•ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์™ธ๋ถ€ ์„œ๋น„์Šค okrr์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ์ „์›์ด ๋“ค์–ด์˜ค์ง€ ์•Š๊ฑฐ๋‚˜ ์ข€๋น„์˜ ๊ณต๊ฒฉ์„ ๋ฐ›๋Š” ๊ฒฝ์šฐ์—๋„ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ฌผ๋ก  oker ์„œ๋ฒ„ ์ž์ฒด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋  ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค(์•„์‹œ๋‹ค์‹œํ”ผ ์•ˆ์ •์„ฑ์˜ 90%๋Š” ํ•ญ์ƒ ๊ฐ„๋‹จํ•˜๊ฒŒ "๋ฌด๋ฃŒ"๋กœ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, 99%๋Š” ์ตœ์†Œํ•œ์˜ ๋…ธ๋ ฅ์œผ๋กœ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ดํ›„ 99.9๊ฐœ๋Š” ๋ชจ๋‘ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋” ์–ด๋ ค์›Œ์กŒ์Šต๋‹ˆ๋‹ค.) ๊ทธ๋Ÿฌ๋‚˜ ์ฒซ์งธ, ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์€ ๋‚ฎ๊ณ  ๋‘˜์งธ, ์„œ๋ฒ„์˜ ๋ฌธ์ œ์™€ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋ฌธ์ œ๊ฐ€ ๋ˆˆ์— ๋„์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 99.9%์˜ ์‹ ๋ขฐ๋„๊ฐ€ ์žˆ๊ณ  0.1%(๋„ˆ๋ฌด ๋†’์ง€ ์•Š์€ ์ˆซ์ž)์ธ ๊ฒฝ์šฐ ๊ฐ์ง€๋˜์ง€ ์•Š์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ํ™•๋ฅ ์€ 0.1%/0.0001% = XNUMX%์ž…๋‹ˆ๋‹ค. ๊ฑฐ์˜ ๋…ธ๋ ฅ์ด๋‚˜ ๋น„์šฉ ์—†์ด XNUMX๊ฐœ์˜ XNUMX๋ฅผ ์‹ ๋ขฐ์„ฑ์— ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ข‹์Šต๋‹ˆ๋‹ค!

์„œ๋น„์Šคํ˜• ๋ชจ๋‹ˆํ„ฐ๋ง์˜ ๋˜ ๋‹ค๋ฅธ ์žฅ์ ์€ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด๋‚˜ ์›น ์ŠคํŠœ๋””์˜ค๊ฐ€ okrr ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์œ ๋ฃŒ ๋˜๋Š” ๋ฌด๋ฃŒ ์ถ”๊ฐ€ ์„œ๋น„์Šค๋กœ ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฒฝ์Ÿ์—…์ฒด์—๋Š” ํ˜ธ์ŠคํŒ…๊ณผ ์›น์‚ฌ์ดํŠธ๋งŒ ์žˆ์ง€๋งŒ ๊ท€์‚ฌ๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ…์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Okerr๋Š” ์ง€ํ‘œ์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ‘œ์‹œ๊ธฐ๋Š” "์ „๊ตฌ"์ž…๋‹ˆ๋‹ค. ๋…น์ƒ‰(OK) ๋˜๋Š” ๋นจ๊ฐ„์ƒ‰(ERR)์˜ ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์ƒํƒœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์—๋Š” ์—ฌ๋Ÿฌ ๊ทธ๋ฃนํ™”๋œ(์˜ˆ: ์„œ๋ฒ„๋ณ„) ํ‘œ์‹œ๊ธฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์˜ ๋ฉ”์ธ ํŽ˜์ด์ง€์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ๋…น์ƒ‰์œผ๋กœ ํ‘œ์‹œ๋˜๊ฑฐ๋‚˜(๋‹ซ์„ ์ˆ˜ ์žˆ์Œ) ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ์ผœ์ ธ ์ˆ˜์ •์ด ํ•„์š”ํ•œ ํ•ญ๋ชฉ์ด ์ฆ‰์‹œ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํƒœ ์‚ฌ์ด๋ฅผ ์ „ํ™˜ํ•  ๋•Œ ๊ฒฝ๊ณ ๊ฐ€ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ํ•˜๋ฃจ์— ํ•œ ๋ฒˆ ์„ค์ •ํ•˜๋Š” ๋™์•ˆ ํ”„๋กœ์ ํŠธ ์š”์•ฝ์ด ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

Okerr ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๊ฐœ์š”

๊ฐ okrr ํ‘œ์‹œ๊ธฐ์—๋Š” ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ์กฐ๊ฑด์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(Zabbix์—์„œ๋Š” ์ด๋ฅผ ํŠธ๋ฆฌ๊ฑฐ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค). ์˜ˆ๋ฅผ ๋“ค์–ด ๋กœ๋“œ ํ‰๊ท ์€ 2 ์ดํ•˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค(๋ฌผ๋ก  ๊ตฌ์„ฑ ๊ฐ€๋Šฅ). ๊ทธ๋ฆฌ๊ณ  ๊ฐ ๋‚ด๋ถ€ ๊ฒ€์‚ฌ(๋กœ๋“œ ํ‰๊ท , ๋””์Šคํฌ ์—†์Œ ๋“ฑ)์— ๋Œ€ํ•ด ๊ฐ์‹œ ์žฅ์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ๋“  ์•ฝ์†๋œ ์‹œ๊ฐ„์— ์„ฑ๊ณต์ ์ธ ํ™•์ธ์„ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ ์˜ค๋ฅ˜๊ฐ€ ๊ธฐ๋ก๋˜๊ณ  ๊ฒฝ๊ณ ๊ฐ€ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

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

๋ฌผ๋ก  ๋‹จ์ˆœํžˆ "์ •๋ณด" ํ‘œ์‹œ๊ธฐ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ(๋ชจ๋‹ˆํ„ฐ๋ง์—์„œ ๋„คํŠธ์›Œํฌ ๊ทธ๋ฆผ์„ ๋ณด๊ธฐ ์œ„ํ•ด) ์ž๋™ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๊ฒฝ๊ณ  ์ „์†ก์„ ์œ„ํ•œ ํ‘œ์‹œ๊ธฐ๋ฅผ ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ์ž‘์—…์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

okrr์„ ์„ค์ •ํ•˜๋Š” ๋ชฉ์ ์€ ๊ฒฝ๊ณ ์— ์žˆ์œผ๋ฏ€๋กœ XNUMX๋ถ„ ์•ˆ์— ํ‘œ์‹œ๊ธฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ณ  XNUMX๋…„ ๋™์•ˆ "์ž ์ž๊ธฐ"ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜๋ฝํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ XNUMX๋…„ ํ›„ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ผœ์ง€๊ณ  ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ๊ฒฝ๊ณ . ์ง€ํ‘œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ XNUMX๋ถ„์„ ํˆฌ์žํ•œ ์ˆœ๊ฐ„๋ถ€ํ„ฐ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋ณด๋‹ค ๋จผ์ € ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ฆ‰์‹œ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์•Œ์•„์ฐจ๋ฆฌ๊ธฐ ์ „์— ๋ฌธ์ œ๋ฅผ ๊ณ ์ณค์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋นจ๋ฆฌ ์ผ์–ด๋‚œ ๊ฒƒ์€ ๋–จ์–ด์ง„ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค!

ะ‘ะตะทะพะฟะฐัะฝะพัั‚ัŒ

์‹ ๋ขฐ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์„ค์ •ํ•œ๋‹ค๋ฉด ์•ˆํƒ€๊นŒ์šด ์ผ์ด๊ฒ ์ง€๋งŒ, ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ด๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ๊ณต๊ฒฉ์„ ๋ฐ›๊ฒŒ ๋˜๊ณ , ๊ฐ์ข… ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ์—๋„ ๋„คํŠธ์›Œํฌ ์ทจ์•ฝ์ ์ด ๊ฝค ๋งŽ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค(์ž ๋น„์ธ , ๋‚˜๊ธฐ ์˜ค์Šค).

์—์ด์ „ํŠธ(ํŒจํ‚ค์ง€์˜ okerrmod ํ™•์ธ ์—…๋ฐ์ดํŠธ) ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์€ ๋„คํŠธ์›Œํฌ ์„œ๋ฒ„๊ฐ€ ์•„๋‹ˆ๋ผ ํด๋ผ์ด์–ธํŠธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๋Š” ์„œ๋ฒ„์—๋Š” ์ถ”๊ฐ€๋กœ ์—ด๋ ค ์žˆ๋Š” ํฌํŠธ๊ฐ€ ์—†์œผ๋ฉฐ ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐฉํ™”๋ฒฝ์ด๋‚˜ NAT ๋’ค์—์„œ ์‰ฝ๊ฒŒ ์ž‘๋™ํ•˜๋ฉฐ ์›์น™์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ๋ฅผ ์ˆ˜์‹ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ํ•ดํ‚นํ•˜๊ธฐ๊ฐ€ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค("๋ถˆ๊ฐ€๋Šฅ"์ด๋ผ๊ณ  ๋งํ•ฉ๋‹ˆ๋‹ค). ์†Œ์ผ“.

์ „์ฒด ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฒ”์œ„

์ด์ œ ์šฐ๋ฆฌ์˜ ๊ทœ์น™์€ okrr๋กœ๋ถ€ํ„ฐ ๋ชจ๋“  ๊ธฐ์ˆ ์  ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ‘์ž๊ธฐ ๊ทœ์น™์„ ์œ„๋ฐ˜ํ•œ ๊ฒฝ์šฐ(okerr์€ ๋ฐœ์ƒ์ด ์ž„๋ฐ•ํ–ˆ๊ฑฐ๋‚˜(๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ) ์ด๋ฏธ ๋ฐœ์ƒํ–ˆ์Œ์„ ๊ฒฝ๊ณ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค), okrr์— ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์™ธ๋ถ€ ์ ๊ฒ€

๋งค์šฐ ์ผ๋ฐ˜์ ์ธ ์„ธํŠธ:

  • ํ•‘
  • http ์ƒํƒœ
  • SSL ์ธ์ฆ์„œ์˜ ์œ ํšจ์„ฑ๊ณผ ์ตœ์‹ ์„ฑ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค(๋งŒ๋ฃŒ๊ฐ€ ์ž„๋ฐ•ํ•˜๋ฉด ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค).
  • TCP ํฌํŠธ์™€ ๋ฐฐ๋„ˆ๋ฅผ ์—ฝ๋‹ˆ๋‹ค.
  • http grep(ํŽ˜์ด์ง€์— ํŠน์ • ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด์„œ๋Š” ์•ˆ ๋จ)
  • sha1 ํ•ด์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŽ˜์ด์ง€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํฌ์ฐฉํ•ฉ๋‹ˆ๋‹ค.
  • DNS(DNS ๋ ˆ์ฝ”๋“œ์—๋Š” ํŠน์ • ๊ฐ’์ด ์žˆ์–ด์•ผ ํ•จ)
  • WHOIS(๋„๋ฉ”์ธ์ด ๊ณง ์†์ƒ๋  ๊ฒฝ์šฐ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค)
  • ์•ˆํ‹ฐ์ŠคํŒธ DNSBL(50๊ฐœ ์ด์ƒ์˜ ์•ˆํ‹ฐ์ŠคํŒธ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•ด ํ˜ธ์ŠคํŠธ๋ฅผ ๋™์‹œ์— ํ™•์ธ)

๋‚ด๋ถ€ ์ ๊ฒ€

๋˜ํ•œ ์ƒ๋‹นํžˆ ํ‘œ์ค€์ ์ธ ์„ธํŠธ์ž…๋‹ˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ์‰ฝ๊ฒŒ ํ™•์žฅ ๊ฐ€๋Šฅ).

  • df (์—ฌ์œ  ๋””์Šคํฌ ๊ณต๊ฐ„)
  • ๋ถ€ํ•˜ ํ‰๊ท 
  • opentcp(TCP ์ฒญ์ทจ ์†Œ์ผ“ ์—ด๊ธฐ - ๋ฌด์–ธ๊ฐ€๊ฐ€ ์‹œ์ž‘๋˜๊ฑฐ๋‚˜ ์ถฉ๋Œํ•˜๋ฉด ์•Œ๋ฆผ)
  • ๊ฐ€๋™ ์‹œ๊ฐ„ - ์„œ๋ฒ„์˜ ๊ฐ€๋™ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ๋œ ๊ฒฝ์šฐ ์•Œ๋ฆผ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค(์˜ˆ: ์„œ๋ฒ„๊ฐ€ ๊ณผ๋ถ€ํ•˜๋จ).
  • ํด๋ผ์ด์–ธํŠธ_IP
  • dirsize - ์—„๊ฒฉํ•œ ์ œํ•œ์„ ์ ์šฉํ•˜์ง€ ์•Š๊ณ  ๊ฐ€์ƒ ๋จธ์‹  rootfs๊ฐ€ ํ—ˆ์šฉ๋œ ํฌ๊ธฐ๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ์™€ ์‚ฌ์šฉ์ž ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ํฌ๊ธฐ๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋น„์–ด ์žˆ์Œ ๋ฐ ๋น„์–ด ์žˆ์ง€ ์•Š์Œ - ๋น„์–ด ์žˆ์–ด์•ผ ํ•˜๋Š”(๋˜๋Š” ๋น„์–ด ์žˆ์ง€ ์•Š์•„์•ผ ํ•˜๋Š”) ํŒŒ์ผ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด okrr ์„œ๋ฒ„ ์ž์ฒด์˜ ์˜ค๋ฅ˜ ๋กœ๊ทธ๋Š” ๋น„์–ด ์žˆ์–ด์•ผ ํ•˜๋ฉฐ, ๊ทธ ์•ˆ์— ํ•œ ์ค„์ด๋ผ๋„ ์žˆ์œผ๋ฉด ์•Œ๋ฆผ์„ ๋ฐ›์•„์„œ ํ™•์ธํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ฉ”์ผ ์„œ๋ฒ„์˜ mail.log๋Š” ๋น„์–ด ์žˆ์œผ๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค(๊ต์ฒด ํ›„ N๋ถ„). ๋•Œ๋กœ๋Š” ์‹œ์Šคํ…œ ์—…๋ฐ์ดํŠธ ํ›„ logrotate๊ฐ€ rsyslog๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์„ ๋•Œ ๋น„์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
  • linecount - ํŒŒ์ผ์˜ ์ค„ ์ˆ˜(์˜ˆ: wc -l) ์˜ค๋ฅ˜ ๋กœ๊ทธ๊ฐ€ ๊ณ„์† ์ปค์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ์†๋„๊ฐ€ ๋Š๋ฆฐ ๊ฒฝ์šฐ(์˜ˆ: Googlebot์ด ์ผ๋ถ€ ๋‹ซํžŒ ํŽ˜์ด์ง€์— ๋„๋‹ฌํ•˜๋Š” ๊ฒฝ์šฐ) ๋น„์–ด ์žˆ์Œ์„ ๋ณด๋‹ค ๋ถ€๋“œ๋Ÿฝ๊ฒŒ ๋Œ€์ฒดํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 2๋ถ„๋‹น 20์ค„ ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ๋†’์œผ๋ฉด ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํฅ๋ฏธ๋กœ์šด ๋‚ด๋ถ€ ์ ๊ฒ€

์ง€๊ธˆ๊นŒ์ง€ '๋Œ€๊ฐ์„ '์œผ๋กœ ์ฝ์—ˆ๋‹ค๋ฉด ์ด์ œ ์ข€ ๋” ์ฃผ์˜ ๊นŠ๊ฒŒ ์ฝ๋Š” ๊ฒƒ์ด ๋” ์žฌ๋ฏธ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐฑ์—…

๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ๋ฐฑ์—…์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—… ํŒŒ์ผ์˜ ์ด๋ฆ„์€ "ServerName-20200530.tar.gz"์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. okrr์˜ ๊ฐ ์„œ๋ฒ„์— ๋Œ€ํ•ด ํ‘œ์‹œ๊ธฐ ServerName-DATE.tar.gz๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค(์‹ค์ œ ๋‚ ์งœ๋Š” "DATE" ํ–‰์œผ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค). ์ƒˆ๋กœ์šด ๋ฐฑ์—…์˜ ์กด์žฌ ์—ฌ๋ถ€์™€ ํฌ๊ธฐ๋„ ๋ชจ๋‹ˆํ„ฐ๋ง๋ฉ๋‹ˆ๋‹ค(์˜ˆ: ์ด์ „ ๋ฐฑ์—…์˜ 90% ๋ฏธ๋งŒ์ผ ์ˆ˜ ์—†์Œ).

์ƒˆ ๋ฐฑ์—…์„ ์ƒ์„ฑํ•˜์—ฌ ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ €์žฅํ•œ ํ›„ ์ถ”์ ์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ์•„๋ฌด๊ฒƒ๋„ ์•„๋‹˜! ์ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์œ ๋กœ "์•„๋ฌด ๊ฒƒ๋„" ํ•˜์ง€ ์•Š์„ ๋•Œ ๋งค์šฐ ํŽธ๋ฆฌํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

  • "์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ"์€ ๊ฝค ๋น ๋ฅด๋ฉฐ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•ด ์ค๋‹ˆ๋‹ค.
  • '์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ'์„ ์žŠ๋Š” ๊ฒƒ์€ ์–ด๋ ต๋‹ค
  • ์˜ค๋ฅ˜๋กœ ์ธํ•ด "์•„๋ฌด๊ฒƒ๋„ ์ž˜๋ชป"ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ํ™•์‹คํ•œ ๋ฐฉ๋ฒ•์€ ์—†์Šต๋‹ˆ๋‹ค

๊ฐ‘์ž๊ธฐ ์ƒˆ๋กœ์šด ๋ฐฑ์—… ํŒŒ์ผ์ด ํ‘œ์‹œ๋˜์ง€ ์•Š์œผ๋ฉด ๊ฒฝ๊ณ ๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์„œ๋ฒ„ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ–ˆ๊ณ  ๋” ์ด์ƒ ๋ฐฑ์—…์ด ์—†์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํ‘œ์‹œ๊ธฐ๋ฅผ ์‚ญ์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋˜๋Š” API๋ฅผ ํ†ตํ•ด ์…ธ์—์„œ).

maxfilesz

๊ฐ€์žฅ ํฐ ํŒŒ์ผ์˜ ํฌ๊ธฐ๋ฅผ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค(์ผ๋ฐ˜์ ์œผ๋กœ: /var/log/*). ์ด๋ฅผ ํ†ตํ•ด ๋ฌด์ฐจ๋ณ„ ์•”ํ˜ธ ๋Œ€์ž…์ด๋‚˜ ์„œ๋ฒ„๋ฅผ ํ†ตํ•œ ์ŠคํŒธ ์ „์†ก๊ณผ ๊ฐ™์€ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ๋ฅผ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹คํ–‰ ์ƒํƒœ/์‹คํ–‰ ๋ผ์ธ

์ด๋Š” ์„œ๋ฒ„์—์„œ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ์ค‘์š”ํ•œ ํ”„๋ก์‹œ ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค. Runstatus๋Š” ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ์ฝ”๋“œ๋ฅผ ํ‘œ์‹œ๊ธฐ์— ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, okrr์€ ์‹œ์Šคํ…œ ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰ ์ค‘์ธ์ง€ ํ™•์ธํ•˜๋Š” ๋ชจ๋“ˆ์„ ์š”๊ตฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” runstatus๋ฅผ ํ†ตํ•ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค(์•„๋ž˜ ์ฐธ์กฐ). Runline - ํ”„๋กœ๊ทธ๋žจ์ด ์ƒ์„ฑํ•˜๋Š” ๋ผ์ธ์„ ์„œ๋ฒ„์— ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, temp_RUN="cat /sys/class/thermal/thermal_zone0/temp" ์šฐ๋ฆฌ ์„œ๋ฒ„์˜ Runline ๊ตฌ์„ฑ์—์„œ๋Š” ํ”„๋กœ์„ธ์„œ ์˜จ๋„์™€ ํ•จ๊ป˜ servername:temp ํ‘œ์‹œ๊ธฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

SQL

MySQL์— ์ˆซ์ž ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ํ‘œ์‹œ๊ธฐ์— ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ๊ฒฝ์šฐ์—๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด "SELECT 1"์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด DBMS๊ฐ€ ์ „์ฒด์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ›จ์”ฌ ๋” ํฅ๋ฏธ๋กœ์šด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ์˜ˆ๋ฅผ ๋“ค์–ด ์˜จ๋ผ์ธ ์ƒ์ ์˜ ์ฃผ๋ฌธ ์ˆ˜๋ฅผ ์ถ”์ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹œ๊ฐ„๋‹น ์ฃผ๋ฌธ์ด 100๊ฐœ ์ด์ƒ์ธ ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๋‹ค๋ฉด ์ตœ์†Œ ํ•œ๋„๋ฅผ 100๊ฐœ ๋˜๋Š” 80๊ฐœ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค ๊ฐ‘์ž๊ธฐ ๋งค์ถœ์ด ๋–จ์–ด์ง€๋ฉด ์•Œ๋ฆผ์„ ๋ฐ›๊ณ  ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ์ด์œ ๋กœ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ–ˆ๋Š”์ง€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

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

์ด์œ ๋Š” ๋‹ค์–‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ชจ๋‘ ์‚ฌ์ „์— ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๊ณ  ๊ธฐ์ˆ ์ ์œผ๋กœ ์ถ”์ ๋„ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ตœ์ข… ๋งค๊ฐœ๋ณ€์ˆ˜(์ฃผ๋ฌธ)๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์ƒํ™ฉ์ด ์˜์‹ฌ์Šค๋Ÿฝ๊ณ  ์ฒ˜๋ฆฌํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š”์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋…ผ๋ฆฌ์  ์ง€ํ‘œ

๋ชจ๋“ˆ์„ ํ†ตํ•ด ๋ถ€์šธ ํ‘œํ˜„์‹(Python ๊ตฌ๋ฌธ)์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ฆํ•˜๋‹ค(ํ•˜๋ธŒ๋ ˆ์— ๊ด€ํ•œ ๊ธฐ์‚ฌ). ํ”„๋กœ์ ํŠธ ๋ฐ ํ•ด๋‹น ์ง€ํ‘œ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์œ„์˜ SQL ๊ฒ€์‚ฌ์— ๊ด€ํ•œ ์žฅ์—์„œ ์•ฝ์ ์„ ๋ฐœ๊ฒฌํ–ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ฎ์—๋Š” ์‹œ๊ฐ„๋‹น 100๊ฐœ์˜ ํŒ๋งค๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋ฐค์—๋Š” 20๊ฐœ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉฐ ์ด๋Š” ์ผ๋ฐ˜์ ์ด์ง€ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”? ํ‘œ์‹œ๊ธฐ๋Š” ๋ฐค์— ์ง€์†์ ์œผ๋กœ ๋‹นํ™ฉํ•ฉ๋‹ˆ๋‹ค.

๋‚ฎ๊ณผ ๋ฐค์˜ ๋‘ ๊ฐ€์ง€ ํ‘œ์‹œ๊ธฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค "๋ฌด์Œ"์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(๊ฒฝ๋ณด๋ฅผ ๋ณด๋‚ด์ง€ ์•Š์Œ). ๊ทธ๋ฆฌ๊ณ  20:00 ์ด์ „์—๋Š” ์ฃผ๊ฐ„ ํ‘œ์‹œ๊ธฐ๊ฐ€ ์ •์ƒ์ด์–ด์•ผ ํ•˜๊ณ , 20:00 ์ดํ›„์—๋Š” ์•ผ๊ฐ„ ํ‘œ์‹œ๊ธฐ๊ฐ€ ์ •์ƒ์ด์–ด์•ผ ํ•˜๋Š” ๋…ผ๋ฆฌ์  ํ‘œ์‹œ๊ธฐ๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค.

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

๋˜ํ•œ ์ถœ๊ทผ์‹œ๊ฐ„์„ ์ƒˆ๋ฒฝ 3์‹œ๋ถ€ํ„ฐ 5์‹œ๊นŒ์ง€๋กœ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์ด ์‹œ๊ฐ„ ๋™์•ˆ ์„œ๋ฒ„์™€ ์‚ฌ์ดํŠธ๊ฐ€ ์ถฉ๋Œํ•˜๋”๋ผ๋„ ์šฐ๋ฆฌ๋Š” ์ƒ๊ด€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 5์‹œ์—๋Š” ์ผ์„ ํ•ด์•ผ ํ•ด์š”. ๋‹ค๋ฅธ ์‹œ๊ฐ„์— ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฒฝ๊ณ ํ•˜์‹ญ์‹œ์˜ค. ๋…ผ๋ฆฌ์  ํ‘œ์‹œ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„œ๋ฒ„ ์ค‘๋ณต์„ฑ์„ ๊ณ ๋ คํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์›น ์„œ๋ฒ„๊ฐ€ 00๊ฐœ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ด€๋ฆฌ์ž๋Š” ์–ธ์ œ๋“ ์ง€ 5~1๊ฐœ์˜ ์„œ๋ฒ„๋ฅผ ๋Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ, ์ „ํˆฌ์— ์ฐธ์—ฌํ•˜๋Š” ์„œ๋ฒ„๊ฐ€ 2๊ฐœ ์ค‘ 3๊ฐœ ๋ฏธ๋งŒ์ผ ๊ฒฝ์šฐ ๊ฒฝ๊ณ ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์œ„์˜ ์˜ˆ๋Š” ์ •์ƒ์ ์ธ ๊ธฐ๋Šฅ์ด ์•„๋‹ˆ๋ฉฐ ํ™œ์„ฑํ™” ๋ฐ ๊ตฌ์„ฑ์ด ํ•„์š”ํ•œ ์ผ๋ถ€ ๊ธฐ๋Šฅ์ด ์•„๋‹™๋‹ˆ๋‹ค. Okerra์—๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์ด ๋ชจ๋‘ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์ง€๋งŒ ์ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๋…ผ๋ฆฌ ๋ชจ๋“ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค. (๋Œ€๋žต ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ 20% VAT๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•œ ํŠน์ˆ˜ ํ•จ์ˆ˜๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์–ธ์–ด์—์„œ ์–ธ์ œ๋“ ์ง€ ์Šค์Šค๋กœ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ•„์š”์— ๋งž๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.)

Logic Indicator๋Š” ์•„๋งˆ๋„ okrr์—์„œ ์ƒ๋Œ€์ ์œผ๋กœ ๋ณต์žกํ•œ ๋ช‡ ์•ˆ ๋˜๋Š” ์ฃผ์ œ ์ค‘ ํ•˜๋‚˜์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ข‹์€ ์†Œ์‹์€ ํ•„์š”ํ•  ๋•Œ๊นŒ์ง€ ์ด๋ฅผ ๋งˆ์Šคํ„ฐํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์— ์‹œ์Šคํ…œ ์ž์ฒด๋ฅผ ๋งค์šฐ ๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ธฐ๋Šฅ์„ ํฌ๊ฒŒ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

์ž์‹ ๋งŒ์˜ ์ˆ˜ํ‘œ ์ถ”๊ฐ€ํ•˜๊ธฐ

๋‚˜๋Š” oker๊ฐ€ ๋ชจ๋“  ๊ฒฝ์šฐ์— ๋Œ€ํ•ด ์ˆ˜์ฒœ ๊ฐœ์˜ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ์ˆ˜ํ‘œ ์„ธํŠธ๊ฐ€ ์•„๋‹ˆ๋ผ ๋ฌด์—‡๋ณด๋‹ค๋„ ์ž์‹ ๋งŒ์˜ ์ˆ˜ํ‘œ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๊ฐ„๋‹จํ•œ ์—”์ง„์ด๋ผ๋Š” ์•„์ด๋””์–ด๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. okerr์—์„œ ์ž์‹ ๋งŒ์˜ ๊ฒ€์‚ฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ํ•ด์ปค, ์‹œ์Šคํ…œ ๊ณต๋™ ๊ฐœ๋ฐœ์ž ๋˜๋Š” ์ตœ์†Œํ•œ ๊ณ ๊ธ‰ okerr ์‚ฌ์šฉ์ž์˜ ์ž‘์—…์ด ์•„๋‹ˆ์ง€๋งŒ ํ•œ ๋‹ฌ ์ „์— ์ฒ˜์Œ์œผ๋กœ Linux๋ฅผ ์„ค์น˜ํ•œ ๋ชจ๋“  ๊ด€๋ฆฌ์ž์—๊ฒŒ๋Š” ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

์ตœ์ €์ž„๊ธˆ ํ™•์ธ์€ ๋ชจ๋“ˆ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค. ์‹คํ–‰ ์ƒํƒœ:

๊ตฌ์„ฑ์˜ ์ด ์ค„ ์‹คํ–‰ ์ƒํƒœ /bin/true๊ฐ€ ๊ฐ‘์ž๊ธฐ ์‹œ์ž‘๋˜์ง€ ์•Š๊ฑฐ๋‚˜ 0์ด ์•„๋‹Œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

true_OK=/bin/true

๋‹จ ํ•œ ์ค„ - ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์— ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์กฐ๊ธˆ ์žˆ์Šต๋‹ˆ๋‹ค ํ™•์žฅํ–ˆ๋‹ค ๊ธฐ๋Šฅ ํ™•์ธ.

๊ทธ๋Ÿฌํ•œ ๊ฒ€์‚ฌ์—๋„ ์ด๋ฏธ ๊ทธ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ‘์ž๊ธฐ ์„œ๋ฒ„๊ฐ€ ์ถฉ๋Œํ•˜๋ฉด okrr ์„œ๋ฒ„์˜ ํ•ด๋‹น ํ‘œ์‹œ๊ธฐ๊ฐ€ ์ ์‹œ์— ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์œผ๋ฉฐ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ๊ฒฝ๊ณ ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ด ๊ฒ€์‚ฌ๋Š” apache2 ์„œ๋ฒ„๊ฐ€ ์ถฉ๋Œํ–ˆ์Œ์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค(๊ธ€์Ž„, ๋‹น์‹ ์€ ๊ฒฐ์ฝ” ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค...):

apache_OK="systemctl is-active --quiet apache2"

๋”ฐ๋ผ์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๊ตฌ์‚ฌํ•˜๊ณ  ์ตœ์†Œํ•œ ์‰˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ด๋ฏธ ์ž์ฒด ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

#!/usr/bin/python3

print("STATUS: OK")

๋งŽ์ด ์–ด๋ ต์ง€ ์•Š๋‚˜์š”? ๋ชจ๋“ˆ์€ ์ž์ฒด์ ์œผ๋กœ ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ STDOUT์œผ๋กœ ์ถœ๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋” ๋ณต์žกํ•œ ๋ชจ๋“ˆ์€ ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

$ okerrmod --dump df
NAME: pi:df-/
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 49.52%, 13.9G/28.2G used, 13.0G free
STATUS: 49.52

NAME: pi:df-/boot
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 84.32%, 53.1M/62.9M used, 9.9M free
STATUS: 84.32

์—ฌ๋Ÿฌ ์ง€ํ‘œ๋ฅผ ํ•œ ๋ฒˆ์— ์—…๋ฐ์ดํŠธํ•˜๊ณ (๋นˆ ์ค„๋กœ ๊ตฌ๋ถ„) ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ƒ์„ฑํ•˜๋ฉฐ ํ™•์ธ ์„ธ๋ถ€ ์ •๋ณด์™€ ๋Œ€์‹œ๋ณด๋“œ์—์„œ ํ•„์š”ํ•œ ์ง€ํ‘œ๋ฅผ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ํƒœ๊ทธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

ํ…”๋ ˆ๊ทธ๋žจ

ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์ด ์žˆ์Šต๋‹ˆ๋‹ค @OkerrBot. ๋ณ„๋„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ํœด๋Œ€ํฐ์„ ๋ณต์žกํ•˜๊ฒŒ ๋งŒ๋“ค ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. (Pyaterochka์˜ ๊ฒฝ์šฐ ์ง€๋„๊ฐ€ ์žˆ๋Š” ํ•˜๋‚˜์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, Lenta์˜ ๊ฒฝ์šฐ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜, MTS์˜ ๊ฒฝ์šฐ ์„ธ ๋ฒˆ์งธ ๋“ฑ ๋ชจ๋“  ์‚ฌ๋žŒ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.) ์ „๋ณด๋Š” ํ•˜๋‚˜๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ํ…”๋ ˆ๊ทธ๋žจ์„ ํ†ตํ•ด ์ฆ‰์‹œ ์•Œ๋ฆผ์„ ๋ฐ›๊ณ , ํ”„๋กœ์ ํŠธ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ , ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ์ง€ํ‘œ๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•˜๋ผ๋Š” ๋ช…๋ น์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทน์žฅ/๋น„ํ–‰๊ธฐ๋ฅผ ๋– ๋‚˜ ๋‘ ์‹œ๊ฐ„ ๋™์•ˆ ๋งฅ๋ฐ•์„ ํ™•์ธํ•˜์ง€ ์•Š๊ณ  ์ „ํ™”๊ธฐ๋ฅผ ์ผœ๊ณ  ์ฑ—๋ด‡์˜ ๋ฒ„ํŠผ ํ•˜๋‚˜๋ฅผ ๋ˆ„๋ฅด๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์€์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

์ƒํƒœ ํŽ˜์ด์ง€

์˜ค๋Š˜๋‚  ์ƒํƒœ ํŽ˜์ด์ง€๋Š” IT, ์‹ ๋ขฐ์„ฑ์— ๋Œ€ํ•œ ์ฑ…์ž„๊ฐ ์žˆ๋Š” ํƒœ๋„, ๊ณ ๊ฐ/์‚ฌ์šฉ์ž๋ฅผ ์กด์ค‘ํ•˜๋Š” ํƒœ๋„๋ฅผ ๊ฐ–์ถ˜ ๋ชจ๋“  ๋น„์ฆˆ๋‹ˆ์Šค์— ๊ฑฐ์˜ ํ•„์ˆ˜ ์š”์†Œ์ž…๋‹ˆ๋‹ค.

์ƒํ™ฉ์„ ์ƒ์ƒํ•ด ๋ณด์„ธ์š”. ์‚ฌ์šฉ์ž๊ฐ€ ๋ฌด์–ธ๊ฐ€๋ฅผ ํ•˜๊ณ  ์‹ถ๊ณ , ์ •๋ณด๋ฅผ ๋ณด๊ฑฐ๋‚˜ ์ฃผ๋ฌธํ•˜๊ณ  ์‹ถ์–ดํ•˜๋Š”๋ฐ ๋ฌด์–ธ๊ฐ€๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€, ๋ฌธ์ œ๊ฐ€ ๋ˆ„๊ตฌ ํŽธ์— ์žˆ๋Š”์ง€, ์–ธ์ œ ํ•ด๊ฒฐ๋ ์ง€ ๋ชจ๋ฆ…๋‹ˆ๋‹ค. ์–ด์ฉŒ๋ฉด ๊ท€ํ•˜์˜ ํšŒ์‚ฌ๊ฐ€ ๋‹จ์ˆœํžˆ ๊ธฐ๋Šฅํ•˜์ง€ ์•Š๋Š” ์›น์‚ฌ์ดํŠธ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹๊นŒ์š”? ์•„๋‹ˆ๋ฉด XNUMX๊ฐœ์›” ์ „์— ๊ณ ์žฅ์ด ๋‚ฌ๊ณ  XNUMX๋…„ ์•ˆ์— ๊ณ ์ณ์งˆ๊นŒ์š”? ํ•˜์ง€๋งŒ ์ง€๊ธˆ ๋ƒ‰์žฅ๊ณ ๋ฅผ ์‚ฌ์•ผํ•˜๋Š”๋ฐ ์ด๋ฏธ ์นดํŠธ์— ๋“ค์–ด ์žˆ์Šต๋‹ˆ๋‹ค... ๊ทธ๋ฆฌ๊ณ  ์‚ฌ๋žŒ์ด ๋‹น์‹ ์—๊ฒŒ ๋ญ”๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜๋ฉด ์™„์ „ํžˆ ๋‹ค๋ฅธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค (์ ์–ด๋„ ๋ฌธ์ œ๊ฐ€ ๊ทธ์˜ ํŽธ์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค). ๋ฌธ์ œ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์–ด ์ด๋ฏธ ์ž‘์—… ์ค‘์ด๋ฉฐ ๋Œ€๋žต์ ์ธ ์ˆ˜์ • ์‹œ๊ฐ„์„ ์ ์–ด ๋‘์—ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜๋ฉด ๊ตฌ๋…ํ•˜๊ณ  ์ด๋ฉ”์ผ ์•Œ๋ฆผ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์›ํ•˜๋Š” ๋Œ€๋กœ(๋ƒ‰์žฅ๊ณ  ๊ตฌ์ž…) ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Okerr ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ๊ฐœ์š”

๋ฌธ์ œ์™€ ๋‹ค์šดํƒ€์ž„์€ ๋ˆ„๊ตฌ์—๊ฒŒ๋‚˜ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ์šฉ์ž์™€ ํŒŒํŠธ๋„ˆ๋Š” ์ด์— ๋Œ€ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์— ์žˆ์–ด์„œ ๋ณด๋‹ค ํˆฌ๋ช…ํ•˜๊ณ  ์ฑ…์ž„๊ฐ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ๋” ์‹ ๋ขฐํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— ์ƒํƒœ ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” 10๊ฐœ์˜ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ ๊ฒ€ํ† . ๋‹ค์Œ์€ ์ด๋Ÿฌํ•œ ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€์˜ ๋ชจ์–‘์— ๋Œ€ํ•œ ์˜ˆ์ž…๋‹ˆ๋‹ค. Python ะธ ๋“œ๋กญ ๋ฐ•์Šค. okrr ์ƒํƒœ ํŽ˜์ด์ง€.

์žฅ์•  ์กฐ์น˜

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

๋‚ฎ์€ ์‹œ์Šคํ…œ ์š”๊ตฌ ์‚ฌํ•ญ

okrr ์„œ๋ฒ„์˜ ๊ฒฝ์šฐ RAM์ด 2GB ์ด์ƒ์ธ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์„ผ์„œ์˜ ๊ฒฝ์šฐ 512Mb์ด๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ๋ถ€๋ถ„์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฑฐ์˜ XNUMX์ž…๋‹ˆ๋‹ค. (๋น„๋‹ ๋ด‰ํˆฌ ํ™•์ธ ์—…๋ฐ์ดํŠธ ๋ฌด๊ฒŒ๋Š” 26Kb์ด์ง€๋งŒ Python3 ๋ฐ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” cron ์Šคํฌ๋ฆฝํŠธ์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ์ง€์†์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ชจ๋‹ˆํ„ฐ๋งํ•œ ๊ธฐ๊ณ„ ์ค‘์—๋Š” ์„ผ์„œ(512Mb RAM์„ ๊ฐ–์ถ˜ ๋งค์šฐ ์ €๋ ดํ•œ VPS)์™€ Raspberry Pi๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ๋ถ€๋ถ„์ด ์—†์–ด๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค ์ปฌ์„ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ ๋ณด๋‚ด๊ธฐ! (์•„๋ž˜ ์ฐธ์กฐ)

์ด๊ฒƒ์„ ๊ณ ๋ คํ•˜๋ฉด ์•„๋งˆ๋„ okrr ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋ฌด๋ฃŒ Zabbix๋‚˜ Nagios์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ฌด๋ฃŒ ์˜คํ”ˆ ์†Œ์Šค ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋”๋ผ๋„ ์—ฌ๊ธฐ์— ๋ฆฌ์†Œ์Šค(์„œ๋ฒ„)๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด๊ฒƒ์ด ์ด๋ฏธ ๋ˆ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ผ๋ถ€ ์„œ๋ฒ„ ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ์—ฌ์ „ํžˆ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. okrr์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด ๋ถ€๋ถ„์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ๊ฐ€์žฅ ๋งˆ์Œ์— ๋“œ๋Š” ๊ฒƒ์— ๋”ฐ๋ผ ์ด๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ž์ฒด ์„œ๋ฒ„๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

API ๋ฐ ๋…์  ์†Œํ”„ํŠธ์›จ์–ด๋กœ์˜ ํ†ตํ•ฉ

๋‹จ์ˆœํ•˜๊ณ  ๊ฐœ๋ฐฉ์ ์ธ ์•„ํ‚คํ…์ฒ˜. okrr์—๋Š” ๊ฝค ๊ฐ„๋‹จํ•œ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค API, ์ž‘์—…ํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. 1000๊ฐœ์˜ ์ง€ํ‘œ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? 3~4์ค„๋กœ ๊ตฌ์„ฑ๋œ ํ•˜๋‚˜์˜ ์‰˜ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. 1000๊ฐœ์˜ ์ง€ํ‘œ๋ฅผ ์žฌ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๊ฒƒ์€ ๋˜ํ•œ ๋งค์šฐ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋Ÿฌ์‹œ์•„ ์„ผ์„œ์˜ ๋ชจ๋“  HTTPS ์ธ์ฆ์„œ๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

#!/bin/sh

for indicator in `okerrclient --api-filter sslcert`
do
    echo set location for $indicator
    okerrclient --api-set location=ru retest=1 --name $indicator
done

ํด๋ผ์ด์–ธํŠธ ๋ชจ๋“ˆ์ด ์—†์–ด๋„ ์ปฌ์„ ํ†ตํ•ด์„œ๋งŒ ํ‘œ์‹œ๊ธฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# short and nice (using okerrupdate and config file)
$ okerrupdate MyIndicator OK

# only curl is enough!
$ curl -d 'textid=MyProject&name=MyIndicator&secret=MySecret&status=OK' https://bravo.okerr.com/

ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ง์ ‘ ํ‘œ์‹œ๊ธฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, okrr์ด ์‹คํ–‰ ์ค‘์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋„๋ก ํ•˜ํŠธ๋น„ํŠธ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๊ณ  ์ถฉ๋Œํ•˜๊ฑฐ๋‚˜ ๋ฉˆ์ถ˜ ๊ฒฝ์šฐ ๊ฒฝ๋ณด๋ฅผ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , okerr ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ๋ฐ”๋กœ ๊ทธ ์ผ์„ ํ•ฉ๋‹ˆ๋‹ค. okerr๋Š” ์ž์ฒด์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ฉฐ ๊ฑฐ์˜ ๋ชจ๋“  ๋ชจ๋“ˆ์˜ ๋ฌธ์ œ๊ฐ€ ๊ฐ์ง€๋˜์–ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. (๊ทธ๋ฆฌ๊ณ  ์ด "๊ฑฐ์˜"์˜ ๊ฒฝ์šฐ - ๋‹ค๋ฅธ ์„œ๋ฒ„์—์„œ ๊ต์ฐจ ํ™•์ธ๋ฉ๋‹ˆ๋‹ค)

ํ…”๋ ˆ๊ทธ๋žจ ๋ด‡์˜ ์ฝ”๋“œ(๊ฐ„์ฒด)๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

from okerrupdate import OkerrProject, OkerrExc

op = OkerrProject()
uptimei = op.indicator("{}:telebot_uptime".format(hostname))
...
uptimei.update('OK', 'pid: {} Uptime: {} cmds: {}'.format(
        os.getpid(), dhms(uptime), commands_cnt))

Python ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ‘œ์‹œ๊ธฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์ธ ์—…๋ฐ์ดํŠธ, ๋‹ค๋ฅธ ์–ธ์–ด์˜ ๊ฒฝ์šฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—†์ง€๋งŒ okerrupdate ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ˜ธ์ถœํ•˜๊ฑฐ๋‚˜ okerr ์„œ๋ฒ„์— HTTP ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

okrr์ด ์šฐ๋ฆฌ๋ฅผ ๋•๋Š” ๋ฐฉ๋ฒ•

์˜ค์ปค๋Š” ์šฐ๋ฆฌ์˜ ์‚ถ์„ ๋ณ€ํ™”์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก . ์•„๋งˆ๋„ ๋‹ค๋ฅธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ๋„ ๋™์ผํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ oker๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ์‰ฝ๊ณ  ๊ฐ„๋‹จํ•˜๋ฉฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค(์—†์—ˆ๋˜ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค). ๊ทธ๋Ÿฐ๋ฐ ๋ˆ„๋ฝ๋œ ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋ฉด ๋ฌผ์–ด๋ณด์„ธ์š”. ์ถ”๊ฐ€ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. (์•ฝ์†ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ okrr์ด ์ค‘์†Œ ๊ทœ๋ชจ ํ”„๋กœ์ ํŠธ์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.) ์•„๋‹ˆ๋ฉด ์ง์ ‘ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค. ์‰ฝ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” "์ผ€๋ผ์˜ ๋ชจ๋“  ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋ฐฐ์šด๋‹ค"๋Š” ์›์น™์— ๋”ฐ๋ผ ์ƒํ™œํ–ˆ์Šต๋‹ˆ๋‹ค. okrr์—์„œ ์•Œ์ง€ ๋ชปํ•œ ๋ฌธ์ œ๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋ฐœ์ƒํ•˜๋ฉด okrr์— ๊ฒ€์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. (์ด ๊ฒฝ์šฐ "์šฐ๋ฆฌ"๋Š” ๊ณต๋™ ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ ์‹œ์Šคํ…œ ์‚ฌ์šฉ์ž๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.) ์ฒ˜์Œ์—๋Š” ์ด๋Ÿฐ ์ผ์ด ํ”ํ–ˆ์ง€๋งŒ ์ง€๊ธˆ์€ ๋งค์šฐ ๋“œ๋ฌผ์–ด์กŒ์Šต๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง

okrr์„ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ์„œ๋ฒ„์˜ ๋กœ๊ทธ ํฌ๊ธฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ˆˆ์œผ๋กœ ๋กœ๊ทธ์˜ ๋ชจ๋“  ์ค„์„ ์‹ ์ค‘ํ•˜๊ฒŒ ์ฝ๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ๋‹จ์ˆœํžˆ ์„ฑ์žฅ๋ฅ ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋„ ์ด๋ฏธ ๋งŽ์€ ๊ฒƒ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ์ŠคํŒธ ๋ฉ”์ผ๋ง๊ณผ ๋ฌด์ฐจ๋ณ„ ์•”ํ˜ธ ๊ฒ€์ƒ‰์„ ๋ฐœ๊ฒฌํ–ˆ์œผ๋ฉฐ, ์ผ๋ถ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด "๋ฏธ์นœ" ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ๊ณ„์†ํ•ด์„œ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค(๋กœ๊ทธ์— ๋ช‡ ์ค„์„ ์ถ”๊ฐ€ํ•  ๋•Œ๋งˆ๋‹ค). ).

SSL ์ธ์ฆ์„œ. ์ถœ์‹œ๋˜์ž๋งˆ์ž ๊ฑฐ์˜ ๋ฐ”๋กœ LetsEncrypt ์šฐ๋ฆฌ ๊ณ ๊ฐ์€ ํด๋ผ์ด์–ธํŠธ(์•ฝ ์ฒœ ๊ฐœ)์—๊ฒŒ ๋ฌด๋ฃŒ SSL ์ธ์ฆ์„œ๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ํ–‰์ •์— ์žˆ์–ด์„œ ์ง€์˜ฅ์œผ๋กœ ํŒ๋ช…๋˜์—ˆ์Šต๋‹ˆ๋‹ค! ์‚ฌ์‹ค์€ ์‚ฌ์ดํŠธ๊ฐ€ "๋ผ์ด๋ธŒ" ์ƒํƒœ์ด๊ณ  ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ •๊ธฐ์ ์œผ๋กœ ์‚ฌ์ดํŠธ์— ๋ฌด์–ธ๊ฐ€๋ฅผ ์š”์ฒญํ•˜๋ฉด ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์ดํŠธ๋ฅผ ๋‹ค๋ฅธ DocumentRoot๋กœ ์™„์ „ํžˆ ์ž์œ ๋กญ๊ฒŒ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” virtualhost ๊ตฌ์„ฑ์— ๋ฌด์กฐ๊ฑด ์žฌ์ž‘์„ฑ์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค. ๋‹น์—ฐํžˆ ๊ทธ ํ›„์—๋Š” ์ธ์ฆ์„œ ์ž๋™ ๊ฐฑ์‹ ์ด ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ด์ œ ํŒจํ‚ค์ง€์˜ ๋˜ ๋‹ค๋ฅธ ์œ ์šฉํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ํ†ตํ•ด ์ž๋™์œผ๋กœ ๋ชจ๋“  SSL ํ˜ธ์ŠคํŠธ๊ฐ€ okrr์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. a2conf. ๊ทธ๋ƒฅ ๋ฐœ์‚ฌํ•˜์ž a2okerr.py โ€” ์„œ๋ฒ„์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ƒˆ๋กœ์šด ์‚ฌ์ดํŠธ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด ์ž๋™์œผ๋กœ oker์— ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ๋กœ ๊ฐ‘์ž๊ธฐ ์ธ์ฆ์„œ๊ฐ€ ๊ฐฑ์‹ ๋˜์ง€ ์•Š์œผ๋ฉด ์ธ์ฆ์„œ๊ฐ€ ๋งŒ๋ฃŒ๋˜๊ธฐ XNUMX์ฃผ ์ „์— ์šฐ๋ฆฌ๋Š” ์ด๋ฅผ ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ์™œ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š๋Š”์ง€ ์•Œ์•„๋‚ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. a2certbot.py ๋™์ผํ•œ ํŒจํ‚ค์ง€์—์„œ - ์ด๊ฒƒ์— ๋งŽ์€ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค(๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋ฌธ์ œ๋ฅผ ์ฆ‰์‹œ ํ™•์ธํ•˜๊ณ  ์ž˜ ํ™•์ธ๋œ ๋‚ด์šฉ๊ณผ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๊ฐ€์žฅ ๋†’์€ ์œ„์น˜๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค).

์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๋„๋ฉ”์ธ์˜ ๋งŒ๋ฃŒ ๋‚ ์งœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฉ”์ผ์„ ๋ณด๋‚ด๋Š” ๋ชจ๋“  ๋ฉ”์ผ ์„œ๋ฒ„๋Š” 50๊ฐœ ์ด์ƒ์˜ ๋‹ค์–‘ํ•œ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์™€ ๋น„๊ตํ•˜์—ฌ ๊ฒ€์‚ฌ๋ฉ๋‹ˆ๋‹ค. (๊ทธ๋ฆฌ๊ณ  ๋•Œ๋กœ๋Š” ๊ทธ๊ฒƒ๋“ค์— ๋น ์ง€๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค). ๊ทธ๋Ÿฐ๋ฐ ๊ตฌ๊ธ€ ๋ฉ”์ผ ์„œ๋ฒ„๋„ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์— ์˜ฌ๋ผ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ณ  ๊ณ„์…จ๋‚˜์š”? ์ž์ฒด ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๋Š” ์„œ๋ฒ„์— mail-wr1-f54.google.com์„ ์ถ”๊ฐ€ํ–ˆ๋Š”๋ฐ ์—ฌ์ „ํžˆ SORBS ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์— ์žˆ์Šต๋‹ˆ๋‹ค! (์ด๊ฒƒ์€ "์ŠคํŒจ๋จธ ๋ฐฉ์ง€"์˜ ๊ฐ€์น˜์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค)

๋ฐฑ์—… - ๋‚˜๋Š” ์ด๋ฏธ okrr๋กœ ๋ฐฑ์—…์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์‰ฌ์šด์ง€ ์œ„์—์„œ ์ผ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ์„œ๋ฒ„์˜ ์ตœ์‹  ๋ฐฑ์—…๊ณผ Amazon Glacier์— ์—…๋กœ๋“œํ•˜๋Š” ๋ฐฑ์—…(oker๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ณ„๋„์˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์‚ฌ์šฉ)์„ ๋ชจ๋‘ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๋•Œ๋•Œ๋กœ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์ด ์ง€์ผœ๋ณด๊ณ  ์žˆ์—ˆ๋˜ ๊ฒƒ๋„ ๋‹น์—ฐํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์—์Šค์ปฌ๋ ˆ์ด์…˜ ํ‘œ์‹œ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ์˜ค๋žซ๋™์•ˆ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‚˜ ์ž์‹ ๋„ ์–ด๋–ค ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ ๋•Œ๋•Œ๋กœ ๊ทธ ๋ฌธ์ œ๋ฅผ ์žŠ์–ด๋ฒ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—์Šค์ปฌ๋ ˆ์ด์…˜์€ ์ž์‹ ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ข‹์€ ์•Œ๋ฆผ์ด ๋ฉ๋‹ˆ๋‹ค.

์ „๋ฐ˜์ ์œผ๋กœ ์šฐ๋ฆฌ ์ž‘์—…์˜ ์งˆ์ด ํ•œ ๋‹จ๊ณ„ ๋” ๋†’์•„์กŒ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์šดํƒ€์ž„์ด ๊ฑฐ์˜ ์—†๊ณ (ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ˆˆ์น˜์ฑŒ ์‹œ๊ฐ„๋„ ์—†๊ณ  ๊ทธ๋ƒฅ ์‰ฟ!), ์ž‘์—…๋Ÿ‰์ด ์ค„์–ด๋“ค๊ณ  ์ž‘์—… ํ™˜๊ฒฝ๋„ ์ฐจ๋ถ„ํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ํ…Œ์ดํ”„๋กœ ๊ตฌ๋ฉ์„ ๋ฉ”์šฐ๋Š” ๋น„์ƒ์ž‘์—…์—์„œ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๋ฏธ๋ฆฌ ์˜ˆ์ธกํ•˜๊ณ  ์˜ˆ๋ฐฉํ•  ์‹œ๊ฐ„์ด ์žˆ๋Š” ์ฐจ๋ถ„ํ•˜๊ณ  ์‹ ์ค‘ํ•œ ์ž‘์—…์œผ๋กœ ์ „ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋„ ์ˆ˜์ •ํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฌ์›Œ์กŒ์Šต๋‹ˆ๋‹ค. ์ฒซ์งธ, ๊ณ ๊ฐ์ด ํŒจ๋‹‰์— ๋น ์ง€๊ธฐ ์ „์— ๋ฌธ์ œ์— ๋Œ€ํ•ด ์•Œ์•„๋‚ด๊ณ , ๋‘˜์งธ, ๋ฌธ์ œ๊ฐ€ ์ตœ๊ทผ ์ž‘์—…๊ณผ ๊ด€๋ จ๋œ ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค(ํ•œ ๊ฐ€์ง€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ์ž‘์—…์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค). ๊ทธ๋ž˜์„œ ๋œจ๊ฒ์Šต๋‹ˆ๋‹ค. ํ”์ ์ด ์ฒ˜๋ฆฌํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋˜ ๋‹ค๋ฅธ ์‚ฌ๊ฑด์ด ์žˆ์—ˆ๋Š”๋ฐ..

์ธ๊ธฐ ์žˆ๋Š” Debian 9(Stretch)์—์„œ phpmyadmin๊ณผ ๊ฐ™์€ ์ธ๊ธฐ ํŒจํ‚ค์ง€๊ฐ€ ์—ฌ์ „ํžˆ (์ˆ˜๊ฐœ์›” ๋™์•ˆ!) ์ทจ์•ฝํ•œ ์ƒํƒœ์— ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ๊ณ„์…จ์Šต๋‹ˆ๊นŒ? (CVE-2019-6798). ์ทจ์•ฝ์ ์ด ๋‚˜ํƒ€๋‚ฌ์„ ๋•Œ ์šฐ๋ฆฌ๋Š” ์ด๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์‹ ์†ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ธ์ œ "์•„๋ฆ„๋‹ค์šด" ์†”๋ฃจ์…˜์ด ๋‚˜์˜ฌ์ง€ ์•Œ๊ธฐ ์œ„ํ•ด oker์˜ ๋ณด์•ˆ ์ถ”์  ํŽ˜์ด์ง€ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค(์ฝ˜ํ…์ธ ์˜ SHA1 ํ•ฉ๊ณ„๋ฅผ ํ†ตํ•ด). ํ‘œ์‹œ๊ธฐ๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ๊นœ๋ฐ•์ด๊ณ  ํŽ˜์ด์ง€๊ฐ€ ๋ณ€๊ฒฝ๋˜์—ˆ์ง€๋งŒ ๋ณด์‹œ๋‹ค์‹œํ”ผ 2019๋…„ XNUMX์›” ์ดํ›„์—๋„ ์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Œ์„ ๋‚˜ํƒ€๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๋ ‡๊ฒŒ ์ค‘์š”ํ•œ ํŒจํ‚ค์ง€๊ฐ€ XNUMX๋…„ ๋„˜๊ฒŒ ์—ฌ์ „ํžˆ ์ทจ์•ฝํ•˜๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•„๋Š” ์‚ฌ๋žŒ์ด ์žˆ์„๊นŒ์š”?

๋น„์Šทํ•œ ์ƒํ™ฉ์ด ๋˜ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. SSH์˜ ์ทจ์•ฝ์  ์ดํ›„ ๋ชจ๋“  ์„œ๋ฒ„๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž‘์—…์„ ์„ค์ •ํ•  ๋•Œ ์‹คํ–‰์„ ์ œ์–ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. (๋ถ€ํ•˜๋“ค์€ ์˜คํ•ดํ•˜๊ณ , ์žŠ์–ด๋ฒ„๋ฆฌ๊ณ , ํ˜ผ๋ž€์Šค๋Ÿฌ์›Œํ•˜๊ณ , ์‹ค์ˆ˜ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.) ๋”ฐ๋ผ์„œ ๋จผ์ € ๋ชจ๋“  ์„œ๋ฒ„์˜ okrr์— SSH ๋ฒ„์ „ ํ™•์ธ์„ ์ถ”๊ฐ€ํ–ˆ๊ณ , okrr์„ ํ†ตํ•ด ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ชจ๋“  ์„œ๋ฒ„์— ์ถœ์‹œ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. (ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค! ์ด ์œ ํ˜•์˜ ํ‘œ์‹œ๊ธฐ๋ฅผ ์„ ํƒํ–ˆ๋Š”๋ฐ ์–ด๋–ค ์„œ๋ฒ„์— ์–ด๋–ค ๋ฒ„์ „์ด ์žˆ๋Š”์ง€ ์ฆ‰์‹œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.) ๋ชจ๋“  ์„œ๋ฒ„์—์„œ ์ž‘์—…์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๊ณ  ํ™•์‹ ํ•˜๋ฉด ํ‘œ์‹œ๊ธฐ๋ฅผ ์ œ๊ฑฐํ–ˆ์Šต๋‹ˆ๋‹ค.

ํŠน์ • ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๊ฐ€ ์ €์ ˆ๋กœ ์‚ฌ๋ผ์ง€๋Š” ์ƒํ™ฉ์ด ๋ช‡ ๋ฒˆ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. (์•„๋งˆ๋„ ๋ชจ๋‘์—๊ฒŒ ์นœ์ˆ™ํ• ๊นŒ์š”?) ๋‹น์‹ ์ด ์•Œ์•„์ฐจ๋ฆด ๋•Œ์ฏค์—๋Š”, ํ™•์ธํ•  ๊ฒƒ์ด ์•„๋ฌด๊ฒƒ๋„ ์—†์„ ๋•Œ์ฏค์—๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ด๋ฏธ ์ž˜ ์ž‘๋™ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋˜ ๋˜ ๊นจ์ง‘๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Amazon Marketplace(MWS)์— ์—…๋กœ๋“œํ•œ ์ œํ’ˆ์—์„œ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ์‹œ์ ์—์„œ ๋กœ๋“œ๋œ ์žฌ๊ณ ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ƒํ’ˆ ์ˆ˜๋Ÿ‰ ๋ฐ ๊ฐ€๊ฒฉ์ด ์ž˜๋ชป๋จ). ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ์•Œ์•„ ๋ƒˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๊ฒƒ์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐ”๋กœ ์•Œ์•„๋‚ด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์•„์‰ฝ๊ฒŒ๋„ MWS๋Š” ๋ชจ๋“  Amazon ์„œ๋น„์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์กฐ๊ธˆ ๋Š๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— ํ•ญ์ƒ ๋ ‰์ด ์žˆ์—ˆ์ง€๋งŒ ๊ทธ๋ž˜๋„ ๋ฌธ์ œ์™€ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ค๋Š” ์Šคํฌ๋ฆฝํŠธ ์‚ฌ์ด์˜ ์—ฐ๊ด€์„ฑ์„ ์ตœ์†Œํ•œ ๋Œ€๋žต์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. okrr์— ์—ฐ๊ฒฐํ•˜๊ณ  ์ฆ‰์‹œ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›์•„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.)

์ตœ๊ทผ ์šฐ๋ฆฌ ๊ณ ๊ฐ์ด ์‚ฌ์šฉํ•˜๋Š” ํฌ๊ณ  ๊ฐ’๋น„์‹ผ ์œ ๋Ÿฝ ํ˜ธ์ŠคํŒ… ์—…์ฒด๊ฐ€ ํฅ๋ฏธ๋กœ์šด ์‚ฌ๋ก€๋ฅผ ์ปฌ๋ ‰์…˜์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ‘์ž๊ธฐ ๋ชจ๋“  ์„œ๋ฒ„๊ฐ€ ๋ ˆ์ด๋”์—์„œ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค! ์ฒซ์งธ, ๊ณ ๊ฐ ์ž์‹ ์ด (okerra๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค!) ์ž์‹ ์ด ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ์‚ฌ์ดํŠธ๊ฐ€ ์—ด๋ฆฌ์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•˜๊ณ  ์ด์— ๋Œ€ํ•œ ํ‹ฐ์ผ“์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•œ ์‚ฌ์ดํŠธ๋งŒ ๋‹ค์šด๋œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋ชจ๋“  ์‚ฌ์ดํŠธ๊ฐ€ ๋‹ค์šด๋˜์—ˆ์Šต๋‹ˆ๋‹ค! (๋‚˜ํƒ€์ƒค, ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๋ฒ„๋ ธ์–ด์š”!) ์—ฌ๊ธฐ์—์„œ Okerr๋Š” ์ž์‹ ์—๊ฒŒ ๋ถˆ์ด ์ผœ์ง„ ๋ชจ๋“  ์ง€ํ‘œ๊ฐ€ ํฌํ•จ๋œ ๊ธด ๋ฐœ ๋žฉ์„ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณตํ™ฉ, ๊ณตํ™ฉ, ์šฐ๋ฆฌ๋Š” ์›์„ ๊ทธ๋ฆฌ๋ฉฐ ๋‹ฌ๋ฆฝ๋‹ˆ๋‹ค(๊ทธ ๋ฐ–์— ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?). ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ชจ๋“  ๊ฒƒ์ด ์ƒ์Šนํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—๋Š” ์ •๊ธฐ์ ์ธ ์œ ์ง€ ๊ด€๋ฆฌ(์ˆ˜๋…„์— ํ•œ ๋ฒˆ)๊ฐ€ ์žˆ์—ˆ๋˜ ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์กŒ์œผ๋ฉฐ ๋‹น์—ฐํžˆ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ›์•„์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋“ค์—๊ฒŒ ์–ด๋–ค ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”๋ฐ ๊ทธ๋“ค์€ ์šฐ๋ฆฌ์—๊ฒŒ ๊ฒฝ๊ณ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์Œ, ์‹ฌ์žฅ๋งˆ๋น„๊ฐ€ ๋” ๋งŽ์ด ๋ฐœ์ƒํ•˜๊ณ  ์‹ฌ์žฅ๋งˆ๋น„๊ฐ€ ๋œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋“  ๊ฒƒ์ด ๋ณต์›๋œ ํ›„์—๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค์‹œ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค! ๋‚ด ์†์œผ๋กœ ์–ด๋–ป๊ฒŒ ํ–ˆ์„์ง€ ์ƒ์ƒ์ด ์•ˆ ๊ฐ€๋„ค์š”. Okerr๋Š” ๋ช‡ ๋ถ„ ์•ˆ์— ๋ชจ๋“  ๊ฒƒ์„ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์„œ๋ฒ„๋Š” ์ผ์‹œ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์ง€๋งŒ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€๋Š” ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ธ์ง€๋งŒ ์—ญ์‹œ ๊ทธ๋ž˜์•ผ ํ•˜๋Š” ๋Œ€๋กœ ์ผ์–ด์„ฐ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์†์‹ค ์ค‘์—์„œ ์šฐ๋ฆฌ๋Š” ๋‘ ๊ฐœ์˜ ๋ฐฑ์—…์„ ์žƒ์—ˆ์Šต๋‹ˆ๋‹ค. ์™•๊ด€์— ๋”ฐ๋ฅด๋ฉด ์ด ๋ฐฑ์—…์€ ์ „์ฒด ๋ฐ”๋‚˜๋‚˜๊ฐ€ ์ง„ํ–‰๋˜๋Š” ๋™์•ˆ ์ƒ์„ฑ๋˜๊ณ  ๋กœ๋“œ๋˜์–ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‹ ๊ฒฝ ์“ฐ์ง€๋„ ์•Š์•˜๊ณ  ํ•˜๋ฃจ ๋งŒ์— ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ด๊ณ  ๋ฐฑ์—…์ด ๋‚˜ํƒ€๋‚ฌ๋‹ค๋Š” ๊ฒฝ๊ณ ๊ฐ€ ๋„์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด ์˜ˆ๋ฅผ ์ •๋ง ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด okrr์€ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์ „์— ์ƒ๊ฐ์กฐ์ฐจ ํ•˜์ง€ ์•Š์•˜๋˜ ์ƒํ™ฉ์—์„œ ๋งค์šฐ ์œ ์šฉํ•˜๋‹ค๋Š” ๊ฒƒ์ด ๋ฐํ˜€์กŒ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์ด ๋ชจ๋‹ˆํ„ฐ๋ง์˜ ๋ชฉ์ ์ž…๋‹ˆ๋‹ค. ์ฆ‰ ์˜ˆ์ธกํ•  ์ˆ˜ ์—†๋Š” ๊ฒƒ์— ์ €ํ•ญํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Okerr ์„ผ์„œ์˜ ๊ฒฝ์šฐ ๊ฐ€์žฅ ์ €๋ ดํ•œ ํ˜ธ์ŠคํŒ…์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค(ํ’ˆ์งˆ๊ณผ ์‹ ๋ขฐ์„ฑ์ด ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์„œ๋กœ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค). ๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์ตœ๊ทผ ๋งค์šฐ ์ข‹์€ ํ˜ธ์ŠคํŒ…๊ณผ ๋งค์šฐ ์ €๋ ดํ•œ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฒค์น˜๋งˆํฌ๋Š” ์ •๋ง ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ... ๋•Œ๋กœ๋Š” ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ ๋‚˜๊ฐ€๋Š” ์—ฐ๊ฒฐ์ด ๋‹ค๋ฅธ(์ด์›ƒ) IP์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์ . Client_ip ๋ชจ๋“ˆ https://diagnostic.opendns.com/myip ์ž˜๋ชป๋œ IP๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ‘œ์‹œ๊ธฐ์˜ ์„œ๋ฒ„ ๋กœ๊ทธ๋ฅผ ๋ณด๋ฉด ์—…๋ฐ์ดํŠธ๋„ ์ด ์ธ์ ‘ IP์—์„œ ๋‚˜์˜จ ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์ง€์›์„ ๋‹ค๋ฃจ๊ฒ ์Šต๋‹ˆ๋‹ค. ํ‰์‹œ์— ์ด๊ฒƒ์„ ์•Œ์•„ ์ฐจ๋ ค์„œ ๋‹คํ–‰์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์˜ˆ๋ฅผ ๋“ค์–ด IP ํ™”์ดํŠธ๋ฆฌ์ŠคํŠธ์— ๋”ฐ๋ผ ์•ก์„ธ์Šค๊ฐ€ ๋“ฑ๋ก๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ๋ฐœ์ƒํ•˜๋ฉฐ ์„œ๋ฒ„๊ฐ€ ๋•Œ๋•Œ๋กœ ์ด๋ ‡๊ฒŒ ์งง์€ ์‹œ๊ฐ„ ๋™์•ˆ ๊นœ๋ฐ•์ด๋Š” ๊ฒฝ์šฐ ๋งค์šฐ ์˜ค๋žซ๋™์•ˆ์ด ๋ฌธ์ œ๋ฅผ ํฌ์ฐฉํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธ€์Ž„์š”, ํ•œ ๊ฐ€์ง€ ๋” โ€“ VPS ํ˜ธ์ŠคํŒ…์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ํ•ญ์ƒ ์ €๋ ดํ•œ ํ˜ธ์ŠคํŒ…(hetzner, ovh, scaleway)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฒค์น˜๋งˆํฌ์™€ ์•ˆ์ •์„ฑ ์ธก๋ฉด์—์„œ ์ •๋ง ๋งˆ์Œ์— ๋“ญ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์— ํ›จ์”ฌ ๋” ๋น„์‹ผ Amazon EC2๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ okrr ๋•๋ถ„์— ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ ์ž์‹ ์˜ ์˜๊ฒฌ์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‘˜ ๋‹ค ๋„˜์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์˜ค๋žœ ๊ด€์ฐฐ ๊ธฐ๊ฐ„ ๋™์•ˆ hetzner์™€ ๊ฐ™์€ ์ €๋ ดํ•œ ํ˜ธ์ŠคํŒ…์ด EC2๋ณด๋‹ค ๋ˆˆ์— ๋„๊ฒŒ ๋œ ์•ˆ์ •์ ์ธ ๊ฒƒ์œผ๋กœ ํŒ๋ช…๋˜์—ˆ๋‹ค๊ณ ๋Š” ๋งํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋‹ค๋ฅธ Amazon ๊ธฐ๋Šฅ์— ๋ฌถ์—ฌ ์žˆ์ง€ ์•Š๋‹ค๋ฉด ์™œ ๋” ๋งŽ์€ ๋น„์šฉ์„ ์ง€๋ถˆํ•ฉ๋‹ˆ๊นŒ? ๐Ÿ™‚

๋‹ค์Œ์€ ๋ญ์ง€?

์ด ๋‹จ๊ณ„์—์„œ ์•„์ง Okerr๋กœ๋ถ€ํ„ฐ ๊ฒ์„ ๋จน์ง€ ์•Š์•˜๋‹ค๋ฉด ์‹œ๋„ํ•ด ๋ณด์„ธ์š”! ํ•ด๋‹น ๋งํฌ๋กœ ๋ฐ”๋กœ ์ด๋™ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค oker ๋ฐ๋ชจ ๊ณ„์ • (์ง€๊ธˆ ํด๋ฆญํ•˜์„ธ์š”!) ํ•˜์ง€๋งŒ ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ํ•˜๋‚˜์˜ ๋ฐ๋ชจ ๊ณ„์ •๋งŒ ์žˆ์œผ๋ฏ€๋กœ ๊ท€ํ•˜๊ฐ€ ๋ฌด์–ธ๊ฐ€๋ฅผ ํ•˜๋ฉด ๋™์ผํ•œ ๊ณ„์ •์— ์žˆ๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ๋™์‹œ์— ๊ท€ํ•˜๋ฅผ ๋ฐฉํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ๋ช…์‹ฌํ•˜์‹ญ์‹œ์˜ค. ๋˜๋Š” (๋” ๋‚˜์€) ๋งํฌ๋ฅผ ํ†ตํ•ด ๋“ฑ๋กํ•˜์‹ญ์‹œ์˜ค. ์˜คํ”„์‚ฌ์ดํŠธ ์˜ค์ผ€๋ฅด - SMS ์—†์ด ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ ์ด๋ฉ”์ผ์„ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด mailinator์™€ ๊ฐ™์€ ์ผํšŒ์šฉ ์ด๋ฉ”์ผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. getnada.com). ์ด๋Ÿฌํ•œ ๊ณ„์ •์€ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์‚ญ์ œ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ํ…Œ์ŠคํŠธ์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋“ฑ๋ก ํ›„์—๋Š” ๊ต์œก์„ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค(๋ณ„๋กœ ์–ด๋ ต์ง€ ์•Š์€ ๋ช‡ ๊ฐ€์ง€ ๊ต์œก ์ž‘์—… ์ˆ˜ํ–‰). ์ดˆ๊ธฐ ์ œํ•œ์€ ๋งค์šฐ ์ž‘์ง€๋งŒ ๊ต์œก์ด๋‚˜ ๋‹จ์ผ ์„œ๋ฒ„์—๋Š” ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ํ›ˆ๋ จ์„ ์™„๋ฃŒํ•˜๋ฉด ํ•œ๋„(์˜ˆ: ์ตœ๋Œ€ ์ง€ํ‘œ ์ˆ˜)๊ฐ€ ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ์—์„œ - ์šฐ์„  ์œ„ํ‚ค ์„œ๋ฒ„ ์ธก๊ณผ ํด๋ผ์ด์–ธํŠธ(์˜ค์ผ€๋ฅด์—…๋ฐ์ดํŠธ ์œ„ํ‚ค). ํ•˜์ง€๋งŒ ๋ถˆ๋ถ„๋ช…ํ•œ ์ ์ด ์žˆ์œผ๋ฉด okrr.com ์ง€์›ํŒ€์— ํŽธ์ง€๋ฅผ ๋ณด๋‚ด๊ฑฐ๋‚˜ ํ‹ฐ์ผ“์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”. ๋ชจ๋“  ๊ฒƒ์„ ์‹ ์†ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•˜๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์‹ฌ๊ฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๋Ÿฌํ•œ ์ฆ๊ฐ€๋œ ์ œํ•œ์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ง€์›ํŒ€์— ๋ฌธ์˜ํ•˜์‹œ๋ฉด (๋ฌด๋ฃŒ๋กœ) ๋Š˜๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ท€ํ•˜์˜ ์„œ๋ฒ„์— okrr ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์—ฌ๊ธฐ okrr-dev ์ €์žฅ์†Œ. ๊นจ๋—ํ•œ ๊ฐ€์ƒ ๋จธ์‹ ์— ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์„ค์น˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํžˆ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋จธ์‹ ์—์„œ๋Š” ์ œํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค :-). ๋‹ค์‹œ ํ•œ ๋ฒˆ ๋ง์”€๋“œ๋ฆฌ์ง€๋งŒ, ๋ฌด์Šจ ์ผ์ด ์ƒ๊ธฐ๋ฉด ํ•ญ์ƒ ๋„์™€๋“œ๋ฆฌ๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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

์ถœ์ฒ˜ : habr.com