์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋Š” ๋Œ€๊ฐœ ์ง€์—ญ์ ์ด๋ฉฐ ํด๋ผ์ด์–ธํŠธ๋Š” ๋Œ€๊ฐœ ์‚ฌ์—ญ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ณต๊ณต ๋ถ€๋ฌธ ์™ธ์—๋„ ๋ฏผ๊ฐ„ ์กฐ์ง์—์„œ๋„ ์šฐ๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

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

์ œ ์ด๋ฆ„์€ Ruslan์ด๊ณ  BARS ๊ทธ๋ฃน์˜ ์ •๋ณด ์‹œ์Šคํ…œ์„ ์ง€์›ํ•˜๋ฉฐ ํญ๋ ฅ์ ์ธ ์—ฐ์‡„ DBA๋ฅผ ์œ„ํ•œ ํ‚ฌ๋Ÿฌ๋ด‡ ๊ฐœ๋ฐœ. ์ด ๊ฒŒ์‹œ๋ฌผ์€ ๋งˆ์Œ์ด ์•ฝํ•œ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋งŽ์€ ํŽธ์ง€์™€ ๊ทธ๋ฆผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

/awr

์ผ๋ถ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Oracle DBMS์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. PostgreSQL DBMS์—๋„ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ผํด์€ DBMS์˜ ๋กœ๋“œ์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ๊ธฐ์กด ๋ฌธ์ œ๋ฅผ ๊ฐ•์กฐํ•˜๊ณ  ์ œ๊ฑฐ๋ฅผ ์œ„ํ•œ ๊ถŒ์žฅ ์‚ฌํ•ญ์„ ์ œ์‹œํ•˜๋Š” AWR(์ž๋™ ์ž‘์—… ๋กœ๋“œ ์ €์žฅ์†Œ)์ด๋ผ๋Š” ๋†€๋ผ์šด ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋Š ์‹œ์ (์ฆ‰, ๊ณ ํ†ต์˜ ์ˆœ๊ฐ„)์— ๊ฐœ๋ฐœ์ž๋“ค์€ ๋Š์ž„์—†์ด ์ˆ˜์ง‘์„ ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๋ถ„์„์„ ์œ„ํ•œ AWR ๋ณด๊ณ ์„œ. ์šฐ๋ฆฌ๋Š” ์ •์งํ•˜๊ฒŒ DBMS ์„œ๋ฒ„์— ๊ฐ€์„œ ๋ณด๊ณ ์„œ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์šฐ๋ฆฌ์—๊ฒŒ ๊ฐ€์ ธ๊ฐ€ ๋ถ„์„์„ ์œ„ํ•ด ํ”„๋กœ๋•์…˜์œผ๋กœ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. 5๋ฒˆ๋ถ€ํ„ฐ๋Š” ์งœ์ฆ๋‚˜๊ณ ... 10๋ฒˆ๋ถ€ํ„ฐ๋Š” ์งœ์ฆ๋‚˜๊ณ ...

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

๊ทธ๋ฆฌ๊ณ  ๋‚˜๋Š” ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. "๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ๊ด€๋ฆฌ์ž๋Š” ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค...". ๊ฒฐ๊ตญ ๋ณด๊ณ ์„œ๋ฅผ ์ˆ˜์ง‘ํ•œ๋‹ค๋Š” ๊ฒƒ์€ SQL ์Šคํฌ๋ฆฝํŠธ @$ORACLE_HOME/rdbms/admin/awrrpt.sql์„ ์‹คํ–‰ํ•˜๊ณ  ์„œ๋ฒ„์—์„œ ๋ณด๊ณ ์„œ๋ฅผ ์‚ฌ์šฉ์ž ์œ„์น˜๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค... ์•„ ์˜ˆ, ํ”„๋กœ๋•์…˜์šฉ ๊ฐœ๋ฐœ์€ ํ—ˆ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ , ํ…Œ์ŠคํŠธ ๊ธฐ๋ฐ˜์˜ ๊ธฐ์‚ฌ์—์„œ ํ•จ์ˆ˜๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ธฐ์ ์„ ์ผ์œผ์ผฐ์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ๊ฐ€ ์ปดํŒŒ์ผ๋˜์–ด ๋กœ์ปฌ์— ์ €์žฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AWR ๋ณด๊ณ ์„œ๊ฐ€ ์ž์ฃผ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ณ  ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

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

๊ทธ๋ž˜์„œ. ๊ฐœ๋ฐœ์ž๋Š” ํ…”๋ ˆ๊ทธ๋žจ์œผ๋กœ ์šฐ๋ฆฌ์—๊ฒŒ ํŽธ์ง€๋ฅผ ์“ฐ๊ณ , ์šฐ๋ฆฌ๋Š” ํ…”๋ ˆ๊ทธ๋žจ์œผ๋กœ ๊ทธ๋“ค์—๊ฒŒ ๋ณด๊ณ ์„œ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค... ๊ทธ๋“ค์ด ์šฐ๋ฆฌ์—๊ฒŒ ํŽธ์ง€๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ๋ด‡์—๊ฒŒ ํŽธ์ง€๋ฅผ ์“ด๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ๊ฒฐ๊ตญ ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๋” ์ข‹์„ ๊ฒƒ์ด๋ฉฐ ๋ณด๊ณ ์„œ๋Š” ๋” ๋นจ๋ฆฌ ์ˆ˜์‹ ๋  ๊ฒƒ์ด๋ฉฐ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์šฐ๋ฆฌ๋ฅผ ์šฐํšŒํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋‚ด ๋ด‡์˜ ์ฒซ ๋ฒˆ์งธ ์ธ๊ธฐ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๊ฐ€ ํƒ„์ƒํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๊ตฌํ˜„์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ตœ์„ ์„ ๋‹คํ•ด PHP๋กœ ๊ทธ ์ผ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. (์šฐ๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž์ฒด๋Š” PHP์— ์žˆ๊ณ , ์ €๋Š” Python๋ณด๋‹ค PHP์— ๋” ์ •ํ†ตํ•ฉ๋‹ˆ๋‹ค.) ์ €๋Š” ์ฝ”๋”ฉ์„ ์ž˜ ๋ชปํ•˜๋Š” ํŽธ์ด๋ผ ์ฝ”๋“œ๋Š” ๋ณด์—ฌ๋“œ๋ฆฌ์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค :)

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

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์„ ๋ฐ›์•˜์„ ๋•Œ /awr N์—ฌ๊ธฐ์„œ N์€ ๋ณด๊ณ ์„œ๊ฐ€ ํ•„์š”ํ•œ ์ „์ฒด ์‹œ๊ฐ„(๊ธฐ๋ณธ์ ์œผ๋กœ 1์‹œ๊ฐ„)์ž…๋‹ˆ๋‹ค. ์ผ์ฃผ์ผ ๋™์•ˆ์ด๋ผ๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๋ด‡์€ ์ฆ‰์‹œ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๊ณ  ๋ณด๊ณ ์„œ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ์›น ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•˜๋ฉด ์ฆ‰์‹œ(๊ฑฐ์˜ ๋ฐ”๋กœ ๊ฑฐ๊ธฐ) ๊ผญ ํ•„์š”ํ•œ ๋ณด๊ณ ์„œ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋งํฌ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด AWR ๋ณด๊ณ ์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ƒ๋Œ€๋กœ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ด๋Ÿฌํ•œ ๋ณด๊ณ ์„œ ์ƒ์„ฑ์— ๋Œ€์ฒ˜ํ–ˆ๊ณ  ์ผ๋ถ€๋Š” ์šฐ๋ฆฌ์—๊ฒŒ ๊ฐ์‚ฌ๋ฅผ ํ‘œํ•˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

๋‚˜์ค‘์— CIT์˜ ๋™๋ฃŒ๋“ค๋„ ์šฐ๋ฆฌ๊ฐ€ ๋ณด๊ณ ์„œ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ฒŒ ๋˜์—ˆ๊ณ  ๊ทธ๋ ‡๊ฒŒ ํ•˜๊ณ  ์‹ถ์–ดํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ฑ„ํŒ…์— ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์•˜๊ณ  ์ผ์ •๊ณผ ์š”์ฒญ์— ๋”ฐ๋ผ ๋ณด๊ณ ์„œ ์ƒ์„ฑ๊ณผ ๋ณ„๋„์˜ ์ฑ„ํŒ…์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

/pgBadger

PostgreSQL๊ณผ ํ•จ๊ป˜ PHP๋กœ ๋œ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ทธ๋ฃน ์ฑ„ํŒ…์—์„œ ๋™์ผํ•œ ์›์น™์„ ์‚ฌ์šฉํ•˜์—ฌ ๋„์›€์ด ํ•„์š”ํ•œ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ pgBadger ๋ณด๊ณ ์„œ ๋ชจ์Œ์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์‚ฌ์šฉํ•˜๋‹ค๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์€ ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

/์˜๋ฌด

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

/tnls

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

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

์›ํ•˜๋Š” ๋ฉ”๋‰ด ํ•ญ๋ชฉ์— "๋“ค์–ด๊ฐ€์„œ" ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•˜๊ณ  ์ž ์‹œ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ๋ชจ๋‘๊ฐ€ ํ–‰๋ณตํ•˜๊ณ  ๋งŒ์กฑํ•ดํ•ฉ๋‹ˆ๋‹ค...

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

/ecp_to_pem

์ถ”๊ฐ€ ํ†ต๊ณ„์— ๋”ฐ๋ฅด๋ฉด ์ „ํ™˜์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. Pem ํ˜•์‹์˜ EDS Crypto Pro(๋ฒ ์ด์Šค) ๋‹ค์–‘ํ•œ ํ†ตํ•ฉ์„ ์œ„ํ•ด ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ž‘์—…: ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ฐ€์ ธ์™€ P12FromGostCSP ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์„ค์น˜๋œ(์œ ๋ฃŒ) Windows ์ปดํ“จํ„ฐ์— ๋ณต์‚ฌํ•˜๊ณ  pfx๋กœ ๋ณ€ํ™˜ํ•œ ๋‹ค์Œ OpenSSL(GOST ์•”ํ˜ธํ™” ์ง€์›)์„ ์‚ฌ์šฉํ•˜์—ฌ pfx๋ฅผ pem์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋‹ค์ง€ ํŽธ๋ฆฌํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์†๊ฐ€๋ฝ์œผ๋กœ ํŠ•๊ฒจ์„œ ์‚ฌ์šฉํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค.

Google์ด ๋‹ค์‹œ ๊ตฌ์กฐ์— ๋‚˜์„ฐ์Šต๋‹ˆ๋‹ค. ์„ค๋ฆฝํ•˜๋‹ค ์–ด๋–ค ์ข…๋ฅ˜์˜ ์‚ฌ๋žŒ์˜ ์œ ์šฉ์„ฑ. README์— ์ ํžŒ ๋Œ€๋กœ ์กฐ๋ฆฝํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋ด‡์—๊ฒŒ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์ž‘์—… ๋ฐฉ๋ฒ•์„ ๊ฐ€๋ฅด์ณค๊ณ  ๊ฑฐ์˜ ์ฆ‰๊ฐ์ ์ธ ๋ณ€ํ™˜์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

์ตœ์ข… ๊ตฌํ˜„ ์‹œ์ ์— ์ƒˆ๋กœ์šด ์•”ํ˜ธํ™” ํ˜•์‹์ธ gost-2012๋กœ ์ „ํ™˜ํ•˜๋ผ๋Š” ๋ช…๋ น์ด ๋‚ด๋ ค์กŒ์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ธฐ์–ตํ•˜๋Š” ํ•œ ๊ทธ ๋‹น์‹œ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ด์ „ GOST (2001)์—์„œ๋งŒ ์ž‘๋™ํ–ˆ์œผ๋ฉฐ ์•„๋งˆ๋„ ๋‹ค๋ฅธ ์นœ์ ˆํ•œ ์‚ฌ๋žŒ์˜ ๋˜ ๋‹ค๋ฅธ ์œ ์‚ฌํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์˜€์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ •ํ™•ํžˆ ๊ธฐ์–ต์ด ๋‚˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์ƒˆ๋กœ์šด GOST๋กœ ์ „ํ™˜ํ•œ ํ›„ ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ๋ด‡ ๊ธฐ๋Šฅ์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋กœ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

Dockerfile(ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•ด):

FROM ubuntu:16.04                                                                                                                                                                        
RUN apt update && apt -y install git sudo wget unzip gcc g++ make &&                        
   cd /srv/ && git clone https://github.com/kov-serg/get-cpcert.git &&                     
   cd get-cpcert && chmod +x *.sh && ./prepare.sh && ./build.sh &&                         
   mkdir -p /srv/{in,out} &&                                                               
   echo '#!/bin/bash' > /srv/getpem.sh &&                                                  
   echo 'cd /srv/get-cpcert' >> /srv/getpem.sh &&                                          
   echo './get-cpcert /srv/in/$CONT.000 $PASS > /srv/out/$CONT.pem' >> /srv/getpem.sh &&   
   chmod +x /srv/getpem.sh                                                                  ENTRYPOINT /srv/getpem.sh

๋ณ€ํ™˜ํ•˜๋ ค๋ฉด ์›๋ณธ ์ปจํ…Œ์ด๋„ˆ(xxx.000๊ณผ ๊ฐ™์€ ๋””๋ ‰ํ„ฐ๋ฆฌ)๋ฅผ /srv/in ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋ฐฐ์น˜ํ•˜๊ณ  ์™„์„ฑ๋œ pem์„ /srv/out์œผ๋กœ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ณ€ํ™˜ํ•˜๋‹ค:

 docker run -t -i -e CONT='<ะธะผั ะดะธั€ะตะบั‚ะพั€ะธะธ ั ะบะพะฝั‚ะตะนะฝะตั€ะพะผ(ะฑะตะท ".000")>' -e PASS='<ะฟะฐั€ะพะปัŒ ะดะปั ะบะพะฝั‚ะตะนะฝะตั€ะฐ>' -v /srv/in:/srv/in -v /srv/out:/srv/out --name ecptopem <ะฐะดั€ะตั ะฝะฐัˆะตะณะพ ั€ะตะฟะพะทะธั‚ะพั€ะธั>/med/ecptopem:latest 

/emstop ๋ฐ /emstart

์–ด๋Š ๋‚ , DBMS ๊ด€๋ฆฌ ๋ฐ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ํ’๋ถ€ํ•œ ์•„์ฃผ ๋ฉ‹์ง„ Oracle DBA๊ฐ€ ์šฐ๋ฆฌ ํšŒ์‚ฌ์— ์ž…์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฆ‰์‹œ ssh๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ DBMS ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋””์„œ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฑฐ๋‚˜, ์•ก์„ธ์Šค ๋ฐฉ๋ฒ•์ด ๋ช…ํ™•ํ•˜๊ฒŒ ์„ค๋ช…๋˜์ง€ ์•Š์•˜๊ฑฐ๋‚˜, ํ•„์š”ํ•œ ๋‚ด์šฉ์„ ์ž์‹ ์—๊ฒŒ ์ „๋‹ฌํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ €ํฌ๋Š” ๊ธฐ๊บผ์ด ๋„์™€๋“œ๋ฆฌ๊ณ  ๊ทธ์—๊ฒŒ ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ฃผ๊ณ  Enterprise Manager๋ฅผ ์ „๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ssh์—์„œ๋Š” ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‚ด ๋™๋ฃŒ ์ค‘ ํ•œ ๋ช…์ด ์ˆœ์ข… DBA๋ผ๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. :) ์„œ๋ฒ„์—์„œ ๋ญ”๊ฐ€๋ฅผ ์กฐ์ •ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ ์ง์ ‘ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

EM์€ ๊ฐ€๋” ๊ณผ๋ถ€ํ•˜๋กœ ์ธํ•ด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ ค๋ฉด... SSH๋กœ ์—ฐ๊ฒฐํ•˜๊ณ  ํ„ฐ๋ฏธ๋„์„ ํ†ตํ•ด ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. โ€œ๊ด€๋ฆฌ์ž๋“ค์€ ์ด ์ผ์„ ์ž˜ํ•ฉ๋‹ˆ๋‹ค.โ€๋ผ๊ณ  ์ƒˆ๋กœ์šด ๋™๋ฃŒ๊ฐ€ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. DBMS์— ๋Œ€ํ•œ ๊ณผ๋„ํ•œ ๋กœ๋“œ๋Š” ๋“œ๋ฌธ ์ผ์ด ์•„๋‹ˆ๋ฉฐ EM์„ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๋ผ๋Š” ์š”์ฒญ๋„ ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋™์ผํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ธด์žฅ, ์งœ์ฆ, ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ… ์ฐพ๊ธฐ. ๋”ฐ๋ผ์„œ ๋™์ผํ•œ ๊ทธ๋ฃน ์ฑ„ํŒ…์—์„œ ๋‹ค์Œ ๋ช…๋ น์ด ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. /emstop ๋ฐ /emstart.

์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

/์ฃฝ์ž„

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๊ฒฝ์Ÿ์ด ์‹ฌํ•˜๊ณ  ๊ฐ€๋” ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋น ๋ฅด๊ฒŒ ์–ธ๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ•์€ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค... ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด SSH๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐํ•˜๊ณ  kill -9... ๋ด‡์ด ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

Alexey๋Š” ํŒ€์— ๊ฐ์‚ฌํ•˜๊ณ  ์• ์ • ์–ด๋ฆฐ ์ด๋ฆ„์„ ๋ถ€์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. "ํ‚ฌ์–„์นด" ์•„๋‹ˆ๋ฉด ์ด.
์–ด๋Š ๋‚  Alexey๊ฐ€ ๊ฐ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ๋งค๋ฒˆ /kill xxx๋ฅผ ์ž…๋ ฅํ•˜๋ฉด์„œ ์–ด๋–ป๊ฒŒ ๋…ธ๋ ฅํ•˜๊ณ  ๊ณ ํ†ต์„ ๊ฒช๋Š”์ง€ ๊ด€์ฐฐํ•œ ํ›„ ์ด์— "๋‹ค์ค‘ ๋ฐฐ๋Ÿด"์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒŒ ๋‚ซ๋‹ค! ๋ชจ๋“  ๊ฒƒ์ด ๋‹น์‹ ์„์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค, Alexey, ๊ทธ๋ƒฅ ์ผํ•˜์„ธ์š”!

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

/๊ฒฝ๊ณ ๋กœ๊ทธ

๊ธ€์Ž„์š”, ๋งŒ์•ฝ์„ ๋Œ€๋น„ํ•ด์„œ ์ €๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์„ ๋‚ด๋ ธ์Šต๋‹ˆ๋‹ค.
/alertlog <์ค„ ์ˆ˜> โ€” ์ง€์ •๋œ ์ˆ˜์˜ ๊ฒฝ๊ณ  ๋กœ๊ทธ ์ค„์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
๋ด‡์€ ๊ฒฝ๊ณ  ๋กœ๊ทธ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์ด๋ฅผ pyste๋ผ๊ณ  ํ•˜๋Š” Pastebin๊ณผ ๊ฐ™์€ ์„œ๋น„์Šค๋กœ ๋ณด๋‚ด๊ณ  ๋ถ™์—ฌ๋„ฃ๊ธฐ์— ๋Œ€ํ•œ ๋งํฌ๋ฅผ ์š”์ฒญ ์ฑ„ํŒ…์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

/์ฒดํฌ ๋ฌด๋Šฌ

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

์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

/checks ๋ช…๋ น์€ ๊ฐ„๋‹จํ•˜๊ณ  ๋ช…ํ™•ํ•œ ๋ฉ”๋‰ด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ์ง€์นจ ์—†์ด ์ด ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค!

์›ํ•˜๋Š” ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜๋ฉด ๋ฉ”๋‰ด ๋Œ€์‹  ํ…Œ์ŠคํŠธ ์‹œ์ž‘ ์•Œ๋ฆผ์ด ํ‘œ์‹œ๋˜๋ฏ€๋กœ ์กฐ๊ธ‰ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ํ…Œ์ŠคํŠธ๋ฅผ 100500๋ฒˆ ์‹คํ–‰ํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

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

ํ…Œ์ŠคํŠธ๋ฅผ ์™„๋ฃŒํ•˜๊ณ  ๋กœ๊ทธ๋ฅผ ๋ฐ›์€ ํ›„ ๋ด‡์€ ์ด๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  "์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š”" ํ˜•์‹์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘

๊ธฐ๋Šฅ์ด ์ถœ์‹œ๋˜์—ˆ์œผ๋ฉฐ ๊ด€์‹ฌ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์ž๋Š” ํ•ด๋‹น ์ง€์—ญ์— ๋Œ€ํ•œ ๊ธฐ๋Šฅ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•œ ๋™์ •์‹ฌ ๋งŽ์€ ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ์ž๋Š” ์ด๋ ‡๊ฒŒ ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. โ€œ๋‚˜๋Š” ์‹œ๊ฐ„ ํ†ต๊ณ„๋ฅผ ๊ฐ–๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค!โ€ CIT์˜ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ Zabbix์—์„œ ์ด ๋ชจ๋“  ๊ฒƒ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ์ด ํŽธ๋ฆฌํ•  ๊ฒƒ์ด๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž๋น…์Šค, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ ์ž๋น…์Šค...

์†”๋ฃจ์…˜์„ ๋ณต์ œํ•ด์•ผ ํ•  ํ•„์š”์„ฑ์— ๋Œ€๋น„ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ... ์•„์ด๋””์–ด๋ฅผ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ์— ๋‹ด์•˜์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ์—์„œ jmeter๋Š” ์ผ์ •์— ๋”ฐ๋ผ(10๋ถ„๋งˆ๋‹ค ํ•œ ๋ฒˆ์”ฉ) ์‹คํ–‰๋˜๊ณ  ๋กœ๊ทธ๋ฅผ ํŠน์ • ์œ„์น˜์— ๋ฐฐ์น˜ํ•˜๋ฉฐ PHP๋Š” ์ด๋ฅผ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์›น ํŽ˜์ด์ง€ ํ˜•์‹์œผ๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. web.page.get ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Zabbix๋Š” ์ด ํŽ˜์ด์ง€๋ฅผ ์ˆ˜์‹ ํ•˜๊ณ  ์ •๊ธฐ์ ์œผ๋กœ ํŠน์ • ์ข…์† ์š”์†Œ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ทธ๋ž˜ํ”„๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์‹œ๊ฐ„, ์‹ ๊ฒฝ, ์ธ๋ ฅ์„ ์ ˆ์•ฝํ•ฉ๋‹ˆ๋‹ค.

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

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ

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

๊ณ„ํš

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

ํ•˜์ง€๋งŒ ์•Œ๋ ‰์„ธ์ด๋Š” ์ž์‹ ์˜ ์†Œ์›์„ ๋“ค์–ด์ฃผ๋Š” ๊ฒƒ์„ ์žŠ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ตœ์‹  ๊ฒƒ๋ถ€ํ„ฐ:
/kill_sql SQL_ID โ€” ์ด SQL_ID ์š”์ฒญ์œผ๋กœ ๋ชจ๋“  ์„ธ์…˜์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
/kill_block - ๋ฃจํŠธ ์ฐจ๋‹จ ์„ธ์…˜์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
/show_em โ€” EM ์„ฑ๋Šฅ ์‚ฌ์ง„ ํ‘œ์‹œ
๊ทธ๋Š” ๊ตํ™œํ•œ ์‚ฌ๋žŒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ „ํ™”๊ธฐ์—์„œ DBA๋ฅผ ๋ฐ”๋Š์งˆํ•˜๊ณ  ์‹ถ์–ดํ•ฉ๋‹ˆ๋‹ค =)

์ด๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ์กฐ๊ตญ์˜ ์ด์ต์„ ์œ„ํ•ด ์ผํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค!

์ผ์ƒ์ ์ด๊ณ  ํฅ๋ฏธ๋กญ์ง€ ์•Š์€ ์ž‘์—…์„ ์–ด๋–ป๊ฒŒ ์ œ๊ฑฐํ•ฉ๋‹ˆ๊นŒ?

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

์ถœ์ฒ˜ : habr.com

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